Commit graph

3543 commits

Author SHA1 Message Date
Azaezel
edccd2301c 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
89fb367f6a 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
df8864659a 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
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
727dbbfd8d 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
0f5fe527dd sample surface roughness for diffuse return. 0 means sharpest possible result 2019-02-19 14:37:44 -06:00
Azaezel
bdcb1aaea6 no need to z flip the diffuse box dx side. may need to gl side 2019-02-19 14:17:52 -06:00
Azaezel
cf50803e72 swap over to wireframe, plus a few misc cleanups 2019-02-19 13:58:29 -06:00
Azaezel
309d518249 scale reflection properly 2019-02-19 09:38:34 -06:00
Azaezel
742447178b set blendfactor to blendval when only one probe. 2019-02-19 09:24:38 -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
Azaezel
e4ddfcfb01 hook editor displays back up 2019-02-19 08:55:55 -06:00
Azaezel
c359bf622b 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
93377ebc16 seperated out the sum of the total weights form the sum of the factored weights 2019-02-18 16:13:17 -06:00
Azaezel
6cdbe08519 need to seperate out raw from blended blendvals 2019-02-18 14:53:21 -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
Azaezel
8d08ab2370 kill off a couple extraneous sets 2019-02-15 20:31:59 -06:00
Azaezel
e829e61452 cleanup: use radius[id] vals 2019-02-15 18:14:46 -06:00
Azaezel
528bb8740c 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
cce0fe8b8a postfx updated to correct editor mangling. (still overriding skybox at minimum) 2019-02-15 10:49:06 -06:00
Azaezel
407a6672ea use irradiance 2019-02-15 09:28:45 -06:00
Azaezel
fce3a318c2 flip sphereical projection back on as an option to support the second class 2019-02-15 09:18:03 -06:00
Azaezel
de50110827 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
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
Azaezel
cdbd0e504f 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
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
Areloch
00e19a2d3d Merge branch 'PBR_ProbeArrayWIP' of https://github.com/Azaezel/Torque3D into PBR_ProbeArrayWIP 2019-02-02 22:01:58 -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
c6d4ea37b9 hook up the right ConvexConnectP 2019-01-30 07:17:29 -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
fcd0dabc48 probe-array specific vert shader. may be able to re-use the postfx one, but either way, definately shouldn't be trying to calc from the convex geo one. 2019-01-22 02:25:57 -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