Commit graph

145 commits

Author SHA1 Message Date
AzaezelX 4250e1d1b4 simplification of the Class::_set<slotname>Asset methods, (as well as early outting before dAtoi(index) hurt itself if index was invalid)
also since I was in there, fixed isrgb accidently being flipped on by default
2020-10-12 04:43:47 -05:00
Areloch f0068c2435 Updates macromagic to properly set up for init'ing when image assets are set in material and terrain materials 2020-10-10 22:48:13 -05:00
Brian Roberts d50f1f0b81
Merge pull request #342 from lukaspj/fix/replace-dstrcmp
Replace uses of dStrCmp with new String::compare
2020-10-03 17:01:12 -05:00
Brian Roberts 681dbe108c
Merge pull request #323 from Azaezel/alpha40_smoothToRough_clean
shift pbrconfig to ORM in keeping with the prepoderance of industry standards
2020-10-03 11:49:10 -05:00
Lukas Aldershaab c999baf7ed Moves from using dStrCmp to the new String::compare static functions. Keeps things cleaner, consistent, and works with intellisense. 2020-10-03 14:37:55 +02:00
Lukas Aldershaab dca2dc0074 Implementation of guiRenderTargetVizCtrl 2020-10-03 00:58:38 +02:00
AzaezelX 0c7811bd1a shift pbrconfig to ORM 2020-09-30 13:51:12 -05:00
AzaezelX 22b0785c73 augment imageasset with initMapSlot and bindMap class insert macros (and array variants) to make the conversion process for folks shifting from 3.x to 4.x cleaner, as well as autocreation of getter/setter methods andadditoinal acessor macros for consistency 2020-09-30 13:50:23 -05:00
Areloch 8956559bfd Various misc. tweaks and fixes based on static code analysis to minimize/fix memleaks, crashes, or other performance impacting code. 2020-09-19 18:25:10 -05:00
Areloch d06c99a088 Adds function to get material definition by mapTo usage
Re-enables logic for looking up existing material(generally just for in-place autoimport) and creates the material asset off of that. Also adds logic to look up the mapTo if it exists if the material name lookup fails.
Adds initial pass at re-enabling the sis file support for shape importing. In the event the UseManualShapeConfigRules setting is disabled(which it is by default) it will try and find the matching sis file and apply the rules from that to the config. Once the processing/import is done on the shape, the cached values of the main config are restored again.
Adds initial fbx.sis file. Needs to have the fields standardized to the config names.
2020-08-24 04:41:17 -05:00
AzaezelX 454192ed02 from @rextimmy new isbackground shader feature. used the same z=w trick we've done before to force things to render behind everything else. applied to fog 2020-07-14 14:08:12 -05:00
Areloch 4ce558f042 Reworks the terrain loader code to work with the assets.
Fixes the terrain asset creation, makes the loading logic go through the asset auto-import behavior when a filename or assetid is bound that is not found.
Corrects terrain material binding to properly save and load
Makes the terrain asset inspector fields work as expected.
2020-06-25 23:33:01 -05:00
Areloch 9b907e77ee Swaps some references from the windows SDK-specific FLT_MAX to T3D's F32_MAX
Takes the makeFullPath in findTSShapeConstructor and turn it into a string before passing it along to the Filename to make stricter compilers happy
Removed some referenced to fields that don't exist in the current build
Removed unneeded ASM language activation for the cmake files
Adjustments to material map assembling macros to better comply to stricter compilers
2020-05-13 02:10:11 -05:00
AzaezelX 5f59ebbacc uninitialized variables-materials 2020-05-11 15:59:22 -05:00
Areloch 6ade6f08ce Updated Assimp
Added initial behavior for ImageAssets to hold a list of GFX resources of different texture profiles to avoid mem leaks with incorrect-typed usages
Added function to ImageAsset to get best-fit asset, allowing for fallbacks if the requested assetID is not found
Added function to ShapeAsset to get best-fit asset, allowing for fallbacks if the requested assetID is not found
Disabled fields for dynamic and static shadowmap refresh rates
Moved noShape model to core/rendering/shapes to place it in a more logical module position
Added an include to avoid undefined type compile error and removed unneeded semicolon from zone code
Added call to reload probe textures when a reloadTextures call is made
Adjusted default directional light shadowmap settings to not be as extreme
Added utility function to probe manager to allow any class to request a 'best fit' list of probes that would affect a given location, allowing other classes such as fog or particles to utilize IBL. Also updated probeManager's forward rendering to utilize same function to reduce code duplication.
Shifted shape loader code to utilize assimp for loader consistency and testing
Changed render bin used for SSAO postfx so it runs at the right time
Made Core_Rendering module scan for assets
Updated loose file references to a number of assets to follow proper formatting
Refactored asset import code to follow a more consistent object heirarchy structure on importing assets, allowing more reliable cross-referencing between inbound items
Updated asset import logic for materials/images so that they properly utilize ImageType. Images correctly save out the assigned image type, materials reference the images' type to know what map slot they should be used in. Importer logic also updated to better find-and-add associated images based on type.
Cleaned up a bunch of old, outdated code in the asset importer
Added initial handling for in-place importing of files without needing to process them through the UI.
Added ability to edit module script from RMB context menu if torsion path is set
Updated list field code for variable inspector to utilize correct ownerObject field
2020-03-19 09:47:38 -05:00
Areloch 2d015bc426 Merge branch 'alpha40MakeMats' of https://github.com/Azaezel/Torque3D into Preview4_0 2020-03-03 10:48:07 -06:00
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 f7b891442a Updated path handling for loose asset files for CPP, Image, Level, Material, PostFX, Shape, Terrain, TerrainMat and StateMachine assets to be more predictable in when and how they expando the loose file path into a full, useable path
Fixed loose file bindings for all associated slots in level asset, such as postFX file, decals, etc
Expanded TSStatic onInspect testcase to parse materialSlots and hook-in a specialized material field for editing/quick reference from the inspector
Adjusted expand behavior of guiTree to be more reliable
Added internal name 'stack' to inspectorGroup's stack child objects for easier access to add programatic fields
Removed redundant PreMult translucency type code
Added setting of feature so probes work when in forward/basic lit mode
Corrected indexing error in SQLiteObject class so it properly parses with the updated console API
Tweaked the FOV setting logic in GameConnection::onControlObjectChange to not be spammy
Fixed var when trying to bind the camera to the client
Added project setting field to dictate the default render mode between Forward or Deferred
Integrated MotionBlur PostFX into updated PostFX Editor paradigm and exposed the samples uniform as an editable field
Integrated DOF PostFX into updated PostFX Editor paradigm
Updated setting group name for vignette postFX
Shifted shaderCache to be in data/cache along with other cached files
Added helper function to replace strings in a file
Fixed ExampleCppObject asset to have correct loose file references
Adjusted editor default level logic so it can be modifed and then stored, as well as reset back to the original default
Fixed verve reference to root scene group
Adjusted location of a nonmodal gui profile so it loads at the correct time
Reorganized AssetBrowser loading and refresh logic so it doesn't stack multiple refresh requests back-to-back causing lag
Updated the search behavior to search not just the current address, but all child folders as well, making it far more useful
Initial work into zip and folder drag-and-drop asset importing support
Removed the import config setting for 'always display material maps' as it is redundant with the new importer context menu actions
Updated example asset type file
Ensured all asset types have proper handling for move, rename and delete actions
Fixed double-click behavior on folders in the AB
Fixed CPP asset preview
Added better logic to discern if a top-level folder belongs to a module or not in the AB directory browser
Added ability to convert a non-module top-level folder in the AB into a module
Added initial hooks for being able to generate a new Editor Tool, similar to how the AB can generate modules
Renamed CPP asset template files to have the .template so they aren't accidentally picked up by cmake
Fixed convex editor's material handling to work with AB and reference back properly
Updated AB images for folder up/down navigation buttons, and the breadcrumb divider arrow
Made PostFX Editor properly allow for input pass-through so you can still edit the level with it open
Added some additional common text gui profiles
Disabled calls to old editor settings logic in various editors to remove spam
Added callOnModules call so tools can initialize properly when the world editor is opened
Fixed logic test for visualizers
Added ability for cmake to scan tools directory for any tools that add source files
2020-02-04 01:47:28 -06:00
AzaezelX 9ae1af645c work towards getting the materiallist generated by things like preload to spit out most if not all to-be-used variants for a given used material. ostensibly add reflection and deferred variants. will take a bit more doing to cook up mats for all the shadow variants, since it looks like that ends is more light-type based for some oddball reason (think i'm probably be misreading that end, since mats there should really just be as simnple as an occludes-or-doesn't based on alphatesting case with very few variations on that theme indeed...) 2019-12-20 23:27:44 -06:00
Areloch 66cc6fb9d1 Removes current implement of shadow caching
Also removes EC stuff as it's not ready for prime-time yet
2019-12-13 01:14:03 -06:00
Areloch 27ee09e491 Merge branch 'alpha40_premul' of https://github.com/Azaezel/Torque3D into Preview4_0 2019-11-22 21:27:52 -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
AzaezelX bd21a207ef largely based on work by @rextimmy: add premultiplied alpha 2019-11-22 10:02:01 -06:00
Areloch 72ceede272 Added Forward Material debug viz for HLSL(so far) and integrated it back into editor flagging.
Re-added logic to track existing probe shader consts instead of constantly recreating it
Added logic for pre multiplied translucency mode
2019-11-21 00:48:55 -06:00
Areloch 62fabf6894 From @rextimmy was missing the stateblock handling for the Transparency mode Sub
Added Open Recent functionality to File menubar item
Added new editor setting for Startup Mode to dictate if it'll open the most recent level edited or the blank level, instead of utilizing a game UI control for level selection.
Properly re-enabled the handling for the forceSidebarToSide setting to track to the setting value
2019-11-19 01:25:24 -06:00
AzaezelX 60d2b0a0f6 conversion lockin: cleans out eroneous editor refs to specmap and specularmap in favor of the desired PBRConfigMap var name for the combined (smooth,ao,metalness) map used throughout 2019-11-07 03:46:31 -06:00
AzaezelX 062e6f3364 Merge branch 'Preview4_0' of https://github.com/Areloch/Torque3D into alph40_pbrConfig_BREAKINGWip 2019-11-07 01:39:50 -06:00
Areloch 22249bf4d4 WIP of updating terrain editor to work with assets
Fix minor UI issues for asset browser
included folder 'asset type' script
2019-11-06 00:23:07 -06:00
AzaezelX d034895e8f shifts glowmap out of the composite and to it's own texture, as well as featureset. (GL port pending design finalization) 2019-11-01 19:29:31 -05:00
AzaezelX 070a9845a2 preliminary glowmap+glowmul feature augmentation math 2019-10-30 18:29:11 -05:00
AzaezelX 0f5ba17126 needed mft_pbrconfigmap or _convifgvars and _matinfocflags set to default=true to trip the forward lit side,
shifted the mft_skybox test on down below the checks for the presence of those features to be inserted, and removed them on out if a skybox.
2019-10-29 22:11:59 -05:00
AzaezelX 8fac88dadc more misc cleanup, including cutting down on sampling the pbrconfigmap by filling that out first, and drawing the smooth and metal vars from it, and filling out an ao var in case folks wanna use that later, as well as a bit more doubled up functionality prune-down. still tracing why forward lit seems to have lost the map config feature 2019-10-23 20:38:13 -05:00
AzaezelX ad216abc02 cleans up a few more spots of various variables that ammount to the "PBRConfig" in the end, as well as a MFT_isDeferred test for determining if that's stored off as a temp-val or in the gbuffer. though seem to have forgotten a catch, as it's not finding the MFT_PBRConfigMap feature and falling back to recreation come time to process MFT_ReflectionProbes 2019-10-23 14:59:29 -05:00
AzaezelX bfccfca0ce more conversionwork from specular entries to pbrconfig ones, adds backend glowmul and glowmap var tracking, as well as pbrconfigmap composite slip-in for the glowmap (sans shaderfeatures just yet). seems to have busted forward lit application though... 2019-10-22 15:11:39 -05: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
AzaezelX 022b87cac2 from user Ewyncat: adds invcameratrans, cameratoscrren, and screentocamera postfx and shader matrix interfaces.
also a bit of backend work to normalize those later once we've proof-of-concepted the calcs
2019-09-06 14:25:17 -05:00
Areloch af77444ec9 Merge branch 'MatInstanceViewer' of https://github.com/Areloch/Torque3D into Preview4_0
Fixed up forward IBL
Reimplemented old forward light shader code as a baseline so it can be updated to new PBR math
2019-06-27 00:36:56 -05:00
Areloch dd3422b5a2 Added ability to pass ints to post effect shader consts
Reorg'd probe init to flow better and be more robust on load
Cleaned up various parts of the probe render manager to be more stable
Fixed issue with crash on release due to numProbe in loops being 0
Updated glsl probe array shader
Beginning of rework of editor settings
Beginning of conversion of asset import config to similar system as editor settings
2019-06-13 00:37:12 -05:00
Areloch 17cec11b97 Added refactor of Editor Settings window
Various fixes for asset handling.
WIP of crash tracking
2019-06-03 02:47:30 -05:00
Areloch ae857faae2 Adds test shapes of Kork and SpaceOrc
Sidestep of memleak from CSF at the moment
Minor fixes and corrections with asset importing and loose files
WIP of updated options menu
2019-05-28 17:24:29 -05:00
AzaezelX afa52850c3 Merge branch 'CustomShaderFeaturesPR' of https://github.com/Areloch/Torque3D into alpha40Macwork
# Conflicts:
#	Engine/source/materials/materialDefinition.cpp
#	Engine/source/materials/processedFFMaterial.h
#	Engine/source/materials/processedShaderMaterial.cpp
#	Engine/source/renderInstance/renderBinManager.cpp
#	Engine/source/renderInstance/renderGlowMgr.cpp
#	Engine/source/renderInstance/renderMeshMgr.cpp
#	Engine/source/renderInstance/renderPassManager.h
#	Engine/source/renderInstance/renderTranslucentMgr.cpp
#	Engine/source/shaderGen/customShaderFeature.cpp
#	Engine/source/shaderGen/customShaderFeature.h
2019-05-22 23:36:15 -05:00
Areloch ebb51bb178 Catch the template files up and add the improved convex editor bits. 2019-05-19 21:30:45 -05:00
Areloch af14de2bb7 Implements a Material Instance viewer to the material editor to see a feature-filtered dump of the generated shaders for a given material. 2019-05-17 01:48:45 -05:00
Areloch 529558f671 Initial implementation of Custom Shader Features 2019-05-17 01:20:19 -05:00
Areloch 3697737498 Merge branch 'ModernEditorLayoutWIP' of https://github.com/Areloch/Torque3D into development 2019-05-13 00:28:23 -05:00
Areloch c283295f22 Merge branch 'CustomShaderFeatures' of https://github.com/Areloch/Torque3D into development 2019-05-11 21:53:08 -05:00
AzaezelX 57ee1882fa strip out unused pixspecular to cut down on sources of confusion 2019-05-05 20:10:14 -05:00
AzaezelX d519479562 shifted forward lit probe lighting to pre-rt lighting in keeping with the deferred methodologies. in diong so, also needed to add a vertex feature for in/out tangent space normals detection. also in keeping with the fact we sample the deferred albedo result-buffer, fed the createForwardSurface the output target so that can take color multiplication et al instead of just raw albedo 2019-04-29 17:39:47 -05:00
Areloch 2abdef7459 Collapse the ProbeManager into RenderProbeMgr to simplify the probe management/rendering behavior(as the game sim doesn't require simple access to probe data, unlike lights) 2019-01-26 02:05:18 -06:00
Areloch f110158654 Probe Array WIP 2019-01-07 20:34:19 -06:00