Skip to content

Commit d4711ea

Browse files
slipherillwieckz
authored andcommitted
srgb u_LinearizeTexture - use normal bitwise ops
1 parent ca24133 commit d4711ea

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

Diff for: src/engine/renderer/glsl_source/lightMapping_fp.glsl

+3-7
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

Diff for: src/engine/renderer/tr_shader.cpp

+3-1
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)