diff --git a/src/renderer.cpp b/src/renderer.cpp index 8bf9ca1..6ec9d3e 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -85,10 +85,10 @@ struct camera // globals static gl_matrix_info g_scene_matrices; -static render_group g_filled_hex_render_group; -static render_group g_hex_line_render_group; -static render_group g_debug_render_group; -// NOTE: entity render_group references are kept in the entity struct +static render_group* g_filled_hex_render_group; +static render_group* g_hex_line_render_group; +static render_group* g_debug_render_group; +// NOTE: entity render_group pointers are kept in the entity struct static camera g_camera; // TODO: testing lighting @@ -275,6 +275,9 @@ initRenderer(SDL_Handles &handles, v2i vpDims) // hide VRAM debug messages 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 const char* vs_code = utilDumpTextFile(DEFAULT_VERTEX_SHADER_FILE); const char* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE); @@ -433,9 +436,6 @@ createScene(std::vector* hexes, Entity* entities, uint32 entity_count) #endif // 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* fs_code = utilDumpTextFile(DEFAULT_FRAGMENT_SHADER_FILE); rg_shader_program sp; @@ -452,15 +452,6 @@ createScene(std::vector* hexes, Entity* entities, uint32 entity_count) 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 // TODO: load light properties from scene/level files @@ -615,16 +606,13 @@ renderDebug(std::vector &vertices) void freeBuffers() { - LOG(DEBUG) << "redo freeBuffers function after render_group update\n"; -#if 0 - std::vector groups = { + std::vector groups = { g_filled_hex_render_group, g_hex_line_render_group, g_debug_render_group, }; - for (render_group group : groups) + for (render_group* group : groups) rgFree(group); -#endif }