this shit is finally working
This commit is contained in:
parent
f1dcc0f1b5
commit
b781938559
5 changed files with 107 additions and 82 deletions
|
|
@ -6,11 +6,12 @@ uniform vec2 textureTiling;
|
|||
in vec2 fragTexCoord;
|
||||
in vec3 fragNormal;
|
||||
in vec2 fragTileTexCoord;
|
||||
flat in int ambientOcclusionSide1;
|
||||
flat in int ambientOcclusionSide2;
|
||||
flat in int ambientOcclusionCorner1;
|
||||
flat in int ambientOcclusionCorner2;
|
||||
flat in int ambientOcclusionCorner3;
|
||||
|
||||
flat in uvec4 occlusionSides;
|
||||
flat in int topLeftObscured;
|
||||
flat in int topRightObscured;
|
||||
flat in int bottomLeftObscured;
|
||||
flat in int bottomRightObscured;
|
||||
flat in int quadHeight;
|
||||
flat in int quadWidth;
|
||||
|
||||
|
|
@ -32,12 +33,23 @@ void main()
|
|||
|
||||
ivec2 floorFragTileTexCoord = ivec2(fragTileTexCoord);
|
||||
|
||||
if(fragTileTexCoord.x < 1 && (((ambientOcclusionSide1 >> floorFragTileTexCoord.y) & 1) == 1)) outColor *= 0.5 + fakeArcsin(fragTileTexCoord.x);
|
||||
//if(fragTileTexCoord.x < 1 && (int(occlusionSides.x >> floorFragTileTexCoord.x) & 1) == 1) {
|
||||
//if(fragTileTexCoord.x < 1 && (occlusionSides.x & uint(0x20000000)) > uint(0)) {
|
||||
//if(fragTileTexCoord.x < 1 && (occlusionSides.x & uint(0x40000000)) > uint(0)) {
|
||||
//if(fragTileTexCoord.x < 1 && (occlusionSides.x & uint(0x10000000)) > uint(0)) {
|
||||
|
||||
//if ((fragTileTexCoord.x < 1) && (occlusionSides.x > uint(0))) {
|
||||
|
||||
// if(fragTileTexCoord.x < 0.125 && fragTileTexCoord.x < fract(fragTileTexCoord.y) && fragTileTexCoord.x + fract(fragTileTexCoord.y) < 1.0 && ((ambientOcclusionSide1 >> floorFragTileTexCoord.y) & 1) == 1) outColor *= 0.5;
|
||||
|
||||
//if((fragTileTexCoord.x < 0.25 || fragTileTexCoord.x > quadWidth-0.25) && (((ambientOcclusionSide1 >> floorFragTileTexCoord.y) & 1) == 1)) outColor *= 0.5;
|
||||
//if((fragTileTexCoord.y < 0.25 || fragTileTexCoord.y > quadHeight-0.25) && (((ambientOcclusionSide2 >> floorFragTileTexCoord.y) & 1) == 1)) outColor *= 0.5;
|
||||
if(fragTileTexCoord.x < 1 && ((occlusionSides.x >> floorFragTileTexCoord.x) & uint(1)) == uint(1)) {
|
||||
outColor *= 0.5 + fakeArcsin(fragTileTexCoord.x);
|
||||
}
|
||||
|
||||
outColor.a = 1;
|
||||
outColor.r = occlusionSides.x > uint(0) ? 1.0 : 0.0;
|
||||
//outColor.g = ((occlusionSides.x & uint(0x01000000)) > uint(0)) ? 1.0 : 0.0;
|
||||
|
||||
uint bit = uint(fragTileTexCoord * 32);
|
||||
outColor.g = (((occlusionSides.x >> bit) & uint(1)) == uint(1)) ?
|
||||
((bit % uint(2) == uint(0)) ? 1.0 : 0.8):
|
||||
((bit % uint(2) == uint(0)) ? 0.0 : 0.2);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue