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
bf10d48287
specify lod (mip) 0 for the brdf texture
2019-04-18 19:31:33 -05:00
AzaezelX
f871b965cd
specify samplerstates for all input textures to resolve odd 'edgeing' effect on skylights
2019-04-18 19:30:50 -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
3c57954308
cleanups
2019-04-16 09:36:00 -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
33b3798bc2
removed extraneous finalcolor set mangling specular input
2019-04-10 17:47:56 -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
f722e06980
remove struct ProbeData in favor of passing an ID along to various methods. one way to solve the 'halts for 30 seconds' compilation flaw, though can't escape the notion we're overlooking something specific to release mode, given it doesn't take nearly so long to compile the shader in debug...
2019-03-29 15:23:52 -05:00
Azaezel
9c933425d5
not even using this method
2019-03-29 01:15:24 -05:00
Azaezel
24cdf025f7
method sig cleanup
2019-03-29 01:13:42 -05:00
Azaezel
a91dbb08e4
typofix
2019-03-29 00:55:42 -05:00
Azaezel
e7c3987fa1
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-29 00:52:31 -05:00
Azaezel
6350e4240b
properly determine probehits via sub-zero values form attenuation returns, skip out on blendings entirely when determining we're only applying 1 or fewer probes to a pixel. apply alpha subtraction in either case in keeping with the countdown notion.
2019-03-27 10:25:09 -05:00
Areloch
799df44a89
Ongoing tweaks to shaders to puzzle out good blending behavior.
...
Also tried optimization by shifting all the brdf samples to a single one for the final add-up.
2019-03-27 00:50:24 -05:00
Azaezel
9b2b87c569
cleanups and perf: only need to subtract the alpha post-blending, not pre and post, contribution>1 shouldn't happen, so max(result,0) suffices, and no need for a for-all-probes-loop if we already know ya only got one probe hitting the pixel under examination.
2019-03-26 12:41:20 -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
Azaezel
255242db41
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-26 01:06:59 -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
Azaezel
501b2f52c3
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-25 01:21:00 -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
Azaezel
e3d9c71d4b
cleanups. don't really want to be multiplying the color itsself by contribution ammount
2019-03-24 19:28:51 -05:00
Azaezel
a29a728e3d
Revert "refactor: shift probe to probe blending logic itsself on out to it's own method to make thatg end easeier to deal with in isolation. (though does still depend on a bit of upstream calculation in the form of tracking how many probes hit a given pixel, and 'how hard' as it wetre from the attenuation calcs,"
...
This reverts commit 466914e97f .
2019-03-24 18:53:02 -05:00
Azaezel
66f8aa9b7c
do not need to account for blenFacSum for output. it's a straight overwrite of results.
2019-03-24 18:41:02 -05:00
Azaezel
466914e97f
refactor: shift probe to probe blending logic itsself on out to it's own method to make thatg end easeier to deal with in isolation. (though does still depend on a bit of upstream calculation in the form of tracking how many probes hit a given pixel, and 'how hard' as it wetre from the attenuation calcs,
2019-03-24 18:38:34 -05:00
Azaezel
07ff3ee8aa
was improperly accounting for attenaution. needs a reversal for atten = 0 to be full unblended application fo a given projection.
2019-03-24 18:38:25 -05:00
Azaezel
5165d9c868
from tim: no need for mip for the diffuse contribution. the prefilter handles that
2019-03-24 18:38:14 -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
8595e273a4
simplification
2019-03-20 08:38:48 -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
5bcbd0f6c9
defineBoxSpaceInfluence drastically simplified. please hook probeattenuationvalue up to the proper probe inputs. also need to peg down exactly why we needed to feed a baseVal = 0.25 instead of a proper 1.0 unit to avoid the thing casting beyond the defined bounds.
2019-03-19 11:28:52 -05:00
Azaezel
54a7ffc030
getDistBoxToPoint max, not length nets us hard edges instea of drounded, float3 extents = probe.boxMax; isn't neded, can use unit space for that and put box min/max back to controlling the reflected boxe's scale. divnull safety
2019-03-18 17:07:43 -05:00
Azaezel
9ebe7c4ac2
sync correction
2019-03-18 04:09:34 -05:00
Azaezel
25ed1bb367
git being a butt with language files. again.
2019-03-18 03:41:44 -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