Commit graph

201 commits

Author SHA1 Message Date
AzaezelX ff4b025c2c adds alphatest shadows for translucent objects
leverage the fact shadergen spits out a modified material per pass, in this instance the shadow pass, to basically flip the translucent aspect off if you've got both translucency and alphatesting flipped on.
2020-03-01 10:47:25 -06:00
Areloch 9c381caea2 Added initial implement of Image Types for GFX resource management
Added logic to intercept TSStatic setting shape to try and utilize a shapeAsset if it can find a matching loose file
Added lookup logic for getting any textures inside collada files to streamline asset importing logic
Fixed modal behavior for Import config and import window
Initial implementation of loose file/legacy file importing
Adjusted Asset Browser and Asset Import refreshing behavior to queue to improve performance by avoiding multiple refreshes as well as potential infinite loops
Fixed volume visibility behavior
Fixed physics world viz toggle
2020-02-17 00:32:50 -06:00
Areloch b1e3706dd6 Removed unneeded deletion of asset definition in various asset deconstructors - was causing crash on shutdown when a new asset was made
Added ability to check if popup menu is currently Visible
Removed unwanted path debug/testing code from tsShapeConstructor
Made a number of default postFX's names more consistent and set up asset definitions for them. Began adding hooks to PostFX editor as well
Refactored Asset Import window with new layout, revamped import behavior to work with new layout concept and easier editing of import 'session'
Updated Asset Browser to utilize a common 'DirectoryHandler' object to standardize/centralize all folder navigation behavior for the asset tool ecosystem
Added new window to select path for assets
Refactored import config editor to be easier to utilize
Added field in editor settings to edit import configs without needing to first try and import assets
Updated a number of asset types' scripts to handle address-based system
Began standardizing a number of 'actions' for the asset browser, including drag-n-drop, renaming, deleting, moving, etc.
Made refreshing behavior of AB more consistent
When making new in AB folder, it will automatically navigate to the new folder
When making a new folder, prompts the folder name via new popup window
Refactored PostFX editor to use newer layout with side list for easier use
2019-12-03 00:09:18 -06:00
Areloch b2fcd5e7fb WIP corrections for drag-n-drop handling for cubemap and shape asset types
Added ability to override radio button behavior when selecting items in popup menus
Added ability to turn on rotation snapping as a setting, with SHIFT just inverting the rot snap mode
Implemented proper asset type filtering, complete with multiple type selection, and listing of active filters in AB footer. Selectable via visibility popup Menu
Moved asset preview button generation from code to template GUI file
added ability to move asset with drag-n-drop(Image asset only so far)
New AB folder icon
Properly link image asset fields to material asset if 'AlwaysPresentImageMaps' config setting is active
2019-11-24 06:52:34 -06:00
Areloch ac77315e29 Merge branch 'alph40_pbrConfig_BREAKINGWip' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-11-22 21:24:59 -06:00
Areloch 7b5e1c3c58 @rextimmy fix for GuiWindowCtrl so they snap correctly again
Added asset loose files for editor and bake level files on level asset
Correct return of ConsoleGetType on TypeShapeAssetPtr
Adds shape asset support to TSStatic, now will support either raw shape file or ShapeAsset
Adds onInspect function behavior, so when object is inspected, it can do special editor behavior
Adds callback for when editTSCtrl is resized
Added editor setting to force the world editor sidebar(scene tree and inspector windows) to resize to fit to the right side of the screen automatically instead of float
If assimp loader encounters error, it's output into the console log
Makes root Data item in folder hierarchy tree in Asset Browser able to support right mouse popup menu action
Material and Shape assets now correctly base on current browsed folder
Material asset generation now more properly fills out common maps, as well as handles skipped dependencies better
More theme corrections
Updated TestGrid images asset defs to have proper loose file handling
2019-11-18 03:30:04 -06:00
Areloch 796a95b8a5 Adds isSRGB and invertSmoothness checkboxes to terrain material editor
Added ability for assimp loader to ignore cached DTS shapes on demand when building shape data
Added assimp importer options to asset import config settings set
Moved variableInspector field types folder from tools/assetBrowser/scripts to tools/guis
2019-11-11 01:40:55 -06:00
AzaezelX 65cbf49c4a backend specularMap to PBRConfigMap alts.
left:
     addField( "specularMap", TypeImageFilename, Offset(mPBRConfigMapFilename, Material), MAX_STAGES,
scripthook till last since that *will* break all current materials.
2019-10-16 15:51:02 -05:00
Areloch e621e362f4 Corrected the logic for the GenerateComposite import config rule so it only applies if there's any of the ORM maps detected
Added new import config rule: AlwaysPresentImageMaps so it will add entries for the regular map inputs on a material, even if they weren't actually found
Disabled a number of inactive popup menu items
Added Create New Module to normal add asset popup for more obvious/simplified use-flow
Adjusted the editor loading logic so it will properly display the loading splash to inform loading is happening instead of just lagging
Adjusted the assimp shape loader code so if it doesn't find a texture, and thus just sets a material value as the material color, it has a more parsable formatting
2019-10-06 01:29:12 -05:00
Areloch e7bf49e801 Moved unneeded modules to Templates/Modules
Added templated getObjectsByClass to Scene for easier engine-side polling of objects, including nested checks for subscenes
Proper init'ing of mGamemodeName in LevelAsset, as well as proper fieldType for mIsSubLevel
D3D11 added logic to handle scaling down of textures in cubemap arrays for lower texture resolution preferences
Added ability to collapse groups programmatically to GuiVariableInspector
Upped PSSM shadowmap max size to 4096
Caught GL deferred lighting/probes up to D3D11
Temporarily disabled forward lighting/probes on GL materials until conversion finished
Upped smMaxInstancingVerts to 2000 from 200 to support slightly more detailed meshes being instanced
Reordered project settings so they load ahead of core modules, so that core modules can actually use project settings
Established current preset file for PostFXManager to use for reverting
WIP logic for forcing probes to update as part of level lighting load step in loading process
Streamlined PostFXManager code, removing unnecessary/redundant files
Coverted HDR, Lightrays and SSAO and ExamplePostEffect to use new PostFX Manager/Editor paradigm
PostFX manager now enacts callbacks so that postFXs' can process their own settings as well as provide editor fields
Changed PostFX editor to work with new callbacks via using VariableInspector
Updated PostEffectAsset's template file so new PostFX's will now automatically register with the PostFXManager and have the needed new callbacks for integration
Made HDR on by default, removed enable field from editing
Made probe bake resolution a project setting
Updated many GL postFX shaders to have proper case for PostFx.glsl
Example module now loads ExampleGUI and ExamplePostEffect during init'ing
Removed unneeded autoload definitions from ExampleModule's module file
Fixed Graphics Adapter settings field to properly display as well as apply setting
Updated many referenced profiles in tools folder to use the Tools specific gui profiles to make theming more consistent
Fixed coloration of tools button bitmap to make theming more consistent
Updated a few theme settings for improved visibility with theme, particularly selected/highlighted text
Moved AssetBrowser field types to separated folder/files
Updated new module creation to properly utilize template file instead of overriding it with a programmatic script generation.
Removed unneded default autoload definitions from new modules
Added WIP for editing Module/Asset dependencies
Updated the PostEffectAsset to properly generate glsl and hlsl files from templates
Updated module editor window to display only necessary fields
Added WIP of TerrainAsset
Added shaderCache gitignore file so folder isn't lost
2019-09-29 06:44:43 -05:00
OTHGMars 2320b59bed Activates assignment for material light maps. 2019-05-26 03:21:42 -04:00
Areloch ef226f6a65 Merge branch 'Assimp_Settings' of https://github.com/OTHGMars/Torque3D into Preview4_0 2019-05-25 01:08:16 -05:00
OTHGMars 2eaa917e00 Import settings persistence
Adds new settings to ColladaUtils::ImportSettings and TSShapeConstructor::ImportSettings for persistence. Shape will now be re-imported with the original settings if the source art is newer or the cached.dts file has been deleted.
Fixes material transparency blend mode assignment.
Adds implementation for override scale, material prefix and always/never import options.
Reads and applies metadata fields for scale and up axis from formats that provide it.
Eliminates the assimp.log file and redirects log messages to console.log. Verbose logging is enabled in debug builds.
2019-05-21 01:18:27 -04:00
Areloch c283295f22 Merge branch 'CustomShaderFeatures' of https://github.com/Areloch/Torque3D into development 2019-05-11 21:53:08 -05:00
Areloch cedbd387d9 Updating BaseGame to work with PBR, and a PBR example module 2019-05-08 01:27:51 -05:00
Areloch e83ec69292 Merge branch 'PBR_ProbeArrayGLWIP' of https://github.com/Azaezel/Torque3D into development 2019-05-06 01:50:45 -05:00
Areloch 951594259f Merge branch 'AssimpWIP' of https://github.com/Areloch/Torque3D into development 2019-05-04 16:25:16 -05:00
Areloch 4e9b9b4724 Merge pull request #2328 from Areloch/neverImportMat
Adds a filter for materials to never import when importing a shape
2019-05-04 11:51:21 -05:00
AzaezelX dd1470202d Merge branch 'development' of https://github.com/GarageGames/Torque3D into PBR_ProbeArrayGLWIP
# Conflicts:
#	Engine/source/gfx/D3D11/gfxD3D11Device.cpp
#	Engine/source/lighting/lightManager.cpp
#	Templates/Full/game/levels/Empty Room.mis
#	Templates/Full/game/levels/Empty Terrain.mis
2019-05-01 23:18:31 -05:00
OTHGMars 8ecbe5992a Sanity check for sequence times.
If the sequence end time is greater than 1000, millisecond timestamps are automatically assigned.
2019-04-25 16:27:46 -04:00
OTHGMars 6660f253b5 Fix for importing animated skinned meshes.
Scale is negated in inverse bind matrices.
Vertex weights are normalized (glTF importer is limited to 4 weights per vert).
Fixed interpolation for animations where the first frame is not at 0.0.
Allows cached.dts version of assimp imported shapes to be loaded.
2019-04-25 16:02:22 -04:00
OTHGMars a4a97cc3d3 Additional filters for material names. 2019-04-22 06:53:29 -04:00
OTHGMars 70bbad8411 Sequence timing options.
This commit deals with the problem that the keyframe timestamps are not standardized. Seconds, milliseconds and ticks are used depending on the import format. There is no metadata or property that specifies the format used, so the option is exposed to the user as part of the import options gui.
2019-04-22 06:52:59 -04:00
OTHGMars 04355156de Fixes crash from unnamed animation sequences.
Unnamed sequences are now renamed 'ambient'. Crash found in shape models/glTF2/simple_skin/simple_skin.gltf.
2019-04-22 00:12:49 -04:00
OTHGMars ad29d3132e Material initialization.
Fixes material initialization for texture and transparency assignments.
Lists all available material properties to console in debug builds.
Adds TORQUE_PBR_MATERIALS define for testing with PBR branches.
2019-04-22 00:08:15 -04:00
OTHGMars 0859b29fa1 Embedded texture extraction.
Caches textures to disk for shape formats that support embedded textures.
Only the compressed texture codepath has been tested. There are a large number of binary gltf files with embedded (and pbr) textures for testing here: https://github.com/KhronosGroup/glTF-Sample-Models
2019-04-21 23:59:40 -04:00
OTHGMars 17a2e416ed Adds animated node transforms for animation importing.
Fixes sequence timing variables.
2019-04-18 16:45:52 -04:00
OTHGMars bd486bab66 Changes default winding order to be CCW. 2019-04-15 23:04:47 -04:00
OTHGMars f0ccd8d079 Adds verbose logging in debug builds.
Properly disconnects the logging stream.
2019-04-15 23:00:27 -04:00
OTHGMars 75440918e5 Copies Collada import options to Assimp.
The lodType, singleDetailSize, adjustCenter and adjustFloor options been added to the importer.
Implementation of $Assimp::FlipNormals has been fixed.
$Assimp::FlipWindingOrder has been added to expose aiProcess_FlipWindingOrder.
Logging is now enabled and directed to assimp.log.
2019-04-15 18:57:24 -04:00
Areloch 59b6e67ecf Merge pull request #2043 from John3/toolShapes_3
cleaning the modules
2019-03-31 14:41:35 -05:00
Areloch 80c036b9b0 Merge pull request #2327 from Areloch/loadCachedDTS
Adds ability to skip loading of cached dts in enumColladaForImport
2019-03-30 16:33:37 -05:00
OTHGMars d8bfe6073f Fixes a crash from importing shapes with unnamed bones. 2019-03-29 04:02:41 -04:00
OTHGMars 7c2baf51d6 Adds the aiProcess_FlipUVs flag setting. 2019-03-29 03:57:36 -04:00
OTHGMars 71a5f9498b Fixes primitive assignment. AppMesh::primitives in this case is a purely collada/dts concept and is not indices or faces. Any mesh with more than 2^16 vertices should be split into multiple primitives to avoid indexing across a 16 bit boundary. Mesh division into primitives has not been implemented for assimp yet. 2019-03-28 04:16:22 -04:00
OTHGMars bc722a353d Fixes vertex weight assignments.
Adds upaxis override option to match collada importer.
2019-03-27 12:46:43 -04:00
OTHGMars 2d795b2493 Fixes indexing for vertex weights. 2019-03-24 07:08:24 -04:00
OTHGMars 0be93d6cf5 Implements ignore filter for assimp fbx dummy nodes.
Adds gltf binary to list of supported extensions.
2019-03-24 06:25:38 -04:00
OTHGMars 1d073e0b09 Changes ObjectOffset parameter name to prevent confusion/conflict with the base class member AppMesh::objectOffset.
Error checking for meshes that do not have stored normals.
Incorrect first attempt at vertex weights.
2019-03-24 06:23:58 -04:00
OTHGMars 1a7e6699c9 Adds conversion functions and changes implementation of getTransform(). 2019-03-24 06:18:20 -04:00
Areloch 25ce4477ce Just the functional assimp lib rather than the entire assimp repository unnecessarily. 2019-02-28 16:37:15 -06:00
Areloch a7a5463ad1 Adds a filter for materials to never import when importing a shape 2019-02-23 22:04:17 -06:00
Areloch 05909cf897 Adds ability to skip loading of cached dts in enumColladaForImport 2019-02-23 21:34:11 -06:00
Areloch 9bf8337e4a Initial implementation of the Scene object for handling scenes/levels in a more consistent and deliberate way. 2019-02-23 15:55:28 -06:00
Areloch bf170ffbca WIP of assimp integration. 2019-02-08 16:25:43 -06:00
suncaller 31d0eb16f8 Clean up MSVC warning [C4312] conversion from type to type * of greater size 2019-02-02 23:09:55 -05:00
Azaezel 1eed979a9c Merge branch 'method_Unmangle' into PBR_PR 2018-12-12 14:54:22 -06:00
Areloch 6cf0c9e360 Merge branch 'development' into EngineAPI-Refactor 2018-12-09 14:48:50 -06:00
Areloch b4a1d18f42 Core implementation of Physical Based Rendering. 2018-09-15 20:19:57 -05:00
Areloch 5a1af9ccd7 Merge pull request #2236 from Azaezel/memberMess
cleans up all 'hides' warnings (at time of writing)
2018-05-30 20:36:43 -05:00