|
|
|
@ -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 |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|