-module(fluo@render). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/fluo/render.gleam"). -export([create_renderer/2, start_rendering/0, draw/5, end_rendering/0]). -export_type([renderer/0]). -opaque renderer() :: {renderer, binary(), binary(), gleam@dynamic:dynamic_()}. -file("src/fluo/render.gleam", 13). -spec create_renderer(binary(), binary()) -> renderer(). create_renderer(Vert, Frag) -> Handle = fluo_nif:create_renderer(Vert, Frag), {renderer, Vert, Frag, Handle}. -file("src/fluo/render.gleam", 20). -spec start_rendering() -> nil. start_rendering() -> fluo_nif:start_rendering(). -file("src/fluo/render.gleam", 23). -spec draw( renderer(), fluo@mesh:mesh(), any(), gleam@option:option(fluo@image:color_image()), gleam@option:option(fluo@image:depth_image()) ) -> nil. draw(Renderer, Mesh, Params, Color, Depth) -> fluo_nif:draw_mesh(Renderer, Mesh, Params, Color, Depth). -file("src/fluo/render.gleam", 32). -spec end_rendering() -> nil. end_rendering() -> fluo_nif:end_rendering().