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
Areloch
f87b4e46df
WIP of the rewrite of blend/projection to follow BSF's math approach.
2019-02-22 08:12:03 -06:00
Azaezel
0951d6f082
destructor code+ removed a crash-causing redundancy in onRemove
2019-02-20 16:59:58 -06:00
Azaezel
b9176d22fa
scale reflection properly
2019-02-19 09:38:34 -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
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
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
b0c89dddff
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
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
9a40e82ced
set the alignedarray sizes to maxprobes, reguardless of actual probe count
2019-02-07 09:55:52 -06:00
Azaezel
66937ee47a
duplication cleanups
2019-02-07 09:46:54 -06:00
Azaezel
a3e4ce5146
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
7529864942
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
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
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
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
c590c2df2b
should only need to set the brdf texture the once
2019-01-28 01:36:17 -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
e1c72b5aa2
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
d6ae28b58e
WIP hook-in of the cubemap array.
...
Also inversed probe transforms to make them correct.
2019-01-21 01:50:13 -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
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
f50ab7ec58
THIS IS AN ABOMINATION UNTO THE CODEBASE AND SHOULD BE REMOVED THE SECOND WE CAN SORT OUT WHAT THE HECK IS GOING ON WITH THAT QSORT
...
stops flickering by itterating through the probe list twice. once looking for the skylight, then doing the rest
2018-11-28 18:12:12 -06:00
Azaezel
da3bf16ef1
cast to pointer to pointer, not just pointer. (confused yet?)
2018-11-27 08:28:33 -06:00
Azaezel
e42586f2fa
qsort compilation, though still not quite correct
2018-11-25 12:35:35 -06:00
Tim Barnes
b0fff30d33
lighting single buffer
2018-11-21 15:53:02 +10:00
Areloch
ecef09525a
Implemented registration of probes to avoid rendering all probes when unneeded.
2018-11-19 01:18:09 -06:00
Tim Barnes
59a5bf11e1
reflection probe updates
2018-10-28 20:42:26 +10:00
Azaezel
d4fa1a4da9
removed redundant cleartarget, added clearcolorattachment 4, tagged gbuffer slots
2018-10-25 20:03:28 -05:00
Azaezel
726c748578
Merge branch 'PBR_Bins_Reordered' of https://github.com/Areloch/Torque3D into PBR_PR
...
# Conflicts:
# Engine/source/gfx/D3D11/gfxD3D11Device.cpp
# Engine/source/renderInstance/renderDeferredMgr.h
2018-10-25 14:30:12 -05:00
Areloch
62a6a6a5f0
Adjusts the lightbin manager to be a regular bin, and shifts ownership of both lighting targets to the deferred manager. Probes now render ahead of lights to make the additive order jive.
...
Also reordered the probe targets used so they match lights for consistency.
2018-10-24 23:43:12 -05:00
Azaezel
2cd03ab765
Merge branch 'PBR_PR' of https://github.com/rextimmy/Torque3D into PBR_PR
2018-10-24 20:48:45 -05:00
Azaezel
0d9cc4cdac
work on getting render bin ordering correct
2018-10-24 18:27:43 -05:00
Tim Barnes
b182b0cf3b
clear gbuffer from code and not from a shader
2018-10-24 18:58:46 +10:00
Areloch
1966d348e4
Shifted to the static-list arrangement for probe instance tracking to help performance as well as drastically streamline the data submission/material instance flow for probe rendering.
2018-10-07 17:32:23 -05:00
Areloch
4efcb567b0
Getting the GL side up-to-date to match.
2018-10-06 17:50:15 -05:00
Areloch
24007432e8
Updates and fixes to probe and lighting logic.
2018-09-17 01:52:18 -05:00
Areloch
2be32ad737
Implementation of reflection and skylight probes.
...
Moves lighting math to the diffuse/specular two-channel logic.
2018-09-16 22:15:07 -05:00
Areloch
ef5e3a5271
Core implementation of Physical Based Rendering.
2018-09-15 20:19:57 -05:00
Areloch
0801a3cca8
Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy
2017-06-23 11:36:20 -05:00