Commit graph

600 commits

Author SHA1 Message Date
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