render_context_transformation(^renderer);
// UI Rendering
- renderer.color = Color4f32.{ 0.0f, 0.0f, 0.0f, 1.0f };
- draw_rect(^renderer, ~~input_state.mouse.x, ~~input_state.mouse.y, 10f, 10f);
-
renderer.color = Color4f32.{ 1.0f, 1.0f, 1.0f, 1.0f };
- draw_rect(^renderer, 10.0f, 10.0f, 500.0f, 50.0f);
+ draw_rect(^renderer, 10.0f, 10.0f, 1000.0f, 50.0f);
renderer.color = Color4f32.{ 0.0f, 0.0f, 0.0f, 1.0f };
- draw_text(^renderer, "Hello. Test(12486),$! 0AaQq:", V2f.{ 10.0f, 10.0f }, 1.0f);
+ draw_text(^renderer, "Hello. Test(12486),$! 0AaQq:", V2f.{ 10.0f, 10.0f }, 2.0f);
+
+ draw_rect(^renderer, ~~input_state.mouse.x, ~~input_state.mouse.y, 10f, 10f);
render_context_ui(^renderer);
}
main :: proc (args: [] cstring) {
println("Setting up WebGL2 canvas...");
+ time_now :: proc () -> u32 #foreign "time" "now" ---;
+ random_seed(time_now());
+
if !gl.init("gamecanvas") {
print("Failed to initialize GL canvas.");
return;
out vec4 fragColor;
void main() {
- if (v_tex_pos.x < 0.0) {
+ if (v_tex_pos.x <= -1.0 && v_tex_pos.y <= -1.0) {
fragColor = v_col;
+
} else {
vec4 t_col = texture(tex, v_tex_pos);
+
if (t_col == vec4(1.0, 0.0, 1.0, 1.0)) {
fragColor = vec4(0.0, 0.0, 0.0, 0.0);
+
} else {
fragColor = v_col * texture(tex, v_tex_pos);
}
gl_Position = u_proj * u_world * vec4(a_vert_pos * a_size + a_pos, 0, 1);
v_col = a_col;
- if (a_tex_pos.x < 0.0) {
+ if (a_tex_pos.x < 0.0 && a_tex_pos.y < 0.0) {
v_tex_pos = vec2(-1.0, -1.0);
} else {
v_tex_pos = a_tex_pos + a_vert_pos * a_tex_size;