@@ -694,7 +694,7 @@ void BtPhysTest::tick_draw(float seconds, Scene &scene) | |||||
#endif //CAT_MODE | #endif //CAT_MODE | ||||
} | } | ||||
//Video::SetClearColor(vec4(0.0f, 0.0f, 0.12f, 1.0f)); | |||||
//Video::set_clear_color(vec4(0.0f, 0.0f, 0.12f, 1.0f)); | |||||
} | } | ||||
@@ -132,7 +132,7 @@ public: | |||||
{ | { | ||||
WorldEntity::tick_draw(seconds, scene); | WorldEntity::tick_draw(seconds, scene); | ||||
scene.get_renderer()->SetClearColor(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
scene.get_renderer()->clear_color(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
m_shader->Bind(); | m_shader->Bind(); | ||||
m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
@@ -121,7 +121,7 @@ public: | |||||
{ | { | ||||
Scene& scene = Scene::GetScene(); | Scene& scene = Scene::GetScene(); | ||||
scene.PushCamera(m_camera); | scene.PushCamera(m_camera); | ||||
scene.get_renderer()->SetClearColor(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
scene.get_renderer()->clear_color(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
/* Upload vertex data to GPU */ | /* Upload vertex data to GPU */ | ||||
for (int i = 0; i < m_gears.count(); i++) | for (int i = 0; i < m_gears.count(); i++) | ||||
@@ -63,7 +63,7 @@ public: | |||||
{ | { | ||||
Scene& scene = Scene::GetScene(); | Scene& scene = Scene::GetScene(); | ||||
scene.PushCamera(m_camera); | scene.PushCamera(m_camera); | ||||
scene.get_renderer()->SetClearColor(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
scene.get_renderer()->clear_color(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
return true; | return true; | ||||
} | } | ||||
@@ -156,7 +156,7 @@ public: | |||||
{ | { | ||||
WorldEntity::tick_draw(seconds, scene); | WorldEntity::tick_draw(seconds, scene); | ||||
scene.get_renderer()->SetClearColor(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
scene.get_renderer()->clear_color(vec4(0.0f, 0.0f, 0.0f, 1.0f)); | |||||
m_shader->Bind(); | m_shader->Bind(); | ||||
m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
@@ -66,16 +66,17 @@ public: | |||||
m_vbo = std::make_shared<VertexBuffer>(vertices.bytes()); | m_vbo = std::make_shared<VertexBuffer>(vertices.bytes()); | ||||
m_vbo->set_data(vertices.data(), vertices.bytes()); | m_vbo->set_data(vertices.data(), vertices.bytes()); | ||||
m_fbo = std::make_shared<Framebuffer>(Video::GetSize()); | |||||
m_fbo->Bind(); | |||||
// Create the back buffer and clear it | |||||
m_backbuffer = std::make_shared<Framebuffer>(Video::GetSize()); | |||||
m_backbuffer->Bind(); | |||||
{ | { | ||||
Scene& scene = Scene::GetScene(); | Scene& scene = Scene::GetScene(); | ||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
m_fbo->Unbind(); | |||||
m_backbuffer->Unbind(); | |||||
return true; | return true; | ||||
} | } | ||||
@@ -90,9 +91,8 @@ public: | |||||
/* FIXME: this no longer works because we don’t restore the | /* FIXME: this no longer works because we don’t restore the | ||||
* actually bound framebuffer. */ | * actually bound framebuffer. */ | ||||
m_fbo->Bind(); | |||||
m_backbuffer->Bind(); | |||||
m_shader->Bind(); | m_shader->Bind(); | ||||
m_shader->SetUniform(m_uni_flag, 0.f); | m_shader->SetUniform(m_uni_flag, 0.f); | ||||
m_shader->SetUniform(m_uni_point, m_hotspot); | m_shader->SetUniform(m_uni_point, m_hotspot); | ||||
m_shader->SetUniform(m_uni_color, m_color); | m_shader->SetUniform(m_uni_color, m_color); | ||||
@@ -101,11 +101,11 @@ public: | |||||
m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
m_vdecl->Unbind(); | m_vdecl->Unbind(); | ||||
m_shader->Unbind(); | m_shader->Unbind(); | ||||
m_fbo->Unbind(); | |||||
m_backbuffer->Unbind(); | |||||
m_shader->Bind(); | m_shader->Bind(); | ||||
m_shader->SetUniform(m_uni_flag, 1.f); | m_shader->SetUniform(m_uni_flag, 1.f); | ||||
m_shader->SetUniform(m_uni_texture, m_fbo->GetTextureUniform(), 0); | |||||
m_shader->SetUniform(m_uni_texture, m_backbuffer->GetTextureUniform(), 0); | |||||
m_vdecl->Bind(); | m_vdecl->Bind(); | ||||
m_vdecl->SetStream(m_vbo, m_coord); | m_vdecl->SetStream(m_vbo, m_coord); | ||||
m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | m_vdecl->DrawElements(MeshPrimitive::Triangles, 0, 6); | ||||
@@ -118,7 +118,7 @@ public: | |||||
m_shader.reset(); | m_shader.reset(); | ||||
m_vdecl.reset(); | m_vdecl.reset(); | ||||
m_vbo.reset(); | m_vbo.reset(); | ||||
m_fbo.reset(); | |||||
m_backbuffer.reset(); | |||||
return true; | return true; | ||||
} | } | ||||
@@ -128,7 +128,7 @@ private: | |||||
ShaderUniform m_uni_flag, m_uni_point, m_uni_color, m_uni_texture; | ShaderUniform m_uni_flag, m_uni_point, m_uni_color, m_uni_texture; | ||||
std::shared_ptr<VertexDeclaration> m_vdecl; | std::shared_ptr<VertexDeclaration> m_vdecl; | ||||
std::shared_ptr<VertexBuffer> m_vbo; | std::shared_ptr<VertexBuffer> m_vbo; | ||||
std::shared_ptr<Framebuffer> m_fbo; | |||||
std::shared_ptr<Framebuffer> m_backbuffer; | |||||
double m_time = 0.0f; | double m_time = 0.0f; | ||||
vec3 m_hotspot, m_color; | vec3 m_hotspot, m_color; | ||||
}; | }; | ||||
@@ -127,7 +127,7 @@ public: | |||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
m_fbos.last().m1->Unbind(); | m_fbos.last().m1->Unbind(); | ||||
} | } | ||||
@@ -138,7 +138,7 @@ public: | |||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
temp_buffer->Unbind(); | temp_buffer->Unbind(); | ||||
@@ -201,7 +201,7 @@ public: | |||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
temp_buffer->Unbind(); | temp_buffer->Unbind(); | ||||
@@ -231,7 +231,7 @@ public: | |||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
m_fbos[f].m1->Unbind(); | m_fbos[f].m1->Unbind(); | ||||
@@ -253,7 +253,7 @@ public: | |||||
dst_buf->Bind(); | dst_buf->Bind(); | ||||
/* FIXME: we should just disable depth test in the shader */ | /* FIXME: we should just disable depth test in the shader */ | ||||
scene.get_renderer()->Clear(ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Depth); | |||||
m_fbos[f].m2->Bind(); | m_fbos[f].m2->Bind(); | ||||
int i = 0; | int i = 0; | ||||
@@ -272,7 +272,7 @@ public: | |||||
} | } | ||||
} | } | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
//FRAME BUFFER DRAW | //FRAME BUFFER DRAW | ||||
m_timer -= seconds; | m_timer -= seconds; | ||||
@@ -284,7 +284,7 @@ public: | |||||
render_context rc(scene.get_renderer()); | render_context rc(scene.get_renderer()); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
scene.get_renderer()->Clear(ClearMask::Color | ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
m_fbos[m_cur_fbo].m1->Unbind(); | m_fbos[m_cur_fbo].m1->Unbind(); | ||||
@@ -314,7 +314,7 @@ public: | |||||
dst_buf->Bind(); | dst_buf->Bind(); | ||||
/* FIXME: we should just disable depth test in the shader */ | /* FIXME: we should just disable depth test in the shader */ | ||||
scene.get_renderer()->Clear(ClearMask::Depth); | |||||
scene.get_renderer()->clear(ClearMask::Depth); | |||||
shader->Bind(); | shader->Bind(); | ||||
int i = 0; | int i = 0; | ||||
@@ -229,14 +229,14 @@ void Debug::DrawBox(vec2 a, vec2 b, mat2 transform, DCD data) | |||||
} | } | ||||
void Debug::DrawBox(vec2 a, float s, mat2 transform, DCD data) | void Debug::DrawBox(vec2 a, float s, mat2 transform, DCD data) | ||||
{ | { | ||||
vec2 b = s * vec2(1.f, Scene::GetScene(0).get_renderer()->GetXYRatio()); | |||||
vec2 b = s * vec2(1.f, Scene::GetScene(0).get_renderer()->xy_ratio()); | |||||
Debug::DrawBox(a - b, a + b, transform, data); | Debug::DrawBox(a - b, a + b, transform, data); | ||||
} | } | ||||
//-- CIRCLE ------------------------------------------------------------------- | //-- CIRCLE ------------------------------------------------------------------- | ||||
void Debug::DrawCircle(vec2 a, float s) { Debug::DrawCircle(a, s * vec2(1.f, Scene::GetScene(0).get_renderer()->GetXYRatio()), DC::GetGlobalData()); } | |||||
void Debug::DrawCircle(vec2 a, float s) { Debug::DrawCircle(a, s * vec2(1.f, Scene::GetScene(0).get_renderer()->xy_ratio()), DC::GetGlobalData()); } | |||||
void Debug::DrawCircle(vec3 a, vec3 n) { Debug::DrawCircle(a, n, DC::GetGlobalData()); } | void Debug::DrawCircle(vec3 a, vec3 n) { Debug::DrawCircle(a, n, DC::GetGlobalData()); } | ||||
void Debug::DrawCircle(vec2 a, vec2 s) { Debug::DrawCircle(a, s * vec2(1.f, Scene::GetScene(0).get_renderer()->GetXYRatio()), DC::GetGlobalData()); } | |||||
void Debug::DrawCircle(vec2 a, vec2 s) { Debug::DrawCircle(a, s * vec2(1.f, Scene::GetScene(0).get_renderer()->xy_ratio()), DC::GetGlobalData()); } | |||||
void Debug::DrawCircle(vec3 a, vec3 x, vec3 y) { Debug::DrawCircle(a, x, y, DC::GetGlobalData()); } | void Debug::DrawCircle(vec3 a, vec3 x, vec3 y) { Debug::DrawCircle(a, x, y, DC::GetGlobalData()); } | ||||
void Debug::DrawCircle(vec2 a, vec2 x, vec2 y) { Debug::DrawCircle(a, x, y, DC::GetGlobalData()); } | void Debug::DrawCircle(vec2 a, vec2 x, vec2 y) { Debug::DrawCircle(a, x, y, DC::GetGlobalData()); } | ||||
void Debug::DrawCircle(vec3 a, vec3 n, DCD data) | void Debug::DrawCircle(vec3 a, vec3 n, DCD data) | ||||
@@ -306,8 +306,8 @@ void Framebuffer::Bind() | |||||
* instead, maybe by getting rid of Framebuffer::Bind() and | * instead, maybe by getting rid of Framebuffer::Bind() and | ||||
* creating RenderContext::SetFramebuffer() instead. */ | * creating RenderContext::SetFramebuffer() instead. */ | ||||
auto renderer = Scene::GetScene(0).get_renderer(); | auto renderer = Scene::GetScene(0).get_renderer(); | ||||
m_data->m_saved_viewport = renderer->GetViewport(); | |||||
renderer->SetViewport(ibox2(ivec2::zero, m_data->m_size)); | |||||
m_data->m_saved_viewport = renderer->viewport(); | |||||
renderer->viewport(ibox2(ivec2::zero, m_data->m_size)); | |||||
m_data->m_bound = true; | m_data->m_bound = true; | ||||
} | } | ||||
@@ -322,7 +322,7 @@ void Framebuffer::Unbind() | |||||
#endif | #endif | ||||
auto renderer = Scene::GetScene(0).get_renderer(); | auto renderer = Scene::GetScene(0).get_renderer(); | ||||
renderer->SetViewport(m_data->m_saved_viewport); | |||||
renderer->viewport(m_data->m_saved_viewport); | |||||
m_data->m_bound = false; | m_data->m_bound = false; | ||||
} | } | ||||
@@ -78,13 +78,13 @@ render_context::render_context(std::shared_ptr<Renderer> renderer) | |||||
render_context::~render_context() | render_context::~render_context() | ||||
{ | { | ||||
if (m_data->m_viewport.is_dirty()) | if (m_data->m_viewport.is_dirty()) | ||||
m_renderer->SetViewport(m_data->m_viewport.get()); | |||||
m_renderer->viewport(m_data->m_viewport.get()); | |||||
if (m_data->m_clear_color.is_dirty()) | if (m_data->m_clear_color.is_dirty()) | ||||
m_renderer->SetClearColor(m_data->m_clear_color.get()); | |||||
m_renderer->clear_color(m_data->m_clear_color.get()); | |||||
if (m_data->m_clear_depth.is_dirty()) | if (m_data->m_clear_depth.is_dirty()) | ||||
m_renderer->SetClearDepth(m_data->m_clear_depth.get()); | |||||
m_renderer->clear_depth(m_data->m_clear_depth.get()); | |||||
if (m_data->m_alpha_func.is_dirty()) | if (m_data->m_alpha_func.is_dirty()) | ||||
m_renderer->SetAlphaFunc(m_data->m_alpha_func.get(), | m_renderer->SetAlphaFunc(m_data->m_alpha_func.get(), | ||||
@@ -113,40 +113,40 @@ render_context::~render_context() | |||||
void render_context::viewport(ibox2 viewport) | void render_context::viewport(ibox2 viewport) | ||||
{ | { | ||||
if (!m_data->m_viewport.is_dirty()) | if (!m_data->m_viewport.is_dirty()) | ||||
m_data->m_viewport.set(m_renderer->GetViewport()); | |||||
m_data->m_viewport.set(m_renderer->viewport()); | |||||
m_renderer->SetViewport(viewport); | |||||
m_renderer->viewport(viewport); | |||||
} | } | ||||
ibox2 render_context::viewport() | ibox2 render_context::viewport() | ||||
{ | { | ||||
return m_renderer->GetViewport(); | |||||
return m_renderer->viewport(); | |||||
} | } | ||||
void render_context::clear_color(vec4 color) | void render_context::clear_color(vec4 color) | ||||
{ | { | ||||
if (!m_data->m_clear_color.is_dirty()) | if (!m_data->m_clear_color.is_dirty()) | ||||
m_data->m_clear_color.set(m_renderer->GetClearColor()); | |||||
m_data->m_clear_color.set(m_renderer->clear_color()); | |||||
m_renderer->SetClearColor(color); | |||||
m_renderer->clear_color(color); | |||||
} | } | ||||
vec4 render_context::clear_color() | vec4 render_context::clear_color() | ||||
{ | { | ||||
return m_renderer->GetClearColor(); | |||||
return m_renderer->clear_color(); | |||||
} | } | ||||
void render_context::clear_depth(float depth) | void render_context::clear_depth(float depth) | ||||
{ | { | ||||
if (!m_data->m_clear_depth.is_dirty()) | if (!m_data->m_clear_depth.is_dirty()) | ||||
m_data->m_clear_depth.set(m_renderer->GetClearDepth()); | |||||
m_data->m_clear_depth.set(m_renderer->clear_depth()); | |||||
m_renderer->SetClearDepth(depth); | |||||
m_renderer->clear_depth(depth); | |||||
} | } | ||||
float render_context::clear_depth() | float render_context::clear_depth() | ||||
{ | { | ||||
return m_renderer->GetClearDepth(); | |||||
return m_renderer->clear_depth(); | |||||
} | } | ||||
void render_context::alpha_func(AlphaFunc func, float alpha) | void render_context::alpha_func(AlphaFunc func, float alpha) | ||||
@@ -76,13 +76,13 @@ Renderer::Renderer(ivec2 size) | |||||
/* Initialise rendering states */ | /* Initialise rendering states */ | ||||
m_data->m_viewport = ibox2(0, 0, 0, 0); | m_data->m_viewport = ibox2(0, 0, 0, 0); | ||||
SetViewport(ibox2(ivec2::zero, size)); | |||||
viewport(ibox2(ivec2::zero, size)); | |||||
m_data->m_clear_color = vec4(-1.f); | m_data->m_clear_color = vec4(-1.f); | ||||
SetClearColor(vec4(0.1f, 0.2f, 0.3f, 1.0f)); | |||||
clear_color(vec4(0.1f, 0.2f, 0.3f, 1.0f)); | |||||
m_data->m_clear_depth = -1.f; | m_data->m_clear_depth = -1.f; | ||||
SetClearDepth(1.f); | |||||
clear_depth(1.f); | |||||
m_data->m_alpha_func = AlphaFunc::Never; | m_data->m_alpha_func = AlphaFunc::Never; | ||||
m_data->m_alpha_value = -1.0f; | m_data->m_alpha_value = -1.0f; | ||||
@@ -125,7 +125,7 @@ Renderer::~Renderer() | |||||
* Buffer clearing | * Buffer clearing | ||||
*/ | */ | ||||
void Renderer::Clear(ClearMask mask) | |||||
void Renderer::clear(ClearMask mask) | |||||
{ | { | ||||
GLbitfield m = 0; | GLbitfield m = 0; | ||||
if (mask & ClearMask::Color) | if (mask & ClearMask::Color) | ||||
@@ -141,30 +141,30 @@ void Renderer::Clear(ClearMask mask) | |||||
* Viewport dimensions | * Viewport dimensions | ||||
*/ | */ | ||||
void Renderer::SetViewport(ibox2 viewport) | |||||
void Renderer::viewport(ibox2 bounds) | |||||
{ | { | ||||
if (m_data->m_viewport == viewport) | |||||
if (m_data->m_viewport == bounds) | |||||
return; | return; | ||||
glViewport(viewport.aa.x, viewport.aa.y, viewport.bb.x, viewport.bb.y); | |||||
glViewport(bounds.aa.x, bounds.aa.y, bounds.bb.x, bounds.bb.y); | |||||
m_data->m_viewport = viewport; | |||||
m_data->m_viewport = bounds; | |||||
} | } | ||||
ibox2 Renderer::GetViewport() const | |||||
ibox2 Renderer::viewport() const | |||||
{ | { | ||||
return m_data->m_viewport; | return m_data->m_viewport; | ||||
} | } | ||||
float Renderer::GetXYRatio() const | |||||
float Renderer::xy_ratio() const | |||||
{ | { | ||||
ivec2 s = GetViewport().extent(); | |||||
ivec2 s = viewport().extent(); | |||||
return (float)s.x / s.y; | return (float)s.x / s.y; | ||||
} | } | ||||
float Renderer::GetYXRatio() const | |||||
float Renderer::yx_ratio() const | |||||
{ | { | ||||
ivec2 s = GetViewport().extent(); | |||||
ivec2 s = viewport().extent(); | |||||
return (float)s.y / s.x; | return (float)s.y / s.x; | ||||
} | } | ||||
@@ -172,7 +172,7 @@ float Renderer::GetYXRatio() const | |||||
* Clear color | * Clear color | ||||
*/ | */ | ||||
void Renderer::SetClearColor(vec4 color) | |||||
void Renderer::clear_color(vec4 color) | |||||
{ | { | ||||
if (m_data->m_clear_color == color) | if (m_data->m_clear_color == color) | ||||
return; | return; | ||||
@@ -182,7 +182,7 @@ void Renderer::SetClearColor(vec4 color) | |||||
m_data->m_clear_color = color; | m_data->m_clear_color = color; | ||||
} | } | ||||
vec4 Renderer::GetClearColor() const | |||||
vec4 Renderer::clear_color() const | |||||
{ | { | ||||
return m_data->m_clear_color; | return m_data->m_clear_color; | ||||
} | } | ||||
@@ -191,7 +191,7 @@ vec4 Renderer::GetClearColor() const | |||||
* Clear depth | * Clear depth | ||||
*/ | */ | ||||
void Renderer::SetClearDepth(float depth) | |||||
void Renderer::clear_depth(float depth) | |||||
{ | { | ||||
if (m_data->m_clear_depth == depth) | if (m_data->m_clear_depth == depth) | ||||
return; | return; | ||||
@@ -205,7 +205,7 @@ void Renderer::SetClearDepth(float depth) | |||||
m_data->m_clear_depth = depth; | m_data->m_clear_depth = depth; | ||||
} | } | ||||
float Renderer::GetClearDepth() const | |||||
float Renderer::clear_depth() const | |||||
{ | { | ||||
return m_data->m_clear_depth; | return m_data->m_clear_depth; | ||||
} | } | ||||
@@ -139,18 +139,18 @@ public: | |||||
Renderer(ivec2 size); | Renderer(ivec2 size); | ||||
~Renderer(); | ~Renderer(); | ||||
void Clear(ClearMask mask); | |||||
void clear(ClearMask mask); | |||||
void SetViewport(ibox2 viewport); | |||||
ibox2 GetViewport() const; | |||||
float GetXYRatio() const; | |||||
float GetYXRatio() const; | |||||
void viewport(ibox2 bounds); | |||||
ibox2 viewport() const; | |||||
float xy_ratio() const; | |||||
float yx_ratio() const; | |||||
void SetClearColor(vec4 color); | |||||
vec4 GetClearColor() const; | |||||
void clear_color(vec4 color); | |||||
vec4 clear_color() const; | |||||
void SetClearDepth(float depth); | |||||
float GetClearDepth() const; | |||||
void clear_depth(float depth); | |||||
float clear_depth() const; | |||||
void SetAlphaFunc(AlphaFunc func, float alpha); | void SetAlphaFunc(AlphaFunc func, float alpha); | ||||
AlphaFunc GetAlphaFunc() const; | AlphaFunc GetAlphaFunc() const; | ||||
@@ -458,7 +458,7 @@ void Scene::pre_render(float) | |||||
{ | { | ||||
m_size = m_wanted_size; | m_size = m_wanted_size; | ||||
m_renderer->SetViewport(ibox2(ivec2::zero, m_size)); | |||||
m_renderer->viewport(ibox2(ivec2::zero, m_size)); | |||||
for (int i = 0; i < 4; ++i) | for (int i = 0; i < 4; ++i) | ||||
m_renderbuffer[i] = std::make_shared<Framebuffer>(m_size); | m_renderbuffer[i] = std::make_shared<Framebuffer>(m_size); | ||||
@@ -480,7 +480,7 @@ void Scene::pre_render(float) | |||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
} | } | ||||
m_renderer->Clear(ClearMask::Color | ClearMask::Depth); | |||||
m_renderer->clear(ClearMask::Color | ClearMask::Depth); | |||||
} | } | ||||
} | } | ||||
@@ -513,7 +513,7 @@ void Scene::post_render(float) | |||||
render_context rc(m_renderer); | render_context rc(m_renderer); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
m_renderer->Clear(ClearMask::Color | ClearMask::Depth); | |||||
m_renderer->clear(ClearMask::Color | ClearMask::Depth); | |||||
/* Execute post process */ | /* Execute post process */ | ||||
m_pp.pp_shader->Bind(); | m_pp.pp_shader->Bind(); | ||||
@@ -537,7 +537,7 @@ void Scene::post_render(float) | |||||
render_context rc(m_renderer); | render_context rc(m_renderer); | ||||
rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | rc.clear_color(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
rc.clear_depth(1.f); | rc.clear_depth(1.f); | ||||
m_renderer->Clear(ClearMask::Color | ClearMask::Depth); | |||||
m_renderer->clear(ClearMask::Color | ClearMask::Depth); | |||||
/* Blit final image to screen */ | /* Blit final image to screen */ | ||||
m_pp.blit_shader->SetUniform(m_pp.m_buffer_uni[0][0], m_renderbuffer[3]->GetTextureUniform(), 3); | m_pp.blit_shader->SetUniform(m_pp.m_buffer_uni[0][0], m_renderbuffer[3]->GetTextureUniform(), 3); | ||||
@@ -127,7 +127,7 @@ void Video::Resize(ivec2 size) | |||||
ivec2 Video::GetSize() | ivec2 Video::GetSize() | ||||
{ | { | ||||
return Scene::GetScene(0).get_renderer()->GetViewport().extent(); | |||||
return Scene::GetScene(0).get_renderer()->viewport().extent(); | |||||
} | } | ||||
} /* namespace lol */ | } /* namespace lol */ | ||||