From 8fa56041589e5b17386670a8a3f2d86cb5a6dcd6 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 1 Mar 2021 21:17:44 -0600 Subject: [PATCH] bugfix with quad rendering --- lib/immediate_renderer.onyx | 18 ++++++++++++------ test/basic.onyx | 6 +++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/immediate_renderer.onyx b/lib/immediate_renderer.onyx index e6f4862..5551edb 100644 --- a/lib/immediate_renderer.onyx +++ b/lib/immediate_renderer.onyx @@ -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); }, diff --git a/test/basic.onyx b/test/basic.onyx index 7baf413..06a62f9 100644 --- a/test/basic.onyx +++ b/test/basic.onyx @@ -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 { -- 2.25.1