|
@@ -1,5 +1,6 @@
|
|
|
#include "client/rendering/Engine.h"
|
|
|
#include "client/rendering/wrapper/GLFWWrapper.h"
|
|
|
+#include "client/rendering/wrapper/GLWrapper.h"
|
|
|
|
|
|
Engine::Engine(Shaders& shaders, Framebuffers& fb, Camera& camera, const WindowSize& size,
|
|
|
RenderSettings& renderSettings) :
|
|
@@ -30,7 +31,7 @@ void Engine::renderTick(float lag, const Game& game) {
|
|
|
|
|
|
void Engine::renderShadow(float lag, const Game& game) {
|
|
|
fb.shadow.bind();
|
|
|
- glEnable(GL_DEPTH_TEST);
|
|
|
+ GLWrapper::enableDepthTesting();
|
|
|
shaders.shadow.use();
|
|
|
worldShadowProjView.set(worldShadowProj).mul(worldShadowView);
|
|
|
shaders.shadow.setMatrix("projView", worldShadowProjView.getValues());
|
|
@@ -40,7 +41,7 @@ void Engine::renderShadow(float lag, const Game& game) {
|
|
|
|
|
|
void Engine::renderWorld(float lag, const Game& game) {
|
|
|
fb.world.bind();
|
|
|
- glEnable(GL_DEPTH_TEST);
|
|
|
+ GLWrapper::enableDepthTesting();
|
|
|
shaders.world.use();
|
|
|
|
|
|
Matrix rWorldShadowProjView;
|
|
@@ -82,8 +83,7 @@ void Engine::renderSSAO() {
|
|
|
}
|
|
|
|
|
|
void Engine::renderPostWorld() {
|
|
|
- glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
|
|
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
|
|
+ GLWrapper::prepareMainFramebuffer();
|
|
|
shaders.postWorld.use();
|
|
|
fb.world.bindColorTexture(0);
|
|
|
fb.ssaoBlur.bindRedTexture(1);
|
|
@@ -94,7 +94,7 @@ void Engine::renderPostWorld() {
|
|
|
}
|
|
|
|
|
|
void Engine::renderTextOverlay(float lag, const Game& game) {
|
|
|
- glDisable(GL_DEPTH_TEST);
|
|
|
+ GLWrapper::disableDepthTesting();
|
|
|
shaders.text.use();
|
|
|
|
|
|
Matrix m;
|
|
@@ -105,12 +105,10 @@ void Engine::renderTextOverlay(float lag, const Game& game) {
|
|
|
model.get().scale(2.0f, 2.0f, 2.0f);
|
|
|
shaders.text.setMatrix("model", model.get().getValues());
|
|
|
|
|
|
- glEnable(GL_BLEND);
|
|
|
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
|
- glBlendEquation(GL_FUNC_ADD);
|
|
|
+ GLWrapper::enableBlending();
|
|
|
Renderer renderer(shaders.text, model);
|
|
|
game.renderTextOverlay(lag, renderer, fontRenderer);
|
|
|
- glDisable(GL_BLEND);
|
|
|
+ GLWrapper::disableBlending();
|
|
|
}
|
|
|
|
|
|
void Engine::updateWorldProjection() {
|