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
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
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
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
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
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
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
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
Areloch
54a64c0d82
Shifts the verts used to match the fullscreen quad setup of vector light, utilizing FarFrustuQuadVerts
2019-01-30 13:52:59 -06:00
Azaezel
eb7dd20253
hook up the right ConvexConnectP
2019-01-30 07:17:29 -06:00
Azaezel
4a5a071075
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
6e09ff70d7
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
ce4409db17
typofix for bbMinArray, cubemap array lookups for irradiance and spec
2019-01-28 00:31:01 -06:00
Areloch
eedf31b6ad
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
d7b36ad33d
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
f5da79b39f
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
1f38bb6d2d
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
69e47a4b5c
swap methods on over to surface+id ref for uniform arrays
2019-01-16 03:46:37 -06:00
Azaezel
ec5b795500
partial compilation fixes
2019-01-15 19:24:13 -06:00
Azaezel
0fa3568e07
'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
8573e28e79
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