Commit graph

235 commits

Author SHA1 Message Date
AzaezelX 1e66b118b6 more prepass cleanup, plus skip out early on _determinefeatures for deferred if we're translucent 2020-08-03 16:45:05 -05:00
AzaezelX f829303ded cleanup singlechannel glowmask leftovers (we use a full rgb map now) 2020-07-12 17:39:16 -05:00
Areloch 638a515702 Merge branch 'alpha40_BandingBreakup' of https://github.com/Azaezel/Torque3D into Preview4_0_w_alph40_cleanups 2020-05-16 02:16:52 -05:00
AzaezelX 8aa03a4ac9 uninitialized variables-renderinstance
(cherry picked from commit dcbc22bf8450250f192ae56b303affd760f63db1)
2020-05-11 15:17:09 -05:00
AzaezelX 1a33d483a3 ensure we've got a known stateblock set for GeneratePrefilterMap 2020-04-14 12:40:31 -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
AzaezelX d75593bf6f hooks up missing probe capture filters 2020-01-01 22:37:27 -06:00
Brian Roberts c0226d4640 mac crashfix and compilation correction. the former's down to a typo, the latter, needed specification for which class->setTexture(near identical sig) to use 2019-12-05 21:30:01 -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 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
AzaezelX 63a4d69a33 clip out eroneous test casuing issues with MFT_SubSurface 2019-11-08 05:54:30 -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
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 501990c3b6 from @rextimmy: ssao work
shifts ssao from the vectorlight to ibl-only via the reflectionProbearray postfx shader
2019-10-31 19:06:40 -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 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
Areloch ff4c2d59fc Utilizes old method to clean up tree items in GuiTreeViewCtrl to resolve guiEditor crashes
Updates probeManager to correctly utilize skylight idx to infer if a skylight is active, and set the SKYLIGHT_ONLY macro correctly, resolving erroneous behavior
Cleaned up some of the guiEditor initialization script to remove redundancy
Cleaned up tools modules loading script to remove redundancy
2019-09-18 01:41:57 -05:00
Areloch 7c3bd49615 Adds ability to adjust padding to guiTextListCtrl's rows
ForcedMaterialMeshMgr tweaked to allow proper setting of override material
Ongoing WIP of update/fixing of options menus
WIP of expanded visualizers, including material complexity viz
Adds no-pie flag when compiling on linux with non-clang compilers
2019-09-06 00:00:17 -05:00
Areloch 600859bd63 Force proper update of box probe when attenuation changes
Fixed multiple case sensitivity issues
Adds GL ARB check for cubemap arrays for certain cases where the driver only supports the extension, not as core
Fixes undeeded namespace declaration in an inline operator function
Cleaned up/reordered some modules default in the data dir
WIP of Das Boot test map
Begun refactoring visualizer tools
Added default cloud and water textures to core/rendering so water and cloud objects work correctly
Added default Fog_Cube mesh so volumetric fog works correctly
2019-08-19 01:14:34 -05:00
AzaezelX 9859d9b7bc 'correct' refscale back to mismatching between forward and deferred. Because Reasons. >.> 2019-07-21 23:01:15 -05:00
Jeff Raab 38b0d0f1fe Updates names of probe forward shader consts to be consistent with shadergen, allowing proper data throughput 2019-07-16 09:34:31 -05:00
AzaezelX e83eabcb87 refbox calc parity, and killed off some doubled up alpha subtraction 2019-07-14 10:44:50 -05:00
AzaezelX 09c8e70e1c Merge branch 'Preview4_0' into alpha40translucency2 2019-07-11 03:45:21 -05:00
Areloch 98f50a4453 Fixed probe cubemap reindexing assignment
Fixed BRDF texture binding in forward pass so it doesn't screw with the probes or regular lighting results during bakes
Fixed early-out check on probe manager so probes can be rendered during reflect pass as well.
2019-07-10 23:41:55 -05:00
AzaezelX bc77ff0833 Revert "Updated SDL, Bullet and OpenAL soft libs"
This reverts commit 370161cfb1.
2019-07-08 09:49:44 -05:00
Areloch f8750dd8ed Updated SDL, Bullet and OpenAL soft libs
Fixed case sensitivity problem
Fixed clang compiler problem with having the class namespace used in an inline for the == operator
Tweaked some theme stuff to be more consistent.
Added initial test of no-pie for linux
test sidestep of getTexCoord in shadergen hlsl feature so we don't assert when getting the terrain's shaderstuffs(which uses float3 instead of normal float2)
2019-07-07 02:43:49 -05:00
Areloch e87dc787ee Corrected probe init'ing so they don't fight for the cubemap idx order
Also correct deleting behavior so it updates indicies when a probe is removed
Updated forward lighting to utilize the same math as deferred
2019-06-30 23:04:16 -05:00
AzaezelX 4d714091b7 missed a few conversions 2019-06-28 10:56:38 -05:00
AzaezelX 01f6938746 nomenclature shift for clarity: bunch of stuff tagged as probe that refferenced things properly tied conceptually to the reflection refrence box. 2019-06-28 10:21:50 -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 e5c12f4aab Reduce console spam from probe manager when not in debug
Added ability to activate height override on inspector fields from script
Further refinements of theme usage as well as editor settings
2019-06-17 23:48:20 -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 b40d33a663 WIP of shifting the skylight cubemap to be packed into the cubemap array 2019-06-05 01:04:47 -05:00
Areloch 27b304eec3 Various fixes
Separated baked cubemap load/processing logic into a separate function for clarity
various corrections for when fields change so it properly notifies down to the client
Fixed enable flag logic to actually work
Fixed skylight enable flag so it properly disables if flipped off
2019-06-05 00:07:46 -05:00
Areloch a552471e4e Reorg of the probe initialization/update code to streamline parts of it, and make it flow more obviously
Added some initial asset stuffs for Das Boot for building out a better testing level.
2019-06-04 00:21:52 -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 8196ad9d32 Removed old code that set the BRDF texture and caused a texture profile conflict with the probe array post effect, leading to a crash.
Renamed hasSkylight to mHasSkylight to avoid var ambiguity.
2019-05-26 03:13:16 -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 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
Areloch 3fa7a0d4fa Various fixes 2019-05-11 21:42:27 -05:00
Areloch cedbd387d9 Updating BaseGame to work with PBR, and a PBR example module 2019-05-08 01:27:51 -05:00
AzaezelX 57ee1882fa strip out unused pixspecular to cut down on sources of confusion 2019-05-05 20:10:14 -05:00
AzaezelX ae752a04e8 remed out stray code cleanups, added more remmed out code for referencing the way defered calculates bbminmax (as a percentage of the probes actual scale so folks can just copypaste most times) 2019-05-05 18:30:40 -05:00
Areloch bd170b5abe WIP of forward probe scoring. 2019-05-03 00:03:58 -05:00
Areloch 4e557aec83 Added fetch for BRDF texture for forward rendering use, re-enabled brdf logic in the lighting shader and got the probe arrays properly sampling into forward as well.
TODO: core::rendering pref on the BRDF texture instead of hardcode path, add best-pick logic for forward probes and double-check ogl forward is playing nice.
2019-05-02 00:05:12 -05:00
Areloch 65fb8bc5f3 Ongoing fiddling with correcting the forward render behavior. 2019-04-29 00:07:38 -05:00
Areloch 6db975e81c random testing bits trying to isolate remaining forward issues. 2019-04-28 18:32:23 -05:00
AzaezelX 404cb929c1 we likely don't want to be overwriting that set of cubemap array registers for every forward lit object instance 2019-04-26 13:33:28 -05:00
AzaezelX b5436b6cb7 tweaked the updating behavior in the probe manager so calling updateProbes just flags a ProbesDirty bool, which is used to kick the update of the static parameters when the bin's render() is called
that way if multiple probes get updated at once, we don't hit the update loop for each one, which is obviously silly
also fixed the 'probes' cubemaps aren't ready until you nudge them'
turns out when we were setting out global var which we used for the irradiance and prefilter cubemap paths, it was being set AFTER the probes got loaded
so it was using an invalid path to look up the cubemaps
-@areloch
2019-04-22 15:39:55 -05:00
AzaezelX d034ea2be8 no point in resetting effectiveprobecount or mipcount in the compute4probes method. the latter is going to remain a fixed global var to support the cubemap arrays while the latter isn't even used by forward lit (though it likely should be, rather than trying to cook up 2 bound vectors) 2019-04-16 11:47:21 -05:00
AzaezelX a0d1a076d5 Merge branch 'PBR_ProbeArrayForward' into PBR_ProbeArrayGLWIP
# Conflicts:
#	Engine/source/renderInstance/renderProbeMgr.cpp
2019-04-16 09:34:01 -05:00
Areloch 000c7b2263 GL work 2019-04-15 23:11:18 -05:00
AzaezelX 0cd8948fcf stray var killoffs 2019-04-10 17:44:54 -05:00
AzaezelX 15ca6eabb4 cleanup duplicate var, and constructor-init skylight shaderconsts 2019-04-10 12:54:46 -05:00
Areloch c025760422 Majority of forward work. Some state/register count issues and further testing required.
Also requires proper binding of forward probe values, as well as scoring probes for forward selection.
2019-04-07 23:57:05 -05:00
Areloch afb5a589c3 Cleanup/consolidation of shader logic. moved the common methods over to lighting.hlsl
Did all the setup work to feed data for forward probestuffs, just have to rewrite the shaderFeature to replicate the regular probe array logic.
2019-04-03 00:13:58 -05:00
Azaezel 5703618dc0 shift bbminmax to relative when sent to the gpu so folks can stick to realworld values 2019-03-26 06:48:56 -05:00
Areloch e2b194182c Undid debug work, shifted logic over entirely to utilize the updateTexture methods. Refactored probe init'ing so they'll load correctly without nudging, properly sequestered skylights from the probe array and updated the shader to contain az's changes as well as skylight and probe array changes. 2019-03-25 23:17:53 -05:00
Areloch 1627cbabe6 ongoing WIP to sort out init'ing issues as well as correcting values so the probes actually correctly update data into the arrays
Additional sanity checks on the updateTexture calls added by timmy
2019-03-25 00:06:08 -05:00
Areloch 26471aaa77 WIP of timmy's changes merged in. Not properly initializing the probes/array slots just yet. 2019-03-24 18:18:44 -05:00
Azaezel ba8948a5b1 hook up attenuation value. todo: sort networkjing properly 2019-03-21 23:47:01 -05:00
Azaezel df6b7f3351 put probe.boxmax/min code back as it was prior to merge. still having that /4 oddness. 2019-03-20 07:38:14 -05:00
Azaezel 04a6130df8 sync correction 2019-03-18 04:09:34 -05:00
Azaezel caf73ea84f Merge branch 'PBR_ProbeArrayWIP' of https://github.com/Areloch/Torque3D into PBR_ProbeArrayWIP
# Conflicts:
#	Templates/Full/game/shaders/common/lighting/advanced/reflectionProbeArrayP.hlsl
2019-03-18 00:18:49 -05:00
Areloch 2bf67f7fa5 Corrections to make it use the correct transform, as well as passing along the scale as our extents in the bbMax.
Adjusts the box influence logic to try the bsf method.
2019-03-18 00:14:06 -05:00
Azaezel edcdd21379 suggested alterations to the probe.worldToLocal math feeding and usage (and a divnull safety for attenuation) 2019-03-17 20:14:58 -05:00
Areloch 70d85d2241 Begun hook-in of skylight into array
Reworked the reflection reference offset/scale behavior to re-integrate into the editor interface via button(and work)
Hid irrelevent fields from given probe types.
Filter out editPosOffset and bake button fields from being saved to avoid weird loading behavior
2019-03-02 04:48:07 -06:00
Areloch 2903aaeea0 WIP of the rewrite of blend/projection to follow BSF's math approach. 2019-02-22 08:12:03 -06:00
Azaezel c1bf59bf07 destructor code+ removed a crash-causing redundancy in onRemove 2019-02-20 16:59:58 -06:00
Azaezel 309d518249 scale reflection properly 2019-02-19 09:38:34 -06:00
Azaezel 5bce2d0904 seperated offset from position (we pass the net to the shader for use in the reflection box), and added a scalar (also only used in the reflection box). maked both as probeRef to denote reflection parameters. 2019-02-19 08:58:02 -06:00
Areloch 87e9d3edbd Correct stateblock settings to display probes more correctly without crushing other forward elements. 2019-02-18 00:43:21 -06:00
Areloch b754c022ba Corrected the blending logic somewhat, added visualization modes for spec/diffuse probe influences, attenuation and contribution. 2019-02-17 03:47:40 -06:00
Areloch 788e265477 Finished current cleanup/reorg.
Temporarily disabled logic for forward render of probes to avoid data mangle. TODO: fix up forward once deferred math is locked in
Split probe modes out into distinct environmental probe objects
Removed the probes from tracking their own baked cubemap file paths and instead have a pref store it
Removed old probe shaders and materials that aren't used now.
Fixed mLastConst memory leak by removing nono line.
2019-02-14 00:35:22 -06:00
Areloch 58e3349286 Further cleanup, proper hook-in of CubeReflector for bake capture.
Shifted update of probe data to be triggered by probe changes.
Pack probes into the data arrays forward-first instead of keeping strict indicies.
todo: move bake to probeManager, clean up old/commented code, remove old probeMaterial stuff
2019-02-13 16:56:28 -06:00
Areloch 050f1e226a WIP of adjusting the reflection probe's bake to utilize the ReflectionManager and CubeReflector instead of duplicating the capture code. 2019-02-13 00:37:50 -06:00
Areloch fd8840ff53 Updated the PostFX ability to setShaderConsts and cubetextures for probes 2019-02-12 01:10:30 -06:00
Areloch 64db2b1d15 Ongoing PostFX org rework. 2019-02-11 00:17:53 -06:00
Areloch b221b312d2 Org rework and postFX-setup WIP 2019-02-08 01:35:35 -06:00
Azaezel 72acec0a3f set the alignedarray sizes to maxprobes, reguardless of actual probe count 2019-02-07 09:55:52 -06:00
Azaezel f031ee9e39 duplication cleanups 2019-02-07 09:46:54 -06:00
Azaezel 0caac1a28c cut down on some of that per-frame allocation via prepping our vector 'registers' during the constructor 2019-02-07 09:34:23 -06:00
Azaezel 4aa371cea2 remove push_back uses in favor of consistent [i], fill probe data with defaults before overriding to ensure no garbage data is getting referenced. 2019-02-07 08:05:39 -06:00
Azaezel 7837576de7 conversionwork courtessy of jeff. seeems float3f aligned arrays were nonfuncntional, so shifts a few over to float4s 2019-02-06 10:59:36 -06:00
Areloch 847d58a967 Progress in getting array data to comply. 2019-02-02 23:28:51 -06:00
Azaezel 2eb58e4cb7 portwork from jeff to use farFrustumQuad for the vertex shader 2019-01-31 13:00:52 -06:00
Areloch b03e7a79b7 Broke it down to work with a single probe for confirmation of general math and behavior. 2019-01-31 11:44:09 -06:00
Areloch 3efbdbf9e1 Shifts the verts used to match the fullscreen quad setup of vector light, utilizing FarFrustuQuadVerts 2019-01-30 13:52:59 -06:00
Azaezel 26ee0d986f reference cleanups:
1) kill off extraneous cubemap and irradiancecubemap source-to-shader variable ties
2) use the cubemap arrays (renderdoc for instance doesn't list them as being input at all if they're never used)
3) use the vert file
2019-01-30 06:29:39 -06:00
Azaezel 1dfd130d85 explicitly bound the namedtexttargets to input slots. shifted brdf slot on up to 3 (from 5) to cluster flat vs array entries. though it does not appear at time of writing that that is in fact binding... 2019-01-28 22:10:57 -06:00
Azaezel 7a8dd96808 should only need to set the brdf texture the once 2019-01-28 01:36:17 -06:00
Azaezel 1607f58bc4 typofix for bbMinArray, cubemap array lookups for irradiance and spec 2019-01-28 00:31:01 -06: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
Azaezel 26a89882c7 tracks wether or not a cubemap has been fully intitialised (as well as defautls for other shared entries). skips out including an uninitialized cuebmap in probe array (inthoery. in practice, need to root arround a bit more) 2019-01-22 02:03:14 -06:00
Areloch 5b7e2edb66 WIP hook-in of the cubemap array.
Also inversed probe transforms to make them correct.
2019-01-21 01:50:13 -06:00
Areloch c0e8b047f5 Shifted the rest of the probe render code to hook into the array'd uniforms, made the reflection probe shader definition refer to the array shader. 2019-01-19 00:31:42 -06:00
Azaezel 4d3d800051 skylights do actually have a position. 0,0,0. so we can include those without messing with things. and we'll want to sum/count for blending purposes down the line. not render over each other 2019-01-08 11:16:05 -06:00