Skip to content

Commit 56e79ae

Browse files
slipherillwieckz
authored andcommitted
srgb u_LinearizeTexture - use normal bitwise ops
1 parent 427d555 commit 56e79ae

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

src/engine/renderer/glsl_source/lightMapping_fp.glsl

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,9 @@ void main()
110110
return;
111111
}
112112

113-
/* HACK: emulate three-bits bitfield
114-
even: no color map linearization (first bit)
115-
less than 2: no light map linearization (second bit)
116-
positive: no material map linearization (extra bit) */
117-
bool linearizeColorMap = bool(u_LinearizeTexture % 2);
118-
bool linearizeLightMap = abs(u_LinearizeTexture) > 1;
119-
bool linearizeMaterialMap = u_LinearizeTexture < 0;
113+
bool linearizeColorMap = ( u_LinearizeTexture & 0x1 ) != 0;
114+
bool linearizeLightMap = ( u_LinearizeTexture & 0x2 ) != 0;
115+
bool linearizeMaterialMap = ( u_LinearizeTexture & 0x4 ) != 0;
120116

121117
convertFromSRGB(diffuse.rgb, linearizeColorMap);
122118

src/engine/renderer/tr_shader.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4767,7 +4767,9 @@ static int packLinearizeTexture( bool linearizeColorMap, bool linearizeMaterialM
47674767
even: no color map linearization (first bit)
47684768
less than 2: no light map linearization (second bit)
47694769
positive: no material map linearization (extra bit) */
4770-
return ( int(linearizeColorMap) + ( 2 * int(linearizeLightMap) ) ) * ( linearizeMaterialMap ? -1 : 1 );
4770+
return linearizeColorMap << 0
4771+
| linearizeLightMap << 1
4772+
| linearizeMaterialMap << 2;
47714773
}
47724774

47734775
/*

0 commit comments

Comments
 (0)