mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 09:09:47 +00:00
Slightly optimize IndexedToRGB.gdshader
Multiply the index by 255.0 only once, instead of dividing and multiplying it again
This commit is contained in:
parent
bd7d3b19cc
commit
7cf87ac142
|
@ -7,14 +7,14 @@ uniform sampler2D palette_texture : filter_nearest;
|
|||
uniform sampler2D indices_texture : filter_nearest;
|
||||
|
||||
void fragment() {
|
||||
float index = texture(indices_texture, UV).r;
|
||||
float index = texture(indices_texture, UV).r * 255.0;
|
||||
if (index <= EPSILON) { // If index is zero, make it transparent
|
||||
COLOR = vec4(0.0);
|
||||
}
|
||||
else {
|
||||
float n_of_colors = float(textureSize(palette_texture, 0).x);
|
||||
index -= 1.0 / 255.0;
|
||||
float index_normalized = ((index * 255.0)) / n_of_colors;
|
||||
index -= 1.0;
|
||||
float index_normalized = index / n_of_colors;
|
||||
if (index_normalized + EPSILON < 1.0) {
|
||||
COLOR = texture(palette_texture, vec2(index_normalized + EPSILON, 0.0));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue