Browse Source

remove unused render_groups, and add SDL shutdown

testing
cinnaboot 6 years ago
parent
commit
2ffeeaf780
  1. 2
      examples/assimp_loading/main.cpp
  2. 6
      include/renderer.h
  3. 38
      src/renderer.cpp

2
examples/assimp_loading/main.cpp

@ -82,7 +82,7 @@ main()
else
LOG(Error) << "Error initializing entity, exiting\n";
// TODO: way more cleanup to do :(, see hexgame::cleanUp()
renShutdown(rs);
meShutdownAssimp();
return 0;
}

6
include/renderer.h

@ -32,10 +32,6 @@ struct render_state
camera cam;
util_RGBA clear_col;
render_group* filled_hex_render_group;
render_group* hex_line_render_group;
render_group* debug_render_group;
// NOTE: entity render groups are stored on the entity object
rg_shader_program default_shader;
rg_point_light* lights;
@ -45,7 +41,7 @@ struct render_state
render_state* renInit();
void renFreeBuffers(render_state* rs);
void renShutdown(render_state* rs);
void renRenderFrame(render_state* rs, Entity* entities, uint32 entity_count);

38
src/renderer.cpp

@ -32,7 +32,6 @@ bool initSDL(SDL_Handles& handles);
bool createWindow(SDL_Handles& handles, v2i& viewport_dims);
bool initContext(SDL_Handles& handles);
bool initGlOptions();
bool initDebugRenderGroup(render_state* rs);
void setDefaults(render_state* rs);
@ -48,8 +47,7 @@ renInit()
createWindow(rs->handles, rs->viewport_dims) &&
initContext(rs->handles) &&
initGlOptions() &&
rgInitShaderProgram(rs->default_shader, DEFAULT_VERTEX_SHADER, DEFAULT_FRAGMENT_SHADER) &&
initDebugRenderGroup(rs) )
rgInitShaderProgram(rs->default_shader, DEFAULT_VERTEX_SHADER, DEFAULT_FRAGMENT_SHADER))
{
return rs;
} else {
@ -59,12 +57,12 @@ renInit()
}
void
renFreeBuffers(render_state* rs)
renShutdown(render_state* rs)
{
utilSafeFree(rs->lights);
rgFree(rs->filled_hex_render_group);
rgFree(rs->hex_line_render_group);
rgFree(rs->debug_render_group);
SDL_GL_DeleteContext(rs->handles.glContext);
SDL_DestroyWindow(rs->handles.window);
SDL_Quit();
}
void
@ -216,32 +214,6 @@ initGlOptions()
return true;
}
bool
initDebugRenderGroup(render_state* rs)
{
uint debug_buf_len = 12; // 4 vertices, 3 floats per vertex
rs->debug_render_group = rgInitSingle(rs->default_shader, debug_buf_len, true, 0, GL_LINE_LOOP);
if (rs->debug_render_group == nullptr) {
LOG(Error) << "Error initializing debug render group\n";
return false;
}
gl_buffer& debug_vertex_buf = rs->debug_render_group->render_objects[0]->vertex_buffer;
gl_buffer& debug_normal_buf = rs->debug_render_group->render_objects[0]->normal_buffer;
for (uint i = 0; i < debug_buf_len; i += 3) {
debug_normal_buf.buffer[i] = 0.f;
debug_normal_buf.buffer[i + 1] = 0.f;
debug_normal_buf.buffer[i + 2] = 1.f;
}
rgInitGLFloatBuffer(&debug_vertex_buf, GL_DYNAMIC_DRAW, GL_ARRAY_BUFFER);
rgInitGLFloatBuffer(&debug_normal_buf, GL_STATIC_DRAW, GL_ARRAY_BUFFER);
return true;
}
void
setDefaults(render_state* rs)
{

Loading…
Cancel
Save