Commit graph

2431 commits

Author SHA1 Message Date
Areloch bd170b5abe WIP of forward probe scoring. 2019-05-03 00:03:58 -05:00
Areloch 4e557aec83 Added fetch for BRDF texture for forward rendering use, re-enabled brdf logic in the lighting shader and got the probe arrays properly sampling into forward as well.
TODO: core::rendering pref on the BRDF texture instead of hardcode path, add best-pick logic for forward probes and double-check ogl forward is playing nice.
2019-05-02 00:05:12 -05:00
AzaezelX 98a3ff604a nonbreaking 'specularcolor' to 'pbrConfig' var conversion. (TODO: specularMap entries) 2019-04-29 19:40:22 -05:00
AzaezelX d519479562 shifted forward lit probe lighting to pre-rt lighting in keeping with the deferred methodologies. in diong so, also needed to add a vertex feature for in/out tangent space normals detection. also in keeping with the fact we sample the deferred albedo result-buffer, fed the createForwardSurface the output target so that can take color multiplication et al instead of just raw albedo 2019-04-29 17:39:47 -05:00
AzaezelX de385bc220 Merge branch 'PBR_ProbeArrayGLWIP' of https://github.com/Areloch/Torque3D into PBR_ProbeArrayGLWIP 2019-04-29 00:32:40 -05:00
Areloch 65fb8bc5f3 Ongoing fiddling with correcting the forward render behavior. 2019-04-29 00:07:38 -05:00
AzaezelX 26b3ecff4c Merge branch 'PBR_ProbeArrayGLWIP' of https://github.com/Areloch/Torque3D into PBR_ProbeArrayGLWIP 2019-04-28 20:37:03 -05:00
Areloch 6db975e81c random testing bits trying to isolate remaining forward issues. 2019-04-28 18:32:23 -05:00
AzaezelX d2a01ece03 gl conversionwork - forward lit variant. do note, crashs with
`Engine\source\gfx\gfxDevice.cpp(837,0): {Fatal} - GFXDevice::setTexture - out of range stage! -1>16` though the shaders themselves are now in a compling state (ostensibly)
2019-04-28 06:24:19 -05:00
Areloch 093f50bd9d Make the gl cubemap array init that takes a pointer list of cubemaps actually have parity to the updateTexture gl calls(aka, actually works). 2019-04-27 03:09:01 -05:00
AzaezelX 404cb929c1 we likely don't want to be overwriting that set of cubemap array registers for every forward lit object instance 2019-04-26 13:33:28 -05:00
AzaezelX d766348867 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 175f0eebb7 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 b5436b6cb7 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 d034ea2be8 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 a0d1a076d5 Merge branch 'PBR_ProbeArrayForward' into PBR_ProbeArrayGLWIP
# Conflicts:
#	Engine/source/renderInstance/renderProbeMgr.cpp
2019-04-16 09:34:01 -05:00
Areloch 000c7b2263 GL work 2019-04-15 23:11:18 -05:00
AzaezelX 9597014bc2 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 7108c8cc64 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 d2ed2555c9 typofix+ *add* computeForwardProbes to replicate the stateblock used in deferred 2019-04-10 17:46:42 -05:00
AzaezelX 0cd8948fcf stray var killoffs 2019-04-10 17:44:54 -05:00
AzaezelX 8118f42411 leverage the macros for a bit more legibility 2019-04-10 14:14:10 -05:00
AzaezelX ed385ff342 conform some of the "specularColor" entries (TODO: matinfo flags, like emissive/glow ect) 2019-04-10 12:56:20 -05:00
AzaezelX 15ca6eabb4 cleanup duplicate var, and constructor-init skylight shaderconsts 2019-04-10 12:54:46 -05:00
AzaezelX 68f47d6041 defaults for diffusecolor, specularcolor (reminder todo: shift that to composite) and normal for createForwardSurface 2019-04-10 11:48:22 -05:00
AzaezelX b9c2db28e4 enhanced stage check 2019-04-10 11:43:45 -05:00
Areloch c025760422 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 afb5a589c3 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 5703618dc0 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 e2b194182c 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 1627cbabe6 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 26471aaa77 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 ba8948a5b1 hook up attenuation value. todo: sort networkjing properly 2019-03-21 23:47:01 -05:00
Azaezel df6b7f3351 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 04a6130df8 sync correction 2019-03-18 04:09:34 -05:00
Azaezel caf73ea84f 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 2bf67f7fa5 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 edcdd21379 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 70d85d2241 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 2903aaeea0 WIP of the rewrite of blend/projection to follow BSF's math approach. 2019-02-22 08:12:03 -06:00
Azaezel c1bf59bf07 destructor code+ removed a crash-causing redundancy in onRemove 2019-02-20 16:59:58 -06:00
Azaezel 727dbbfd8d 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 cf50803e72 swap over to wireframe, plus a few misc cleanups 2019-02-19 13:58:29 -06:00
Azaezel 309d518249 scale reflection properly 2019-02-19 09:38:34 -06:00
Azaezel 5bce2d0904 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 e4ddfcfb01 hook editor displays back up 2019-02-19 08:55:55 -06:00
Areloch 87e9d3edbd Correct stateblock settings to display probes more correctly without crushing other forward elements. 2019-02-18 00:43:21 -06:00
Areloch b754c022ba 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 8d08ab2370 kill off a couple extraneous sets 2019-02-15 20:31:59 -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