animate lava tiles
This commit is contained in:
@@ -5,8 +5,7 @@ flat in uint v_tileidx;
|
||||
out vec4 pixcolor;
|
||||
uniform sampler2D t_atlas;
|
||||
uniform b_constants {
|
||||
//uvec4 animdata;
|
||||
uint animdata;
|
||||
uvec4 anim;
|
||||
float R1;
|
||||
float R2;
|
||||
};
|
||||
@@ -19,8 +18,7 @@ uniform b_locals {
|
||||
|
||||
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)) {
|
||||
if (v_tileidx < 128u && bool(anim[v_tileidx / 32u] & 1u << v_tileidx % 32u)) {
|
||||
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);
|
||||
|
||||
@@ -12,8 +12,7 @@ uniform b_trans {
|
||||
mat4 u_matrix;
|
||||
};
|
||||
uniform b_constants {
|
||||
//uvec4 animdata;
|
||||
uint animdata;
|
||||
uvec4 anim;
|
||||
float R1;
|
||||
float R2;
|
||||
};
|
||||
|
||||
@@ -35,7 +35,7 @@ gfx_defines! {
|
||||
}
|
||||
|
||||
constant Constants {
|
||||
anim: u32 = "anim",
|
||||
anim: [u32; 4] = "anim",
|
||||
r1: f32 = "R1",
|
||||
r2: f32 = "R2",
|
||||
}
|
||||
@@ -143,7 +143,7 @@ impl<D: gfx::Device, F: gfx::Factory<D::Resources>> WorldScene<D, F> {
|
||||
factory.create_vertex_buffer_with_slice(&model, &model_idx[..]);
|
||||
|
||||
let constants = factory.create_constant_buffer(1);
|
||||
encoder.update_constant_buffer(&constants, &Constants { anim: ANIMDATA[0],
|
||||
encoder.update_constant_buffer(&constants, &Constants { anim: ANIMDATA,
|
||||
r1: R1,
|
||||
r2: R2 });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user