Make it compile

This commit is contained in:
Christoph Oelckers 2018-06-12 10:58:32 +02:00
parent b8b5802599
commit 3385e28611
5 changed files with 14 additions and 4 deletions

View file

@ -68,6 +68,6 @@ void GLUniformBuffer::SetData(const void *data)
if (mBufferId != 0) if (mBufferId != 0)
{ {
glBindBuffer(GL_UNIFORM_BUFFER, mBufferId); glBindBuffer(GL_UNIFORM_BUFFER, mBufferId);
glBufferData(GL_UNIFORM_BUFFER, size, data, mStaticDraw? GL_STATIC_DRAW : GL_STREAM_DRAW); glBufferData(GL_UNIFORM_BUFFER, mSize, data, mStaticDraw? GL_STATIC_DRAW : GL_STREAM_DRAW);
} }
} }

View file

@ -9,11 +9,10 @@ class GLUniformBuffer : public IUniformBuffer
unsigned mBufferId; unsigned mBufferId;
bool mStaticDraw; bool mStaticDraw;
protected: public:
GLUniformBuffer(size_t size, bool staticdraw = false); GLUniformBuffer(size_t size, bool staticdraw = false);
~GLUniformBuffer(); ~GLUniformBuffer();
void Bind() override;
void SetData(const void *data) override; void SetData(const void *data) override;
unsigned ID() const unsigned ID() const
@ -21,4 +20,4 @@ protected:
return mBufferId; return mBufferId;
} }
} };

View file

@ -38,6 +38,7 @@
#include "gl/textures/gl_samplers.h" #include "gl/textures/gl_samplers.h"
#include "hwrenderer/utility/hw_clock.h" #include "hwrenderer/utility/hw_clock.h"
#include "gl/data/gl_vertexbuffer.h" #include "gl/data/gl_vertexbuffer.h"
#include "gl/data/gl_uniformbuffer.h"
#include "gl/models/gl_models.h" #include "gl/models/gl_models.h"
#include "gl/stereo3d/gl_stereo3d.h" #include "gl/stereo3d/gl_stereo3d.h"
#include "gl_debug.h" #include "gl_debug.h"
@ -355,6 +356,10 @@ FModelRenderer *OpenGLFrameBuffer::CreateModelRenderer(int mli)
return new FGLModelRenderer(mli); return new FGLModelRenderer(mli);
} }
IUniformBuffer *OpenGLFrameBuffer::CreateUniformBuffer(size_t size, bool staticuse)
{
return new GLUniformBuffer(size, staticuse);
}
void OpenGLFrameBuffer::UnbindTexUnit(int no) void OpenGLFrameBuffer::UnbindTexUnit(int no)
{ {

View file

@ -44,6 +44,8 @@ public:
bool RenderBuffersEnabled() override; bool RenderBuffersEnabled() override;
void SetViewportRects(IntRect *bounds) override; void SetViewportRects(IntRect *bounds) override;
void BlurScene(float amount) override; void BlurScene(float amount) override;
IUniformBuffer *CreateUniformBuffer(size_t size, bool staticuse = false) override;
// Retrieves a buffer containing image data for a screenshot. // Retrieves a buffer containing image data for a screenshot.
// Hint: Pitch can be negative for upside-down images, in which case buffer // Hint: Pitch can be negative for upside-down images, in which case buffer

View file

@ -319,6 +319,7 @@ public:
class FUniquePalette; class FUniquePalette;
class IHardwareTexture; class IHardwareTexture;
class FTexture; class FTexture;
class IUniformBuffer;
// A canvas that represents the actual display. The video code is responsible // A canvas that represents the actual display. The video code is responsible
// for actually implementing this. Built on top of SimpleCanvas, because it // for actually implementing this. Built on top of SimpleCanvas, because it
@ -413,6 +414,9 @@ public:
virtual bool RenderBuffersEnabled() { return false; }; virtual bool RenderBuffersEnabled() { return false; };
virtual void BlurScene(float amount) {} virtual void BlurScene(float amount) {}
// Interface to hardware rendering resources
virtual IUniformBuffer *CreateUniformBuffer(size_t size, bool staticuse = false) { return nullptr; }
// Begin 2D drawing operations. // Begin 2D drawing operations.
// Returns true if hardware-accelerated 2D has been entered, false if not. // Returns true if hardware-accelerated 2D has been entered, false if not.
void Begin2D(bool copy3d) { isIn2D = true; } void Begin2D(bool copy3d) { isIn2D = true; }