AzaezelX
6326147fca
invert surface.NdotV contribution for brdf texture lookup in keeping with authoring tool outputs
2019-05-05 20:09:35 -05:00
AzaezelX
78a2a5c427
normal orientation debug lines (remmed)
2019-05-05 18:35:08 -05:00
AzaezelX
80c9f35ee1
go back to using raw wsNormal with a few additional prep-lines for if that hasn't been made a var for that shader yet
2019-05-05 18:34:39 -05:00
AzaezelX
fccd2117cf
Merge branch 'PBR_ProbeArrayGLWIP' of https://github.com/Areloch/Torque3D into PBR_ProbeArrayGLWIP
2019-05-03 00:21:01 -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
dd1470202d
Merge branch 'development' of https://github.com/GarageGames/Torque3D into PBR_ProbeArrayGLWIP
...
# Conflicts:
# Engine/source/gfx/D3D11/gfxD3D11Device.cpp
# Engine/source/lighting/lightManager.cpp
# Templates/Full/game/levels/Empty Room.mis
# Templates/Full/game/levels/Empty Terrain.mis
2019-05-01 23:18:31 -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
AzaezelX
427154f6e1
specify lod (mip) 0 for the brdf texture
2019-04-18 19:31:33 -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
29e211f064
removed extraneous finalcolor set mangling specular input
2019-04-10 17:47:56 -05:00
AzaezelX
8118f42411
leverage the macros for a bit more legibility
2019-04-10 14:14:10 -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
Areloch
5cefad72b3
Failed to get the Scene changes for the Full template rolled up. This corrects that.
2019-03-31 22:12:38 -05:00
Azaezel
27a97fd273
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
552d0e4f4b
not even using this method
2019-03-29 01:15:24 -05:00
Azaezel
a31c584687
method sig cleanup
2019-03-29 01:13:42 -05:00
Azaezel
0bc9d8023b
typofix
2019-03-29 00:55:42 -05:00
Azaezel
837348d92f
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
6f82b6c264
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
29660ce58b
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
1d36cf05b0
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
903efc7cfd
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
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
Azaezel
fdb4c5c964
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
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
Azaezel
f01c41a899
cleanups. don't really want to be multiplying the color itsself by contribution ammount
2019-03-24 19:28:51 -05:00
Azaezel
2c1a786e23
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
52e946405b
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
3af1129e75
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
de8b267780
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
b935b7b19f
from tim: no need for mip for the diffuse contribution. the prefilter handles that
2019-03-24 18:38:14 -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
003c79132e
simplification
2019-03-20 08:38:48 -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
306bfb4718
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
3aac1421cc
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
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
Azaezel
3afbdff871
changes a bit of the probecount logic to be based on probehit aka, how many probes specifically are hitting a given pixel. allows for attenuation-blended probe to probe, and full-override probe to skylight.
2019-03-08 06:34:51 -06:00
Azaezel
d83dac0bcf
reflection scalefix
2019-03-05 00:41:00 -06:00