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:
parent
f08dffdb41
commit
e873f826fc
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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(),
|
||||
|
Loading…
Reference in New Issue
Block a user