Commit graph

3584 commits

Author SHA1 Message Date
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
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
Azaezel
a480dbe5cb 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
9ee79bb4fa reflection scalefix 2019-03-05 00:41:00 -06:00
Azaezel
7eb6f767d0 debug crashfix. append .xyz so it knows 'yes, i do mean float4 to float3' 2019-03-05 00:28:34 -06:00
Azaezel
4275e340f4 boxproject converted to obb. TODO: convert defineBoxSpaceInfluence to obb as well by getting rid of that length(boxMaxLS - boxMinLS); in favor of a 3D scale calc set. 2019-03-04 23:29:23 -06:00
Areloch
c6e4b4a0e4 Corrected yorks chapel materials + added to the main test level 2019-03-04 17:57:53 -06:00
Azaezel
a01b470a75 lightmap testbed 2019-03-04 16:48:28 -06:00
Azaezel
b31206e468 1) use surface.R(reflection vector), not surface.N(worldspace normal) so we have pov based variation on skylight reflections.
2) use lerp based on the sum contribution of probes for a given pixel as calculated by all non-skylight probes. vs the skylight probe result. (math is currently still wrong, or we wouldn't be needing to use a saturate to get skylights showing)
TODO: find out where the attenuation went for a smooth blend. probably the same thing killing unsaturated skylight display..
2019-03-03 17:27:26 -06:00
Azaezel
460e295677 slimmed down level save 2019-03-03 15:59:02 -06:00
Areloch
08267ce451 Broke the functions out from the probeData struct
Moved ibl stuff back out of lighting.hlsl into probeArray shader for now.
2019-03-03 15:47:28 -06:00
Azaezel
fd0c90c575 mergefix 2019-03-03 14:22:28 -06:00
Azaezel
f15fd381aa 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-03 11:54:24 -06: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
Azaezel
2552bb1f64 EXPERIMENTATION: for paranoias sake, go ahead and normalize the reflection vector input for boxproject, throw out any out of range contributions (HACK ALERT!) and, what would appear to be the most corrective, reverse the blendfactor math. 2019-02-25 12:37:05 -06:00
Azaezel
91de7c44f8 shift the wip code back out of lighting.hlsl till were sure of it, and while we're at it, shove the probe methods into the probe class to more easily differentiate between blend-val and raw contribution factors 2019-02-25 02:39:00 -06:00
Areloch
2c91ca69fc Shift back to the seb methodology, but keep the probe struct for cleaner and easier to read code 2019-02-25 01:08:23 -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
7358d5bf37 sample surface roughness for diffuse return. 0 means sharpest possible result 2019-02-19 14:37:44 -06:00
Azaezel
23a09333d2 no need to z flip the diffuse box dx side. may need to gl side 2019-02-19 14:17:52 -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
9a30ad7651 set blendfactor to blendval when only one probe. 2019-02-19 09:24:38 -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
Azaezel
2d0a09c07e won't be needing the flipflop after yesterdays alterations unless we also need to do up a blur pass, at which point the name wouldn't be apropriate anyway. 2019-02-18 17:11:04 -06:00
Azaezel
dc729b3cae seperated out the sum of the total weights form the sum of the factored weights 2019-02-18 16:13:17 -06:00
Azaezel
a80ff9760f need to seperate out raw from blended blendvals 2019-02-18 14:53:21 -06:00