OpenGLRenderer: Fix clear values
This commit is contained in:
@@ -132,6 +132,7 @@ namespace Nz
|
||||
|
||||
struct SetFrameBufferData
|
||||
{
|
||||
std::array<CommandBufferBuilder::ClearValues, 16> clearValues; //< TODO: Remove hard limit?
|
||||
const OpenGLFramebuffer* framebuffer;
|
||||
};
|
||||
|
||||
|
||||
@@ -138,6 +138,9 @@ namespace Nz
|
||||
SetFrameBufferData setFramebuffer;
|
||||
setFramebuffer.framebuffer = &framebuffer;
|
||||
|
||||
assert(clearValues.size() < setFramebuffer.clearValues.size());
|
||||
std::copy(clearValues.begin(), clearValues.end(), setFramebuffer.clearValues.begin());
|
||||
|
||||
m_commands.emplace_back(std::move(setFramebuffer));
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ namespace Nz
|
||||
|
||||
virtual void Activate() const = 0;
|
||||
|
||||
virtual std::size_t GetColorBufferCount() const = 0;
|
||||
|
||||
inline Type GetType() const;
|
||||
|
||||
OpenGLFramebuffer& operator=(const OpenGLFramebuffer&) = delete;
|
||||
|
||||
@@ -24,6 +24,8 @@ namespace Nz
|
||||
|
||||
void Activate() const override;
|
||||
|
||||
std::size_t GetColorBufferCount() const override;
|
||||
|
||||
OpenGLWindowFramebuffer& operator=(const OpenGLWindowFramebuffer&) = delete;
|
||||
OpenGLWindowFramebuffer& operator=(OpenGLWindowFramebuffer&&) = delete;
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ typedef void (GL_APIENTRYP PFNGLSPECIALIZESHADERARBPROC) (GLuint shader, const G
|
||||
cb(glBufferData, PFNGLBUFFERDATAPROC) \
|
||||
cb(glBufferSubData, PFNGLBUFFERSUBDATAPROC) \
|
||||
cb(glClear, PFNGLCLEARPROC) \
|
||||
cb(glClearBufferfi, PFNGLCLEARBUFFERFIPROC) \
|
||||
cb(glClearBufferuiv, PFNGLCLEARBUFFERUIVPROC) \
|
||||
cb(glClearColor, PFNGLCLEARCOLORPROC) \
|
||||
cb(glClearDepthf, PFNGLCLEARDEPTHFPROC) \
|
||||
cb(glClearStencil, PFNGLCLEARSTENCILPROC) \
|
||||
|
||||
Reference in New Issue
Block a user