Spheres/primitive built-in meshes, cull-modes, vec4 uniforms
This commit is contained in:
@@ -517,6 +517,29 @@ when RENDER_BACKEND_OPENGL {
|
||||
)
|
||||
}
|
||||
|
||||
opengl_set_cull_mode :: proc(renderer: ^Renderer, cull_mode: Cull_Mode) {
|
||||
switch cull_mode {
|
||||
case .None: {
|
||||
gl.Disable(gl.CULL_FACE)
|
||||
}
|
||||
case .Back: {
|
||||
gl.Enable(gl.CULL_FACE)
|
||||
gl.CullFace(gl.BACK)
|
||||
gl.FrontFace(gl.CCW)
|
||||
}
|
||||
case .Front: {
|
||||
gl.Enable(gl.CULL_FACE)
|
||||
gl.CullFace(gl.FRONT)
|
||||
gl.FrontFace(gl.CCW)
|
||||
}
|
||||
case .Front_Back: {
|
||||
gl.Enable(gl.CULL_FACE)
|
||||
gl.CullFace(gl.FRONT_AND_BACK)
|
||||
gl.FrontFace(gl.CCW)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
opengl_bind_render_target :: proc(renderer: ^Renderer, rt: ^Render_Target) {
|
||||
if rt == nil {
|
||||
gl.BindFramebuffer(gl.FRAMEBUFFER, 0)
|
||||
@@ -629,7 +652,7 @@ when RENDER_BACKEND_OPENGL {
|
||||
return false
|
||||
}
|
||||
|
||||
gl.Uniform1f(loc, uniform.value^)
|
||||
gl.Uniform1f(loc, uniform.value)
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -644,7 +667,7 @@ when RENDER_BACKEND_OPENGL {
|
||||
return false
|
||||
}
|
||||
|
||||
data := transmute([16]f32)(uniform.value^)
|
||||
data := transmute([16]f32)(uniform.value)
|
||||
gl.UniformMatrix4fv(loc, 1, gl.FALSE, &data[0])
|
||||
|
||||
return true
|
||||
@@ -659,7 +682,23 @@ when RENDER_BACKEND_OPENGL {
|
||||
return false
|
||||
}
|
||||
|
||||
gl.Uniform3fv(loc, 1, &uniform.value[0])
|
||||
v := transmute([3]f32)uniform.value
|
||||
gl.Uniform3fv(loc, 1, &v[0])
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
opengl_set_shader_uniform_vector4 :: proc(program: ^Shader_Program, uniform: Uniform_Vector4) -> bool {
|
||||
opengl_activate_shader_program(program)
|
||||
|
||||
loc := gl.GetUniformLocation(program.backend.handle, fmt.ctprintf("%v", uniform.name))
|
||||
if loc < 0 {
|
||||
fmt.printfln("vector4 Loc: %v", loc)
|
||||
return false
|
||||
}
|
||||
|
||||
v := transmute([4]f32)uniform.value
|
||||
gl.Uniform4fv(loc, 1, &v[0])
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user