Skip to content

sokol.sgl #

Constants #

const (
	version = gfx.version + 1
	context = Context{0x00010001} // C.SGL_DEFAULT_CONTEXT = { 0x00010001 }
)

fn begin_line_strip #

fn begin_line_strip()

fn begin_lines #

fn begin_lines()

fn begin_points #

fn begin_points()

define primitives, each begin/end is one draw command

fn begin_quads #

fn begin_quads()

fn begin_triangle_strip #

fn begin_triangle_strip()

fn begin_triangles #

fn begin_triangles()

fn c1i #

fn c1i(rgba u32)

fn c3b #

fn c3b(r u8, g u8, b u8)

fn c3f #

fn c3f(r f32, g f32, b f32)

fn c4b #

fn c4b(r u8, g u8, b u8, a u8)

fn c4f #

fn c4f(r f32, g f32, b f32, a f32)

fn context_draw #

fn context_draw(ctx Context)

fn context_error #

fn context_error(ctx Context) SglError

fn context_make_pipeline #

fn context_make_pipeline(ctx Context, desc &gfx.PipelineDesc) Pipeline

fn default_context #

fn default_context() Context

fn default_pipeline #

fn default_pipeline()

fn defaults #

fn defaults()

render state functions

fn deg #

fn deg(rad f32) f32

fn destroy_context #

fn destroy_context(ctx Context)

fn destroy_pipeline #

fn destroy_pipeline(pip Pipeline)

fn disable_texture #

fn disable_texture()

fn draw #

fn draw()

render recorded commands

fn enable_texture #

fn enable_texture()

fn end #

fn end()

fn error #

fn error() SglError

fn frustum #

fn frustum(l f32, r f32, b f32, t f32, n f32, f f32)

fn get_context #

fn get_context() Context

fn load_default_pipeline #

fn load_default_pipeline()

pipeline stack functions

fn load_identity #

fn load_identity()

fn load_matrix #

fn load_matrix(m []f32)

fn load_pipeline #

fn load_pipeline(pip Pipeline)

fn load_transpose_matrix #

fn load_transpose_matrix(m []f32)

fn lookat #

fn lookat(eye_x f32, eye_y f32, eye_z f32, center_x f32, center_y f32, center_z f32, up_x f32, up_y f32, up_z f32)

fn make_context #

fn make_context(desc &ContextDesc) Context

context functions

fn make_pipeline #

fn make_pipeline(desc &gfx.PipelineDesc) Pipeline

create and destroy pipeline objects

fn matrix_mode_modelview #

fn matrix_mode_modelview()

matrix stack functions

fn matrix_mode_projection #

fn matrix_mode_projection()

fn matrix_mode_texture #

fn matrix_mode_texture()

fn mult_matrix #

fn mult_matrix(m []f32)

fn mult_transpose_matrix #

fn mult_transpose_matrix(m []f32)

fn ortho #

fn ortho(l f32, r f32, b f32, t f32, n f32, f f32)

fn perspective #

fn perspective(fov_y f32, aspect f32, z_near f32, z_far f32)

fn point_size #

fn point_size(s f32)

fn pop_matrix #

fn pop_matrix()

fn pop_pipeline #

fn pop_pipeline()

fn push_matrix #

fn push_matrix()

fn push_pipeline #

fn push_pipeline()

fn rad #

fn rad(deg f32) f32

fn rotate #

fn rotate(angle_rad f32, x f32, y f32, z f32)

fn scale #

fn scale(x f32, y f32, z f32)

fn scissor_rect #

fn scissor_rect(x int, y int, w int, h int, origin_top_left bool)

fn set_context #

fn set_context(ctx Context)

fn setup #

fn setup(desc &Desc)

setup/shutdown/misc

fn shutdown #

fn shutdown()

fn t2f #

fn t2f(u f32, v f32)

these functions only set the internal 'current texcoord / color' (valid inside or outside begin/end)

fn texture #

fn texture(img gfx.Image)

fn translate #

fn translate(x f32, y f32, z f32)

fn v2f #

fn v2f(x f32, y f32)

fn v2f_c1i #

fn v2f_c1i(x f32, y f32, rgba u32)

fn v2f_c3b #

fn v2f_c3b(x f32, y f32, r u8, g u8, b u8)

fn v2f_c3f #

fn v2f_c3f(x f32, y f32, r f32, g f32, b f32)

fn v2f_c4b #

fn v2f_c4b(x f32, y f32, r u8, g u8, b u8, a u8)

fn v2f_c4f #

fn v2f_c4f(x f32, y f32, r f32, g f32, b f32, a f32)

fn v2f_t2f #

fn v2f_t2f(x f32, y f32, u f32, v f32)

fn v2f_t2f_c1i #

fn v2f_t2f_c1i(x f32, y f32, u f32, v f32, rgba u32)

fn v2f_t2f_c3b #

fn v2f_t2f_c3b(x f32, y f32, u f32, v f32, r u8, g u8, b u8)

fn v2f_t2f_c3f #

fn v2f_t2f_c3f(x f32, y f32, u f32, v f32, r f32, g f32, b f32)

fn v2f_t2f_c4b #

fn v2f_t2f_c4b(x f32, y f32, u f32, v f32, r u8, g u8, b u8, a u8)

fn v2f_t2f_c4f #

fn v2f_t2f_c4f(x f32, y f32, u f32, v f32, r f32, g f32, b f32, a f32)

fn v3f #

fn v3f(x f32, y f32, z f32)

fn v3f_c1i #

fn v3f_c1i(x f32, y f32, z f32, rgba u32)

fn v3f_c3b #

fn v3f_c3b(x f32, y f32, z f32, r u8, g u8, b u8)

fn v3f_c3f #

fn v3f_c3f(x f32, y f32, z f32, r f32, g f32, b f32)

fn v3f_c4b #

fn v3f_c4b(x f32, y f32, z f32, r u8, g u8, b u8, a u8)

fn v3f_c4f #

fn v3f_c4f(x f32, y f32, z f32, r f32, g f32, b f32, a f32)

fn v3f_t2f #

fn v3f_t2f(x f32, y f32, z f32, u f32, v f32)

fn v3f_t2f_c1i #

fn v3f_t2f_c1i(x f32, y f32, z f32, u f32, v f32, rgba u32)

fn v3f_t2f_c3b #

fn v3f_t2f_c3b(x f32, y f32, z f32, u f32, v f32, r u8, g u8, b u8)

fn v3f_t2f_c3f #

fn v3f_t2f_c3f(x f32, y f32, z f32, u f32, v f32, r f32, g f32, b f32)

fn v3f_t2f_c4b #

fn v3f_t2f_c4b(x f32, y f32, z f32, u f32, v f32, r u8, g u8, b u8, a u8)

fn v3f_t2f_c4f #

fn v3f_t2f_c4f(x f32, y f32, z f32, u f32, v f32, r f32, g f32, b f32, a f32)

fn viewport #

fn viewport(x int, y int, w int, h int, origin_top_left bool)

type Context #

type Context = C.sgl_context

type ContextDesc #

type ContextDesc = C.sgl_context_desc_t

ContextDesc

Describes the initialization parameters of a rendering context.
Creating additional contexts is useful if you want to render in separate sokol-gfx passes.
ContextDesc is sgl_context_desc_t

type Desc #

type Desc = C.sgl_desc_t

type Pipeline #

type Pipeline = C.sgl_pipeline

enum SglError #

enum SglError {
	no_error = C.SGL_NO_ERROR // 0
	vertices_full = C.SGL_ERROR_VERTICES_FULL
	uniforms_full = C.SGL_ERROR_UNIFORMS_FULL
	commands_full = C.SGL_ERROR_COMMANDS_FULL
	stack_overflow = C.SGL_ERROR_STACK_OVERFLOW
	stack_underfloat = C.SGL_ERROR_STACK_UNDERFLOW
	no_context = C.SGL_ERROR_NO_CONTEXT
}

SglError is C.sgl_error_t