Skip to content

Commit

Permalink
Working on new level
Browse files Browse the repository at this point in the history
  • Loading branch information
mgerdes committed Feb 23, 2022
1 parent d717539 commit b57c534
Show file tree
Hide file tree
Showing 5 changed files with 612 additions and 3,938 deletions.
4,185 changes: 599 additions & 3,586 deletions data/levels/level-1.level

Large diffs are not rendered by default.

334 changes: 0 additions & 334 deletions src/common/graphics.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,340 +37,6 @@ void golf_graphics_init(void) {
graphics.viewport_pos = V2(0, 0);
graphics.viewport_size = V2((float)sapp_width(), (float)sapp_width());
}

/*
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/render_image.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_render_image_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_render_image_vs_texture_coord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
},
},
};
graphics.render_image_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/fxaa.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_fxaa_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_fxaa_vs_texture_coord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
},
},
};
graphics.fxaa_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/diffuse_color_material.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_diffuse_color_material_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_diffuse_color_material_vs_normal]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 1 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
};
graphics.diffuse_color_material_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/environment_material.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_environment_material_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_environment_material_vs_texturecoord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
[ATTR_environment_material_vs_normal]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 2 },
[ATTR_environment_material_vs_lightmap_uv]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 3 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
};
graphics.environment_material_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/solid_color_material.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_solid_color_material_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
.colors[0] = {
.blend = {
.enabled = true,
.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA,
.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
}
}
};
graphics.solid_color_material_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/texture_material.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_texture_material_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_texture_material_vs_texturecoord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
[ATTR_texture_material_vs_normal]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 2 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
};
graphics.texture_material_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/ui.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_ui_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_ui_vs_texture_coord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_ALWAYS
},
.colors[0] = {
.blend = {
.enabled = true,
.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA,
.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
},
},
};
graphics.ui_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/pass_through.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_pass_through_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL
},
.stencil = {
.enabled = true,
.front = {
.compare = SG_COMPAREFUNC_ALWAYS,
.depth_fail_op = SG_STENCILOP_KEEP,
.pass_op = SG_STENCILOP_REPLACE,
},
.back = {
.compare = SG_COMPAREFUNC_ALWAYS,
.depth_fail_op = SG_STENCILOP_KEEP,
.pass_op = SG_STENCILOP_REPLACE,
},
.write_mask = 255,
.ref = 255,
},
.colors[0] = {
.write_mask = SG_COLORMASK_NONE,
},
};
graphics.hole_pass1_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/texture_material.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_texture_material_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_texture_material_vs_texturecoord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
[ATTR_texture_material_vs_normal]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 2 },
},
},
.stencil = {
.enabled = true,
.front = {
.compare = SG_COMPAREFUNC_EQUAL,
},
.back = {
.compare = SG_COMPAREFUNC_EQUAL,
},
.read_mask = 255,
.ref = 255,
},
};
graphics.hole_pass2_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/aim_line.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_aim_line_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_aim_line_vs_texture_coord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = false,
},
.colors[0] = {
.blend = {
.enabled = true,
.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA,
.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
}
}
};
graphics.aim_line_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/ball.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_ball_vs_position] = { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_ball_vs_normal] = { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 1 },
[ATTR_ball_vs_texture_coord] = { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 2 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
};
graphics.ball_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/editor_water.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_editor_water_vs_position]
= { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_editor_water_vs_texture_coord]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
[ATTR_editor_water_vs_lightmap_uv]
= { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 2 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
.colors[0] = {
.blend = {
.enabled = true,
.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA,
.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
}
}
};
graphics.editor_water_pipeline = sg_make_pipeline(&pipeline_desc);
}
{
golf_shader_t *shader = golf_data_get_shader("data/shaders/water.glsl");
sg_pipeline_desc pipeline_desc = {
.shader = shader->sg_shader,
.layout = {
.attrs = {
[ATTR_water_vs_position] = { .format = SG_VERTEXFORMAT_FLOAT3, .buffer_index = 0 },
[ATTR_water_vs_texture_coord] = { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 1 },
[ATTR_water_vs_lightmap_uv] = { .format = SG_VERTEXFORMAT_FLOAT2, .buffer_index = 2 },
},
},
.depth = {
.compare = SG_COMPAREFUNC_LESS_EQUAL,
.write_enabled = true,
},
.stencil = {
.front = {
.fail_op = SG_STENCILOP_KEEP,
.depth_fail_op = SG_STENCILOP_REPLACE,
.pass_op = SG_STENCILOP_REPLACE,
.compare = SG_COMPAREFUNC_ALWAYS,
},
.back = {
.fail_op = SG_STENCILOP_KEEP,
.depth_fail_op = SG_STENCILOP_REPLACE,
.pass_op = SG_STENCILOP_REPLACE,
.compare = SG_COMPAREFUNC_ALWAYS,
},
.enabled = true,
.write_mask = 255,
.read_mask = 255,
.ref = 255,
},
.colors[0] = {
.blend = {
.enabled = true,
.src_factor_rgb = SG_BLENDFACTOR_SRC_ALPHA,
.dst_factor_rgb = SG_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
},
}
};
graphics.water_pipeline = sg_make_pipeline(&pipeline_desc);
}
*/
}

void golf_graphics_begin_frame(float dt) {
Expand Down
14 changes: 0 additions & 14 deletions src/common/graphics.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,6 @@ typedef struct golf_graphics {

mat4 ui_proj_mat, proj_mat, view_mat, proj_view_mat;
vec3 cam_pos, cam_dir, cam_up;

sg_pipeline render_image_pipeline,
diffuse_color_material_pipeline,
environment_material_pipeline,
solid_color_material_pipeline,
texture_material_pipeline,
ui_pipeline,
hole_pass1_pipeline,
hole_pass2_pipeline,
fxaa_pipeline,
aim_line_pipeline,
ball_pipeline,
editor_water_pipeline,
water_pipeline;
} golf_graphics_t;

golf_graphics_t *golf_graphics_get(void);
Expand Down
7 changes: 3 additions & 4 deletions src/editor/draw.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ static void _draw_level(void) {

switch (material.type) {
case GOLF_MATERIAL_TEXTURE: {
sg_apply_pipeline(graphics->texture_material_pipeline);
_golf_renderer_draw_with_material(model, group.start_vertex, group.vertex_count, model_mat, material);
//sg_apply_pipeline(graphics->texture_material_pipeline);
//_golf_renderer_draw_with_material(model, group.start_vertex, group.vertex_count, model_mat, material);
break;
}
case GOLF_MATERIAL_COLOR: {
Expand Down Expand Up @@ -205,7 +205,7 @@ static void _draw_level(void) {
sg_apply_pipeline(pipeline->sg_pipeline);
for (int i = 0; i < level->entities.length; i++) {
golf_entity_t *entity = &level->entities.data[i];
if (entity->type != WATER_ENTITY) continue;
if (!entity->active || entity->type != WATER_ENTITY) continue;

golf_model_t *model = golf_entity_get_model(entity);
golf_transform_t world_transform = golf_entity_get_world_transform(level, entity);
Expand Down Expand Up @@ -335,7 +335,6 @@ void golf_editor_draw(void) {
golf_geo_t *geo = editor->edit_mode.geo;
mat4 model_mat = golf_transform_get_model_mat(editor->edit_mode.transform);

sg_apply_pipeline(graphics->solid_color_material_pipeline);
for (int i = 0; i < geo->points.length; i++) {
golf_geo_point_t p = geo->points.data[i];
if (!p.active) continue;
Expand Down
Loading

0 comments on commit b57c534

Please sign in to comment.