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
Areloch
edbbeaf008
Probe Array WIP
2019-01-07 20:34:19 -06:00
Azaezel
8e534dd0c9
Merge branch 'method_Unmangle' into PBR_PR
2018-12-12 14:54:22 -06:00
Azaezel
03690e2169
vectorlight ssao macro fix, z=w trick gl side for cloudlayer variants
2018-12-09 19:48:18 -06:00
Azaezel
652d041af3
skylight conversion
2018-12-09 16:57:14 -06:00
Azaezel
8208269380
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
8c2e27057e
Merge branch 'development' into ConvexProxies
2018-12-09 15:34:12 -06:00
Azaezel
cab68a6f23
vectorlight conversion cleanups, pointlight port
2018-12-09 15:26:14 -06:00
Azaezel
7160882bd2
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
d86f8b16e8
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
009e237249
simplification
2018-11-29 18:19:27 -06:00
Azaezel
3ce1fc66bc
in keeping with a more integrated setup, used multiplicative ao for darkening existing composite map ao contributions.
2018-11-29 17:47:07 -06:00
Azaezel
98cf1c9aa3
puts a form of ssao back. as this is intended to replicate shadows, bolted that to the shadow portion of the calc. as it was previously addative, did so in an addative manner.
2018-11-29 17:30:51 -06:00
Azaezel
690b8f3c47
'better' (read here less completely craptacular) blending for boxes
2018-11-29 12:21:28 -06:00
Azaezel
cf2eaee29b
simpler falloff calc for probes
2018-11-28 13:12:59 -06:00
Azaezel
d3eb2f7784
put sphereical influence back via the new spherical attenuation methods, shifted the stateblock for probes specifically to max of either source or desitination alpha (though not entirely convinced that is in fact the case)
2018-11-28 12:00:06 -06:00
Tim Barnes
8dad81e494
lighting shader fixes
2018-11-28 20:01:35 +10:00
Tim Barnes
15aeba20e7
timmy merge work
2018-11-28 17:51:52 +10:00
Azaezel
5fa2c5b4a6
stateblocks: skylight uses one+(dest)zero. probes use (src)alpha+(dst(1.0-alpha) for a lerp blend. skylight writes out 0 alpha to ensure probes always win if even only a little.
2018-11-27 08:50:44 -06:00
Tim Barnes
fe01f23efe
probe shader fix
2018-11-21 20:00:59 +10:00
Tim Barnes
b0fff30d33
lighting single buffer
2018-11-21 15:53:02 +10:00
Azaezel
a4e592534e
shift sky render to last of non-translucents
2018-11-18 18:54:02 -06:00
Azaezel
f75a9ccd24
from @rextimmy: shifts sybox rendering to last (kils a bit of overdraw)
2018-11-18 06:36:16 -06:00
Tim Barnes
f0924c8dcd
point light WIP & moved lighting position/direction to WS
2018-11-14 20:58:47 +10:00
Azaezel
d74055619f
emissive fix: return the surface.basecolor in place of zeros emissive is at minimum non-shadowed. TODO: consult folks on if they want a multiplier, mask, or mix for further customization there.
2018-11-12 22:55:52 -06:00
Azaezel
17d3531206
add back in brightness and contrast controls, as well as the capacity to shut tonemapping off
2018-11-12 22:54:00 -06:00
Azaezel
605a8cb29b
further wipwork on the pointlight conversion. filled CreateSurfaceToLight out in a theoretically correct manner (spoiler, not actually correct)
2018-11-06 20:07:09 -06:00
Azaezel
cf2ed26d6e
added the additional colorbuffer entry to the probe projection shader so we get output. TODO: leverage the new CreateSurface methodologies to match with the skylight
2018-11-06 20:03:22 -06:00
Azaezel
485edb5866
shift surface calcs to post-attenuation. no point if we're just gonna throw the vals out in the end
2018-11-02 17:41:30 -05:00
Azaezel
69a2dae3bb
account for attenuation
2018-11-02 16:28:50 -05:00
Azaezel
ed7ace451c
add animated spotlight and pointlight to test scene
2018-11-02 16:09:02 -05:00
Azaezel
30ced89ce3
pointlight conversion rev1- filled in creatrsurface, used pre-exisitng calcs for nDotL to aproximate the light direction needed by CreateSurfaceToLight(surface, dot( lightVec, normDepth.xyz )); NOTE: compiles, but artifacts badly.
2018-11-02 16:07:52 -05:00
Azaezel
e9ddde1532
spotlight conversion
2018-11-02 16:04:53 -05:00
Azaezel
39fa9f90e8
we're no longer making use of a singular lightbuffer to double up as a baked lighting/ibl channel passed to lights themselves, so save a screens worth of transmission
2018-11-02 16:04:04 -05:00
Azaezel
16283228ac
shifted normDepth to pre-Createsurface so we can throw out any calcs as soon as we determine that the pixel is out of viewrange
2018-11-02 15:57:37 -05:00