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
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
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
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
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
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
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
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
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
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
8272a468d5
adds a #define TORQUE_TEXCUBEARRAYLOD(tex,coords,id,lod) texture_##tex.SampleLevel(tex,float4(coords.xyz,id),lod) macro. puts everything in a compilable state
2019-01-16 12:55:11 -06:00
Azaezel
a526bbe2b0
swap methods on over to surface+id ref for uniform arrays
2019-01-16 03:46:37 -06:00
Azaezel
0efe0a5856
partial compilation fixes
2019-01-15 19:24:13 -06:00
Azaezel
086a841535
'frontend' wipwork for the probe array. takes up to 50 probes, calcs a weighted blend, and displays them all in a batch.
2019-01-14 16:31:26 -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
Areloch
f110158654
Probe Array WIP
2019-01-07 20:34:19 -06:00
Azaezel
1eed979a9c
Merge branch 'method_Unmangle' into PBR_PR
2018-12-12 14:54:22 -06:00
Azaezel
ab5034b1c2
vectorlight ssao macro fix, z=w trick gl side for cloudlayer variants
2018-12-09 19:48:18 -06:00
Azaezel
9d560d9b12
skylight conversion
2018-12-09 16:57:14 -06:00
Azaezel
78f81e2b83
pointlight: forgot a secondary ssPos.xy/ssPos.w entry. GL rightly doesn't you to modify an input variable with impunity and reuse it. if we waant to go back to the precalculated .xyz/w route, pick a different varname (one that makes real sense, not just IN_ tacked on), or better yet precalculate the var itsself rather than going perpixel.
...
also converted spotlight.
2018-12-09 15:59:48 -06:00
Areloch
bb30de04f7
Merge branch 'development' into ConvexProxies
2018-12-09 15:34:12 -06:00
Azaezel
89c534ce21
vectorlight conversion cleanups, pointlight port
2018-12-09 15:26:14 -06:00
Azaezel
c8b76d82c3
gl conversion WIP. general notes: mSamplerNames[#]/samplerNames[#] entry explicitly corresponds to the order of definition GL side.
...
shifted the colorbuffer slot over to S1 in keeping with the gbuffer layout for consistency
completed converts: brdf, lighting, torque.
nonvisually verified convert: vectorlight
noncompiling due to tripping on deferredUncondition: reflectionprobe
2018-12-08 01:41:06 -06:00
Azaezel
10b7630312
put the z=w trick back for the cloud layer options. those parallaxing a bit is actually desireable (and fixes it rendering over everything else)
2018-12-04 14:25:49 -06:00
Azaezel
a2bd0e0fcd
simplification
2018-11-29 18:19:27 -06:00