|
|
|
|
@ -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) |
|
|
|
|
{ |
|
|
|
|
|