bugfix with quad rendering
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 2 Mar 2021 03:17:44 +0000 (21:17 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 2 Mar 2021 03:17:44 +0000 (21:17 -0600)
lib/immediate_renderer.onyx
test/basic.onyx

index e6f4862fe87c7b4ceb46cc22bbda879c762ba549..5551edb43e48046c4dba8d6f08d7d4721257d86f 100644 (file)
@@ -125,13 +125,13 @@ Immediate_Renderer :: struct {
     }
 
     quad :: (use ir: ^Immediate_Renderer, position: Vector2, size: Vector2, color: Color4 = .{1,1,1,1}) {
-        immediate_renderer->push_vertex(.{ position.x,          position.y          }, color);
-        immediate_renderer->push_vertex(.{ position.x + size.x, position.y          });
-        immediate_renderer->push_vertex(.{ position.x + size.x, position.y + size.y });
+        push_vertex(ir, .{ position.x,          position.y          }, color);
+        push_vertex(ir, .{ position.x + size.x, position.y          });
+        push_vertex(ir, .{ position.x + size.x, position.y + size.y });
 
-        immediate_renderer->push_vertex(.{ position.x,          position.y          });
-        immediate_renderer->push_vertex(.{ position.x + size.x, position.y + size.y });
-        immediate_renderer->push_vertex(.{ position.x,          position.y + size.y });
+        push_vertex(ir, .{ position.x,          position.y          });
+        push_vertex(ir, .{ position.x + size.x, position.y + size.y });
+        push_vertex(ir, .{ position.x,          position.y + size.y });
     }
 }
 
@@ -149,6 +149,12 @@ immediate_renderer_init :: () {
     Immediate_Renderer.init(^immediate_renderer);
 }
 
+// This is probably useless, since this will probably be initialized for the duration
+// of the webpage being open.
+immediate_renderer_free :: () {
+    Immediate_Renderer.free(^immediate_renderer);
+}
+
 immediate_vertex :: proc {
     (position: Vector2)                { immediate_renderer->push_vertex(position); },
     (position: Vector2, color: Color4) { immediate_renderer->push_vertex(position, color); },
index 7baf4137cd7d12c44067821ed31b905206245aa1..06a62f9e07ecd2c1f0fcd83312625b2d1fb1bf7c 100644 (file)
@@ -50,8 +50,8 @@ draw :: () {
     y := math.sin(t);
 
     immediate_vertex(.{ 0, 0 }, color=.{ 1, 1, 1, 1 });
-    immediate_vertex(.{ x, -y });
-    immediate_vertex(.{ y, x });
+    immediate_vertex(.{ x, y });
+    immediate_vertex(.{ -y, x });
 
     if cast(u32) t % 2 == 0 {
         immediate_vertex(.{ 0, 0 },     color=.{ 1, 0, 0, 1 });
@@ -59,7 +59,7 @@ draw :: () {
         immediate_vertex(.{ 0, -1.0f }, color=.{ 0, 0, 1, 1 });
     }
 
-    immediate_quad(.{ 0, 0 }, .{ .1, .1 }, .{ 1, 0, 1, 1 });
+    immediate_quad(.{0, 0}, .{.1, .1}, .{1, 0, 1, 1});
 }
 
 loop :: () -> void #export {