29 lines
597 B
Odin
29 lines
597 B
Odin
package renderer
|
|
|
|
import "core:fmt"
|
|
|
|
MAX_DRAW_COMMANDS_PER_PASS :: 1024
|
|
|
|
Pass :: struct {
|
|
name: string,
|
|
clear_color: RGB_Color,
|
|
|
|
draw_commands: [MAX_DRAW_COMMANDS_PER_PASS]Draw_Command,
|
|
draw_command_count: u32,
|
|
}
|
|
|
|
Draw_Command :: struct {
|
|
mesh: Mesh,
|
|
material: Material,
|
|
}
|
|
|
|
add_command_to_pass :: proc(pass: ^Pass, command: Draw_Command) -> bool {
|
|
if pass.draw_command_count >= len(pass.draw_commands) {
|
|
return false
|
|
}
|
|
|
|
pass.draw_commands[pass.draw_command_count] = command
|
|
pass.draw_command_count += 1
|
|
|
|
return true
|
|
} |