Current section
Files
Jump to
Current section
Files
src/fluo@render.erl
-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().