Browse Source

re-enable proper render_group memory free

master
cinnaboot 8 years ago
parent
commit
dc2b3819ee
  1. 30
      src/renderer.cpp

30
src/renderer.cpp

@ -85,10 +85,10 @@ struct camera
// globals // globals
static gl_matrix_info g_scene_matrices; static gl_matrix_info g_scene_matrices;
static render_group g_filled_hex_render_group; static render_group* g_filled_hex_render_group;
static render_group g_hex_line_render_group; static render_group* g_hex_line_render_group;
static render_group g_debug_render_group; static render_group* g_debug_render_group;
// NOTE: entity render_group references are kept in the entity struct // NOTE: entity render_group pointers are kept in the entity struct
static camera g_camera; static camera g_camera;
// TODO: testing lighting // TODO: testing lighting
@ -275,6 +275,9 @@ initRenderer(SDL_Handles &handles, v2i vpDims)
// hide VRAM debug messages // hide VRAM debug messages
glDebugMessageControl(GL_DONT_CARE, 33361, GL_DONT_CARE, 0, 0, GL_FALSE); glDebugMessageControl(GL_DONT_CARE, 33361, GL_DONT_CARE, 0, 0, GL_FALSE);
g_filled_hex_render_group = UTIL_ALLOC(1, render_group);
g_hex_line_render_group = UTIL_ALLOC(1, render_group);
g_debug_render_group = UTIL_ALLOC(1, render_group);
#if 0 #if 0
const char* vs_code = utilDumpTextFile(DEFAULT_VERTEX_SHADER_FILE); const char* vs_code = utilDumpTextFile(DEFAULT_VERTEX_SHADER_FILE);
const char* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE); const char* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE);
@ -433,9 +436,6 @@ createScene(std::vector<hex_info>* hexes, Entity* entities, uint32 entity_count)
#endif #endif
// entities // entities
// TODO: wtf, I only accounted for 1 entity in the entity render group :(
// probably need one render_group struct for each entity
#if 1
const char* vs_code = utilDumpTextFile(DEFAULT_VERTEX_SHADER_FILE); const char* vs_code = utilDumpTextFile(DEFAULT_VERTEX_SHADER_FILE);
const char* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE); const char* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE);
rg_shader_program sp; rg_shader_program sp;
@ -452,15 +452,6 @@ createScene(std::vector<hex_info>* hexes, Entity* entities, uint32 entity_count)
entities[i].ren_group->shader = sp; entities[i].ren_group->shader = sp;
} }
//mi->model_transform = glm::scale(glm::mat4(1), glm::vec3(100, 100, 100));
//entityTranslate(&g_game_state->entities[1], 640, 500, 0);
#else
if (!rgInitEntity(&entities[0])) {
LOG(ERROR) << "Error initialzing entity\n";
return false;
}
#endif
// lights // lights
// TODO: load light properties from scene/level files // TODO: load light properties from scene/level files
@ -615,16 +606,13 @@ renderDebug(std::vector<Point> &vertices)
void void
freeBuffers() freeBuffers()
{ {
LOG(DEBUG) << "redo freeBuffers function after render_group update\n"; std::vector<render_group*> groups = {
#if 0
std::vector<render_group> groups = {
g_filled_hex_render_group, g_filled_hex_render_group,
g_hex_line_render_group, g_hex_line_render_group,
g_debug_render_group, g_debug_render_group,
}; };
for (render_group group : groups) for (render_group* group : groups)
rgFree(group); rgFree(group);
#endif
} }

Loading…
Cancel
Save