Commit graph

3559 commits

Author SHA1 Message Date
Azaezel
4275e340f4 boxproject converted to obb. TODO: convert defineBoxSpaceInfluence to obb as well by getting rid of that length(boxMaxLS - boxMinLS); in favor of a 3D scale calc set. 2019-03-04 23:29:23 -06:00
Areloch
c6e4b4a0e4 Corrected yorks chapel materials + added to the main test level 2019-03-04 17:57:53 -06:00
Azaezel
a01b470a75 lightmap testbed 2019-03-04 16:48:28 -06:00
Azaezel
b31206e468 1) use surface.R(reflection vector), not surface.N(worldspace normal) so we have pov based variation on skylight reflections.
2) use lerp based on the sum contribution of probes for a given pixel as calculated by all non-skylight probes. vs the skylight probe result. (math is currently still wrong, or we wouldn't be needing to use a saturate to get skylights showing)
TODO: find out where the attenuation went for a smooth blend. probably the same thing killing unsaturated skylight display..
2019-03-03 17:27:26 -06:00
Azaezel
460e295677 slimmed down level save 2019-03-03 15:59:02 -06:00
Areloch
08267ce451 Broke the functions out from the probeData struct
Moved ibl stuff back out of lighting.hlsl into probeArray shader for now.
2019-03-03 15:47:28 -06:00
Azaezel
fd0c90c575 mergefix 2019-03-03 14:22:28 -06:00
Azaezel
f15fd381aa 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-03 11:54:24 -06:00
Areloch
8f94d09e6e 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
Azaezel
2552bb1f64 EXPERIMENTATION: for paranoias sake, go ahead and normalize the reflection vector input for boxproject, throw out any out of range contributions (HACK ALERT!) and, what would appear to be the most corrective, reverse the blendfactor math. 2019-02-25 12:37:05 -06:00
Azaezel
91de7c44f8 shift the wip code back out of lighting.hlsl till were sure of it, and while we're at it, shove the probe methods into the probe class to more easily differentiate between blend-val and raw contribution factors 2019-02-25 02:39:00 -06:00
Areloch
2c91ca69fc Shift back to the seb methodology, but keep the probe struct for cleaner and easier to read code 2019-02-25 01:08:23 -06:00
Areloch
f87b4e46df WIP of the rewrite of blend/projection to follow BSF's math approach. 2019-02-22 08:12:03 -06:00
Azaezel
0951d6f082 destructor code+ removed a crash-causing redundancy in onRemove 2019-02-20 16:59:58 -06:00
Azaezel
9c6635e4c0 rolled in more of https://github.com/GarageGames/Torque3D/pull/2315 + set the mProbeShapeType(s) for the two derivative classes 2019-02-19 16:34:30 -06:00
Azaezel
7358d5bf37 sample surface roughness for diffuse return. 0 means sharpest possible result 2019-02-19 14:37:44 -06:00
Azaezel
23a09333d2 no need to z flip the diffuse box dx side. may need to gl side 2019-02-19 14:17:52 -06:00
Azaezel
077325c0ab swap over to wireframe, plus a few misc cleanups 2019-02-19 13:58:29 -06:00
Azaezel
b9176d22fa scale reflection properly 2019-02-19 09:38:34 -06:00
Azaezel
9a30ad7651 set blendfactor to blendval when only one probe. 2019-02-19 09:24:38 -06:00
Azaezel
5c356519e4 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
Azaezel
04b3509e6c hook editor displays back up 2019-02-19 08:55:55 -06:00
Azaezel
2d0a09c07e won't be needing the flipflop after yesterdays alterations unless we also need to do up a blur pass, at which point the name wouldn't be apropriate anyway. 2019-02-18 17:11:04 -06:00
Azaezel
dc729b3cae seperated out the sum of the total weights form the sum of the factored weights 2019-02-18 16:13:17 -06:00
Azaezel
a80ff9760f need to seperate out raw from blended blendvals 2019-02-18 14:53:21 -06:00
Areloch
dde21794c1 Correct stateblock settings to display probes more correctly without crushing other forward elements. 2019-02-18 00:43:21 -06:00
Areloch
cf1d22ba1b Corrected the blending logic somewhat, added visualization modes for spec/diffuse probe influences, attenuation and contribution. 2019-02-17 03:47:40 -06:00
Azaezel
5184e4b9e8 kill off a couple extraneous sets 2019-02-15 20:31:59 -06:00
Azaezel
df5efc57d8 cleanup: use radius[id] vals 2019-02-15 18:14:46 -06:00
Azaezel
cf9c5aea20 output ibl to it's own namedtexture, flipped the result back onto the stack post-calc to stop it polluting the backbuffer for all other render passes 2019-02-15 16:22:49 -06:00
Azaezel
a1b5e454f6 postfx updated to correct editor mangling. (still overriding skybox at minimum) 2019-02-15 10:49:06 -06:00
Azaezel
3f858f385e use irradiance 2019-02-15 09:28:45 -06:00
Azaezel
56bd17a8e9 flip sphereical projection back on as an option to support the second class 2019-02-15 09:18:03 -06:00
Azaezel
5d48af3729 Merge branch 'PBR_ProbeArrayWIP' of https://github.com/Areloch/Torque3D into PBR_ProbeArrayWIP
# Conflicts:
#	Engine/source/renderInstance/renderProbeMgr.cpp
2019-02-15 09:15:51 -06:00
Areloch
b52799bbce 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
9ec7eb999d 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
Azaezel
4590ff5bc1 add irradiancecubemap intialised validation check, shifted cubemap vectors back to push_back and the array to size. kiled off now entriely redundant count tracking var 2019-02-13 07:33:31 -06:00
Areloch
b0c89dddff 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
34abe1b835 Updated the PostFX ability to setShaderConsts and cubetextures for probes 2019-02-12 01:10:30 -06:00
Areloch
a1b281cc5f Ongoing PostFX org rework. 2019-02-11 00:17:53 -06:00
Areloch
ecad33c598 Org rework and postFX-setup WIP 2019-02-08 01:35:35 -06:00
Azaezel
9a40e82ced set the alignedarray sizes to maxprobes, reguardless of actual probe count 2019-02-07 09:55:52 -06:00
Azaezel
66937ee47a duplication cleanups 2019-02-07 09:46:54 -06:00
Azaezel
a3e4ce5146 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
7529864942 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
2e485c4946 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
a8707b2410 Progress in getting array data to comply. 2019-02-02 23:28:51 -06:00
Areloch
601a961a2c Merge branch 'PBR_ProbeArrayWIP' of https://github.com/Azaezel/Torque3D into PBR_ProbeArrayWIP 2019-02-02 22:01:58 -06:00
Azaezel
e8c2912498 portwork from jeff to use farFrustumQuad for the vertex shader 2019-01-31 13:00:52 -06:00
Areloch
a0b9c8cfd6 Broke it down to work with a single probe for confirmation of general math and behavior. 2019-01-31 11:44:09 -06:00