simple tile heights
This commit is contained in:
28
src/scenes/shader/tile_frag.glsl
Normal file
28
src/scenes/shader/tile_frag.glsl
Normal file
@@ -0,0 +1,28 @@
|
||||
#version 150
|
||||
|
||||
in vec2 v_uv;
|
||||
flat in uint v_tileidx;
|
||||
out vec4 pixcolor;
|
||||
uniform sampler2D t_atlas;
|
||||
uniform b_constants {
|
||||
//uvec4 animdata;
|
||||
uint animdata;
|
||||
float R1;
|
||||
float R2;
|
||||
};
|
||||
uniform b_locals {
|
||||
mat4 camera;
|
||||
uint millis;
|
||||
float treadmill_x;
|
||||
float treadmill_y;
|
||||
};
|
||||
|
||||
void main() {
|
||||
vec2 anim_uv = v_uv;
|
||||
//if (v_tileidx < 128u && bool(animdata[0 /*v_tileidx / 32u*/] & 1u << v_tileidx % 32u)) {
|
||||
if (v_tileidx < 32u && bool(animdata & 1u << v_tileidx)) {
|
||||
anim_uv = vec2(v_uv.x, float((uint(v_uv.y * 1000.0) + millis / 4u) % 1000u) / 1000.0);
|
||||
}
|
||||
vec2 uv = vec2(anim_uv.x, float(v_tileidx) / 256.0 + (1.0 - anim_uv.y) / 256.0);
|
||||
pixcolor = texture(t_atlas, uv);
|
||||
}
|
||||
Reference in New Issue
Block a user