Fix attempt for intel mesa

This commit is contained in:
vlj 2014-05-19 00:25:25 +02:00
parent 42db6d2bba
commit 84235b6491
3 changed files with 4 additions and 4 deletions

View File

@ -529,12 +529,12 @@ FrameBuffer::FrameBuffer(const std::vector<GLuint> &RTTs, size_t w, size_t h) :
assert(result == GL_FRAMEBUFFER_COMPLETE_EXT);
}
FrameBuffer::FrameBuffer(const std::vector<GLuint> &RTTs, GLuint DS, size_t w, size_t h) :
FrameBuffer::FrameBuffer(const std::vector<GLuint> &RTTs, GLuint DS, size_t w, size_t h, bool layered) :
DepthTexture(DS), RenderTargets(RTTs), width(w), height(h)
{
glGenFramebuffers(1, &fbo);
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
if (irr_driver->getGLSLVersion() >= 330)
if (layered)
{
for (unsigned i = 0; i < RTTs.size(); i++)
glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i, RTTs[i], 0);

View File

@ -191,7 +191,7 @@ private:
public:
FrameBuffer();
FrameBuffer(const std::vector <GLuint> &RTTs, size_t w, size_t h);
FrameBuffer(const std::vector <GLuint> &RTTs, GLuint DS, size_t w, size_t h);
FrameBuffer(const std::vector <GLuint> &RTTs, GLuint DS, size_t w, size_t h, bool layered = false);
~FrameBuffer();
void Bind();
std::vector<GLuint> &getRTT() { return RenderTargets; }

View File

@ -197,7 +197,7 @@ RTT::RTT(size_t width, size_t height)
somevector.clear();
somevector.push_back(shadowColorTex);
shadowFBO = new FrameBuffer(somevector, shadowDepthTex, 1024, 1024);
shadowFBO = new FrameBuffer(somevector, shadowDepthTex, 1024, 1024, true);
}
glBindFramebuffer(GL_FRAMEBUFFER, 0);
}