package renderer Material :: struct { // 'Name'? shader_program: ^Shader_Program, texture: ^Texture, // Diffuse, normal etc later. // uniforms, textures, etc. } create_material :: proc(program: ^Shader_Program, texture0: ^Texture) -> (Material, bool) { m: Material m.shader_program = program m.texture = texture0 return m, true }