Commit graph

111 commits

Author SHA1 Message Date
AzaezelX 56e4484ff6 remove glowbin as it's own render pass 2024-05-30 17:29:42 -05:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00:00
AzaezelX c7cc86b357 clamp spot angle to 179,
up custommaterial inputs to 16
add Material::PhotometricMask:handling to processedcustommaterial
and for paranoias sake go ahead and be explicit about _getLightMaterial (those *should* be unneeded as they optionally default to that, but it's how they were in the beatup fork during testing)
2024-02-23 11:52:43 -06:00
marauder2k7 4417462499 Add support for both ies and cookie
Both ies and cookies can now exist on a light

We are still not using all the capabilities of an IES profile, such as candela and luminance values we are just using them as a mask for the moment

Issues compiling on mac and linux, will need to update the ies-loader to use torque methods instead of std::
2024-02-21 07:40:57 +00:00
marauder2k7 a12d915180 Loads an IES Photometric profile.
ADDED: Ability to add IES profile as the cookie texture slot in both point lights and spot lights

TODO:
Have the IES Profile also drive the settings for the lights.
Make it work with Cookie textures. IES profiles are to be another slot in the advanced light section.
2024-02-21 06:22:37 +00:00
AzaezelX 593d0ef9f0 lighting corrections:
1) fix spotlight shadow casting. we weren't properly accounting for reversedepthbuffer there
2) fix mismatched variables in forward lit spotlight param array
3) use disney diffuse in the generalized brdf, and apply it for spotlights after angular attenuation, not before
4) .provide a generailze luxTargMultiplier approach for spot and point lights (as well as future growth areas) so that range, angle ect can impact the brightness variable sent to a given light source shader without perpixel overhead
5) for spotlightParams in particular, use sizeof(point4f) for the alignedarray untill that's properly reviewed/revised
6) narrow attenuation slightly based on a given lights dot product to prevent tool vs outcome leakage, plus provide safeties for when a given spotslight's inner and outter angles match identially
2023-11-18 19:05:12 -06:00
AzaezelX 182fec8b1a revert b5d1d1a02c
turns out that caused lighting 'occlusion' artifacting
2023-11-14 12:09:32 -06:00
AzaezelX 0d4221fa59 uninitialized and unused value cleanups
(cherry picked from commit 1f08602cf0ad84409cd8b3520510f9c6ce7d5f9c)
2023-05-01 10:40:02 -05:00
Robert MacGregor 5d26dba7da * BugFix: Clear some MSVC compiler warnings. 2021-10-07 00:27:39 -04:00
Robert MacGregor 1b6b803a20 * BugFix: Clear a lot of warnings and correct a few actual programming errors along the way. 2021-10-04 20:04:21 -04: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 b5d1d1a02c Temporary fix for the geometry feed in spotlights 2020-10-03 01:07:17 +02:00
AzaezelX 0c7811bd1a shift pbrconfig to ORM 2020-09-30 13:51:12 -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 ae70cccfde Fixes de-selection logic in editor that caused special cases to permanently be selected such as mounted Lights
Shifted every-frame RT allocation to be stored in advancedLightBinManager
Remove deprecated references to dynamicShadowMap in light materials
Updated spotLight shaders to remove deprecated dynamic shadowmap reference which was causing a crash when spotlights had shadows turned on
Added GLSL version of Viz_SurfaceProperties so it works on both APIs
2020-08-28 01:57:06 -05:00
Areloch 756f2ef680 Adds a pref to dictate if local lights can cast shadows or not. 2020-08-16 18:08:00 -05:00
AzaezelX b81b4c61a5 clean up leftover interlaced prepass experimental code. 2020-08-03 16:44:20 -05:00
Brian Roberts 4da43119b0
Merge pull request #270 from Areloch/lightFieldsCleanup
Some cleanup and adjusting of local light fields and default settings.
2020-08-03 14:05:01 -05:00
Areloch 695ad6357f Hides some light fields for local lights that are intended for PSSM's, thus useless.
Also disables the Paraboloid shadowmap type, as it is non-functional.
Disabled light animations by default so as to not waste processing time if not needed
Sets point lights' shadow types to be cubemap by default, and lowers the overdark factor to make them look cleaner and not exacerbate aliasing.
2020-08-02 23:47:20 -05:00
Areloch 7b02d81b54 Adds preferences for limiting the maximum number of local lights, as well as distance-based fading of local lights. 2020-08-02 23:16:03 -05:00
AzaezelX 33d82ea1f6 crashfix: const U32 numVerts = curEntry.vertBuffer-> is invalid for vectorlights 2020-07-27 20:30:26 -05:00
AzaezelX f52c3d5ed2 uninitialized variables-lighting 2020-05-11 15:07:21 -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 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 09c651c26d Corrected profile for GameObjectAsset type field button
Initial implementation of changeable TSStatic materials via material slots and drag and drop of material assets onto world editor from AB
Updated Volumetric Fog to support ShapeAsset for it's model data
Added cmake option to hide literal filename fields if the class supports asset fields for the same input
Added light viz modes to see diffuse, specular and detail lighting modes(currently just sun)
New raycast console function to return back material of hit object
Moved GameObject logic to SceneObject and started fixing up of editor behavior to allow any SceneObject to be converted into a GO, along with all supported behavior such as instance-template management and spawning GO via drag-and-drop from AB
Fixed inspector field tooltip text to be positioned in inspector footer properly again
Drag and drop of shape asset attempts to drop at raycast position now, instead of just at the camera ray position
2019-12-05 20:42:47 -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 a67d2c52cd "ShaderFeatureGLSL::getInTexCoord - Type mismatch!" bit turned out to be a simple typofix 2019-11-05 06:22:04 -06:00
AzaezelX 091af6bdff glowmap gl port rev1: debug yells about "ShaderFeatureGLSL::getInTexCoord - Type mismatch!", so will need to hunt that down before calling it final, but otherwise, functions. 2019-11-04 00:40:09 -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 ac6fdf884e from @rextimmy, we need to target the lightmap gbuffer slot, not the color one 2019-11-01 03:24:23 -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 070a9845a2 preliminary glowmap+glowmul feature augmentation math 2019-10-30 18:29:11 -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
Areloch 01f562b9e5 Added check for when getting the Detail feature's output, to validate if we have the foliage feature, which was causing a stomp on the required float4 texCoord for the foliage featuer to work right
Temporarily disabled wsNormal addition when we have no defined normal map until it's finished being integrated
Fixed the structure for the lighting/probe shadergen logic in GL so it generates correctly, resolving a crash on unix machines.
2019-10-03 23:46:53 -05:00
Areloch ebe2c2dead Add vector light support to forward materials. 2019-07-22 00:16:58 -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 57ee1882fa strip out unused pixspecular to cut down on sources of confusion 2019-05-05 20:10:14 -05:00
AzaezelX 98a3ff604a nonbreaking 'specularcolor' to 'pbrConfig' var conversion. (TODO: specularMap entries) 2019-04-29 19:40:22 -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
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
Tim Barnes ab10cc0c87 timmy merge work 2018-11-28 17:51:52 +10:00
Tim Barnes 9e65e940d0 lighting single buffer 2018-11-21 15:53:02 +10:00
Tim Barnes c64aee9dcc point light WIP & moved lighting position/direction to WS 2018-11-14 20:58:47 +10:00
Areloch e72f04648a Adjusts the lightbin manager to be a regular bin, and shifts ownership of both lighting targets to the deferred manager. Probes now render ahead of lights to make the additive order jive.
Also reordered the probe targets used so they match lights for consistency.
2018-10-24 23:43:12 -05:00