1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-10-06 09:07:19 +02:00

rwengine: remove errorTexture from Game- and ObjectRenderer

This commit is contained in:
Anonymous Maarten 2018-09-01 14:48:52 +02:00
parent f08dffdb41
commit e873f826fc
4 changed files with 6 additions and 28 deletions

View File

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

View File

@ -59,9 +59,6 @@ class GameRenderer {
GLuint fbRenderBuffers[1];
std::unique_ptr<Renderer::ShaderProgram> 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;
}

View File

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

View File

@ -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(),