"uniform vec4 uOffset;" // Tile x/y, uv x/y
"uniform mat3 uPv;"
"uniform mat2 uSubTransform;"
+ //"uniform float uVisibility;"
""
"out vec4 aTexCoords;"
"out vec2 aWorldCoords;"
""
"void main()"
"{"
+ "vec2 hash_val = hash22(uOffset.xy);"
+ //"float scaling_factor = smoothstep( hash_val.x, hash_val.x+1.0, uVisibility );"
+
// Vertex transform
"vec2 subtransform = uSubTransform * (a_co-0.5) + 0.5;"
"vec3 worldpos = vec3( subtransform + uOffset.xy, 1.0 );"
"gl_Position = vec4( uPv * worldpos, 1.0 );"
// Create texture coords
- "vec2 random_offset = floor(hash22(uOffset.xy) * 4.0) * 0.25;"
+ "vec2 random_offset = floor(hash_val * 4.0) * 0.25;"
"vec2 edge_safe_coords = a_co * 0.98 + 0.01;"
"aTexCoords = vec4((edge_safe_coords + uOffset.zw) * 0.25, edge_safe_coords * 0.25 + random_offset );"
"aWorldCoords = worldpos.xy;"
"FragColor = mix( output_regular, output_ghost, uGhost ) * uColour;"
"}"
,
- UNIFORMS({ "uPv", "uOffset", "uTexGlyphs", "uTexWood", "uSubTransform", "uGhost", "uMousePos", "uColour", "uForeground" })
+ UNIFORMS({ "uPv", "uOffset", "uTexGlyphs", "uTexWood", "uSubTransform", "uGhost", "uMousePos", "uColour", "uForeground", "uVisibility" })
)
SHADER_DEFINE( shader_background,
int serial_id;
int is_tutorial;
-
+
+ #ifdef VG_STEAM
SteamLeaderboard_t steam_leaderboard;
+ #endif
};
static struct cmp_level cmp_levels_tutorials[] =