From e873f826fc99a8468c81be0f2bdbbc3585b29c1e Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Sat, 1 Sep 2018 14:48:52 +0200 Subject: [PATCH] rwengine: remove errorTexture from Game- and ObjectRenderer --- rwengine/src/render/GameRenderer.cpp | 16 ++-------------- rwengine/src/render/GameRenderer.hpp | 7 ------- rwengine/src/render/ObjectRenderer.hpp | 7 ++----- rwviewer/ViewerWidget.cpp | 4 ++-- 4 files changed, 6 insertions(+), 28 deletions(-) diff --git a/rwengine/src/render/GameRenderer.cpp b/rwengine/src/render/GameRenderer.cpp index 1e9a4d11..d40732e9 100644 --- a/rwengine/src/render/GameRenderer.cpp +++ b/rwengine/src/render/GameRenderer.cpp @@ -25,12 +25,7 @@ #include "render/GameShaders.hpp" #include "render/VisualFX.hpp" -const size_t skydomeSegments = 8, skydomeRows = 10; -constexpr uint32_t kMissingTextureBytes[] = { - 0xFF0000FF, 0xFFFF00FF, 0xFF0000FF, 0xFFFF00FF, 0xFFFF00FF, 0xFF0000FF, - 0xFFFF00FF, 0xFF0000FF, 0xFF0000FF, 0xFFFF00FF, 0xFF0000FF, 0xFFFF00FF, - 0xFFFF00FF, 0xFF0000FF, 0xFFFF00FF, 0xFF0000FF, -}; +constexpr size_t skydomeSegments = 8, skydomeRows = 10; /// @todo collapse all of these into "VertPNC" etc. struct ParticleVert { @@ -80,13 +75,6 @@ GameRenderer::GameRenderer(Logger* log, GameData* _data) glGenVertexArrays(1, &vao); - glGenTextures(1, &m_missingTexture); - glBindTexture(GL_TEXTURE_2D, m_missingTexture); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, - kMissingTextureBytes); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - glGenFramebuffers(1, &framebufferName); glBindFramebuffer(GL_FRAMEBUFFER, framebufferName); glGenTextures(2, fbTextures); @@ -329,7 +317,7 @@ RenderList GameRenderer::createObjectRenderList(const GameWorld *world) { ObjectRenderer objectRenderer(_renderWorld, (cullOverride ? cullingCamera : _camera), - _renderAlpha, getMissingTexture()); + _renderAlpha); // World Objects for (auto object : world->allObjects) { diff --git a/rwengine/src/render/GameRenderer.hpp b/rwengine/src/render/GameRenderer.hpp index e2550bf0..d1888b74 100644 --- a/rwengine/src/render/GameRenderer.hpp +++ b/rwengine/src/render/GameRenderer.hpp @@ -59,9 +59,6 @@ class GameRenderer { GLuint fbRenderBuffers[1]; std::unique_ptr postProg; - /// Texture used to replace textures missing from the data - GLuint m_missingTexture; - GeometryBuffer particleGeom; DrawBuffer particleDraw; @@ -88,10 +85,6 @@ public: return data; } - GLuint getMissingTexture() const { - return m_missingTexture; - } - size_t getCulledCount() { return culled; } diff --git a/rwengine/src/render/ObjectRenderer.hpp b/rwengine/src/render/ObjectRenderer.hpp index 36cbec0c..0b15be52 100644 --- a/rwengine/src/render/ObjectRenderer.hpp +++ b/rwengine/src/render/ObjectRenderer.hpp @@ -35,11 +35,10 @@ struct Geometry; class ObjectRenderer { public: ObjectRenderer(GameWorld* world, const ViewCamera& camera, - float renderAlpha, GLuint errorTexture) + float renderAlpha) : m_world(world) , m_camera(camera) - , m_renderAlpha(renderAlpha) - , m_errorTexture(errorTexture) { + , m_renderAlpha(renderAlpha) { } /** @@ -69,12 +68,10 @@ public: * @param render */ void renderClump(Clump* model, const glm::mat4& worldtransform, GameObject* object, RenderList& render); - private: GameWorld* m_world; const ViewCamera& m_camera; float m_renderAlpha; - GLuint m_errorTexture; void renderInstance(InstanceObject* instance, RenderList& outList); void renderCharacter(CharacterObject* pedestrian, RenderList& outList); diff --git a/rwviewer/ViewerWidget.cpp b/rwviewer/ViewerWidget.cpp index c34e7a6a..b4337428 100644 --- a/rwviewer/ViewerWidget.cpp +++ b/rwviewer/ViewerWidget.cpp @@ -82,7 +82,7 @@ void ViewerWidget::drawModel(GameRenderer& r, ClumpPtr& model) { glm::vec4(0.f), 90.f, vc.frustum.far}); model->getFrame()->updateHierarchyTransform(); - ObjectRenderer _renderer(world(), vc, 1.f, 0); + ObjectRenderer _renderer(world(), vc, 1.f); RenderList renders; _renderer.renderClump(model.get(), glm::mat4(1.0f), nullptr, renders); r.getRenderer()->drawBatched(renders); @@ -103,7 +103,7 @@ void ViewerWidget::drawObject(GameRenderer &r, GameObject *object) { {proj, view, glm::vec4(0.15f), glm::vec4(0.7f), glm::vec4(1.f), glm::vec4(0.f), 90.f, vc.frustum.far}); - ObjectRenderer objectRenderer(world(), vc, 1.f, 0); + ObjectRenderer objectRenderer(world(), vc, 1.f); RenderList renders; objectRenderer.buildRenderList(object, renders); std::sort(renders.begin(), renders.end(),