|
|
|
|
@ -34,7 +34,7 @@ bool createWindow(const char* title,
|
|
|
|
|
glm::vec2& viewport_dims); |
|
|
|
|
bool initContext(SDL_Handles* handles); |
|
|
|
|
bool initGlOptions(); |
|
|
|
|
bool initSDL(SDL_Handles* handles); |
|
|
|
|
bool initSDL(SDL_Handles* handles, Uint32 SDL_init_flags); |
|
|
|
|
bool initShaders(render_state* rs); |
|
|
|
|
void openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, |
|
|
|
|
GLsizei length, const GLchar* message, const void* userParam); |
|
|
|
|
@ -44,13 +44,13 @@ void setDefaults(render_state* rs, glm::vec2 viewport_dims);
|
|
|
|
|
// interface
|
|
|
|
|
|
|
|
|
|
render_state* |
|
|
|
|
renInit(const char* title, glm::vec2 viewport_dims) |
|
|
|
|
renInit(const char* title, glm::vec2 viewport_dims, Uint32 SDL_init_flags) |
|
|
|
|
{ |
|
|
|
|
render_state* rs = UTIL_ALLOC(1, render_state); |
|
|
|
|
rs->handles = UTIL_ALLOC(1, SDL_Handles); |
|
|
|
|
setDefaults(rs, viewport_dims); |
|
|
|
|
|
|
|
|
|
if (initSDL(rs->handles) && |
|
|
|
|
if (initSDL(rs->handles, SDL_init_flags) && |
|
|
|
|
createWindow(title, rs->handles, rs->viewport_dims) && |
|
|
|
|
initContext(rs->handles) && |
|
|
|
|
initGlOptions() && |
|
|
|
|
@ -242,9 +242,11 @@ initGlOptions()
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool |
|
|
|
|
initSDL(SDL_Handles* handles) |
|
|
|
|
initSDL(SDL_Handles* handles, Uint32 SDL_init_flags) |
|
|
|
|
{ |
|
|
|
|
if (SDL_Init(SDL_INIT_VIDEO) != 0) { |
|
|
|
|
Uint32 flags = SDL_INIT_VIDEO | SDL_init_flags; |
|
|
|
|
|
|
|
|
|
if (SDL_Init(flags) != 0) { |
|
|
|
|
LOG(Error) << "Error, SDL_Init: " << SDL_GetError() << "\n"; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|