Commit graph

3525 commits

Author SHA1 Message Date
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
Areloch 5b7e2edb66 WIP hook-in of the cubemap array.
Also inversed probe transforms to make them correct.
2019-01-21 01:50:13 -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 453958234e console conversion 2018-12-12 16:01:26 -06:00
Azaezel 1eed979a9c Merge branch 'method_Unmangle' into PBR_PR 2018-12-12 14:54:22 -06:00
Azaezel a7fc407284 corrects a pair of conversions. one object oriented, one not. 2018-12-12 14:52:14 -06:00
Azaezel c3f0157331 ReflectProbeMaterialInfo::setProbeParameters buffer binding correction (again, set order as colorbuffer = 1, matinfo = 2 for gbuffer consistency) 2018-12-10 03:39:31 -06:00
Azaezel 6aff0c26bf Merge branch 'PBR_PR' into PBR_PR_GLWIP 2018-12-10 01:19:41 -06:00
Areloch 835513b861 Deleting a probe in the editor now automatically does a cleanup of it's baked cubemap files
Also added it to do the prefilter/irrad processing on any StaticCubemap selected.
2018-12-10 00:46:28 -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 a9cb78b67f straight convert of RGBA16F saving support for probes. should note gl side seems to be having an issue with loading probes thats resulting in color channel swapping. 2018-12-09 18:09:45 -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