Add black background
This commit is contained in:
parent
705f498daa
commit
77c5c23cf5
3 changed files with 20 additions and 10 deletions
|
|
@ -29,7 +29,7 @@ ColorComponent :: struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
MeshID :: enum {
|
MeshID :: enum {
|
||||||
CubeMesh,
|
Cube,
|
||||||
}
|
}
|
||||||
|
|
||||||
MeshComponent :: struct {
|
MeshComponent :: struct {
|
||||||
|
|
@ -37,7 +37,7 @@ MeshComponent :: struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialID :: enum {
|
MaterialID :: enum {
|
||||||
GridTexture,
|
Grid,
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialComponent :: struct {
|
MaterialComponent :: struct {
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ init_grid_material :: proc(render_system: ^RenderSystem) {
|
||||||
|
|
||||||
sampler := sg.make_sampler({})
|
sampler := sg.make_sampler({})
|
||||||
|
|
||||||
render_system.materials[.GridTexture] = Material{
|
render_system.materials[.Grid] = Material{
|
||||||
shader = shader,
|
shader = shader,
|
||||||
pipeline = pipeline,
|
pipeline = pipeline,
|
||||||
image = image,
|
image = image,
|
||||||
|
|
@ -158,7 +158,7 @@ init_cube_mesh :: proc (render_system: ^RenderSystem) {
|
||||||
data = sg_range(cube_indices),
|
data = sg_range(cube_indices),
|
||||||
})
|
})
|
||||||
|
|
||||||
render_system.meshes[.CubeMesh] = Mesh{
|
render_system.meshes[.Cube] = Mesh{
|
||||||
vertex_buffer = vertex_buffer,
|
vertex_buffer = vertex_buffer,
|
||||||
index_buffer = index_buffer,
|
index_buffer = index_buffer,
|
||||||
}
|
}
|
||||||
|
|
@ -182,11 +182,11 @@ render_system_init :: proc(render_system: ^RenderSystem, camera_entity: EntityID
|
||||||
}
|
}
|
||||||
|
|
||||||
render_system_delete :: proc(render_system: ^RenderSystem, coordinator: ^Coordinator) {
|
render_system_delete :: proc(render_system: ^RenderSystem, coordinator: ^Coordinator) {
|
||||||
cube_mesh := render_system.meshes[.CubeMesh]
|
cube_mesh := render_system.meshes[.Cube]
|
||||||
sg.destroy_buffer(cube_mesh.index_buffer)
|
sg.destroy_buffer(cube_mesh.index_buffer)
|
||||||
sg.destroy_buffer(cube_mesh.vertex_buffer)
|
sg.destroy_buffer(cube_mesh.vertex_buffer)
|
||||||
|
|
||||||
grid_material := render_system.materials[.GridTexture]
|
grid_material := render_system.materials[.Grid]
|
||||||
sg.destroy_image(grid_material.image)
|
sg.destroy_image(grid_material.image)
|
||||||
sg.destroy_sampler(grid_material.sampler)
|
sg.destroy_sampler(grid_material.sampler)
|
||||||
sg.destroy_pipeline(grid_material.pipeline)
|
sg.destroy_pipeline(grid_material.pipeline)
|
||||||
|
|
@ -203,8 +203,18 @@ render_system_update :: proc(render_system: ^RenderSystem, coordinator: ^Coordin
|
||||||
|
|
||||||
proj := linalg.matrix4_perspective_f32(70, sa.widthf() / sa.heightf(), 0.001, 1000)
|
proj := linalg.matrix4_perspective_f32(70, sa.widthf() / sa.heightf(), 0.001, 1000)
|
||||||
view := linalg.matrix4_look_at_f32(camera.position, camera.target, { 0, 1, 0 } )
|
view := linalg.matrix4_look_at_f32(camera.position, camera.target, { 0, 1, 0 } )
|
||||||
|
|
||||||
sg.begin_pass({ swapchain = sh.glue_swapchain() })
|
BACKGROUND_COLOR :: sg.Color{ 0, 0, 0, 1 }
|
||||||
|
CLEAR_SCREEN_ACTION :: sg.Pass_Action{
|
||||||
|
colors = {
|
||||||
|
0 = {
|
||||||
|
load_action = .CLEAR,
|
||||||
|
clear_value = BACKGROUND_COLOR,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sg.begin_pass({ swapchain = sh.glue_swapchain(), action = CLEAR_SCREEN_ACTION })
|
||||||
|
|
||||||
for entity in render_system.entities {
|
for entity in render_system.entities {
|
||||||
transform := coordinator_get_component(TransformComponent, coordinator, entity)
|
transform := coordinator_get_component(TransformComponent, coordinator, entity)
|
||||||
|
|
|
||||||
|
|
@ -211,14 +211,14 @@ create_scene :: proc() {
|
||||||
&g.coordinator,
|
&g.coordinator,
|
||||||
entity,
|
entity,
|
||||||
ecs.MeshComponent{
|
ecs.MeshComponent{
|
||||||
mesh_id = .CubeMesh
|
mesh_id = .Cube
|
||||||
})
|
})
|
||||||
ecs.coordinator_add_component(
|
ecs.coordinator_add_component(
|
||||||
ecs.MaterialComponent,
|
ecs.MaterialComponent,
|
||||||
&g.coordinator,
|
&g.coordinator,
|
||||||
entity,
|
entity,
|
||||||
ecs.MaterialComponent{
|
ecs.MaterialComponent{
|
||||||
material_id = .GridTexture
|
material_id = .Grid
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue