AzaezelX
413d756b80
1) bumped bytesPerTexel on up to 8 and got rid of the explicit fillin
...
2) fed glTexSubImage3D GL_RGBA instead of a second GFXGLTextureType[mFormat]. this tells it what order colors come in, not what size
3)for safeties sake, skipped out on updatetexture if the fed cubemap isn't initialized yet
2019-04-26 13:32:23 -05:00
Areloch
871fdf3664
ongoing WIP of openGL cubemap arrays.
...
Got the initialization of the arrays to work, but currently fill the supplied cubemaps with flat 1 values(effectively filling with garbage) as sampling from the cubemap to feed to the array leads to memory/heap corruption.
2019-04-26 01:57:07 -05:00
AzaezelX
e6a14514e0
tweaked the updating behavior in the probe manager so calling updateProbes just flags a ProbesDirty bool, which is used to kick the update of the static parameters when the bin's render() is called
...
that way if multiple probes get updated at once, we don't hit the update loop for each one, which is obviously silly
also fixed the 'probes' cubemaps aren't ready until you nudge them'
turns out when we were setting out global var which we used for the irradiance and prefilter cubemap paths, it was being set AFTER the probes got loaded
so it was using an invalid path to look up the cubemaps
-@areloch
2019-04-22 15:39:55 -05:00
AzaezelX
63bc2215fd
no point in resetting effectiveprobecount or mipcount in the compute4probes method. the latter is going to remain a fixed global var to support the cubemap arrays while the latter isn't even used by forward lit (though it likely should be, rather than trying to cook up 2 bound vectors)
2019-04-16 11:47:21 -05:00
AzaezelX
28f55b9cc8
Merge branch 'PBR_ProbeArrayForward' into PBR_ProbeArrayGLWIP
...
# Conflicts:
# Engine/source/renderInstance/renderProbeMgr.cpp
2019-04-16 09:34:01 -05:00
Areloch
95962cbcbc
GL work
2019-04-15 23:11:18 -05:00
AzaezelX
b79cff7530
resource count and type sync with the computeForwardProbes call-insertion for shadergen. probly going to need to cook up a cubearray type
2019-04-11 12:31:15 -05:00
AzaezelX
7f2c57f18b
use the right recreation when lacking a composite map (still need to do up matinfo flags)
2019-04-11 12:30:03 -05:00
AzaezelX
c3ea3593ea
typofix+ *add* computeForwardProbes to replicate the stateblock used in deferred
2019-04-10 17:46:42 -05:00
AzaezelX
8be413d53a
stray var killoffs
2019-04-10 17:44:54 -05:00
AzaezelX
4730dfcf3f
leverage the macros for a bit more legibility
2019-04-10 14:14:10 -05:00
AzaezelX
dac25f1e2c
conform some of the "specularColor" entries (TODO: matinfo flags, like emissive/glow ect)
2019-04-10 12:56:20 -05:00
AzaezelX
07827b8032
cleanup duplicate var, and constructor-init skylight shaderconsts
2019-04-10 12:54:46 -05:00
AzaezelX
b64b84b843
defaults for diffusecolor, specularcolor (reminder todo: shift that to composite) and normal for createForwardSurface
2019-04-10 11:48:22 -05:00
AzaezelX
ce4220ad55
enhanced stage check
2019-04-10 11:43:45 -05:00
Areloch
ec9e8c3563
Majority of forward work. Some state/register count issues and further testing required.
...
Also requires proper binding of forward probe values, as well as scoring probes for forward selection.
2019-04-07 23:57:05 -05:00
Areloch
283348f7bc
Cleanup/consolidation of shader logic. moved the common methods over to lighting.hlsl
...
Did all the setup work to feed data for forward probestuffs, just have to rewrite the shaderFeature to replicate the regular probe array logic.
2019-04-03 00:13:58 -05:00
Azaezel
679c2c7fb0
shift bbminmax to relative when sent to the gpu so folks can stick to realworld values
2019-03-26 06:48:56 -05:00
Areloch
4c959e1fa1
Undid debug work, shifted logic over entirely to utilize the updateTexture methods. Refactored probe init'ing so they'll load correctly without nudging, properly sequestered skylights from the probe array and updated the shader to contain az's changes as well as skylight and probe array changes.
2019-03-25 23:17:53 -05:00
Areloch
e241cbc7c9
ongoing WIP to sort out init'ing issues as well as correcting values so the probes actually correctly update data into the arrays
...
Additional sanity checks on the updateTexture calls added by timmy
2019-03-25 00:06:08 -05:00
Areloch
399088d09e
WIP of timmy's changes merged in. Not properly initializing the probes/array slots just yet.
2019-03-24 18:18:44 -05:00
Azaezel
ead78ec588
hook up attenuation value. todo: sort networkjing properly
2019-03-21 23:47:01 -05:00
Azaezel
f55dc92f6b
put probe.boxmax/min code back as it was prior to merge. still having that /4 oddness.
2019-03-20 07:38:14 -05:00
Azaezel
9ebe7c4ac2
sync correction
2019-03-18 04:09:34 -05:00
Azaezel
eae6793186
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-18 00:18:49 -05:00
Areloch
0b7579b42e
Corrections to make it use the correct transform, as well as passing along the scale as our extents in the bbMax.
...
Adjusts the box influence logic to try the bsf method.
2019-03-18 00:14:06 -05:00
Azaezel
78261b0d61
suggested alterations to the probe.worldToLocal math feeding and usage (and a divnull safety for attenuation)
2019-03-17 20:14:58 -05: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
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
9c6635e4c0
rolled in more of https://github.com/GarageGames/Torque3D/pull/2315 + set the mProbeShapeType(s) for the two derivative classes
2019-02-19 16:34:30 -06:00
Azaezel
077325c0ab
swap over to wireframe, plus a few misc cleanups
2019-02-19 13:58:29 -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
Azaezel
04b3509e6c
hook editor displays back up
2019-02-19 08:55:55 -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
5184e4b9e8
kill off a couple extraneous sets
2019-02-15 20:31:59 -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