本文整理汇总了C++中OpenGLTexture::getFrameBufferID方法的典型用法代码示例。如果您正苦于以下问题:C++ OpenGLTexture::getFrameBufferID方法的具体用法?C++ OpenGLTexture::getFrameBufferID怎么用?C++ OpenGLTexture::getFrameBufferID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenGLTexture
的用法示例。
在下文中一共展示了OpenGLTexture::getFrameBufferID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bindFrameBufferTexture
void OpenGLRenderer::bindFrameBufferTexture(Texture *texture) {
if(!texture)
return;
OpenGLTexture *glTexture = (OpenGLTexture*)texture;
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, glTexture->getFrameBufferID());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
示例2: bindFrameBufferTexture
void OpenGLRenderer::bindFrameBufferTexture(Texture *texture) {
if(currentFrameBufferTexture) {
previousFrameBufferTexture = currentFrameBufferTexture;
}
OpenGLTexture *glTexture = (OpenGLTexture*)texture;
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, glTexture->getFrameBufferID());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
currentFrameBufferTexture = texture;
}
示例3: glReadBuffer
Image *OpenGLRenderer::renderBufferToImage(Texture *texture) {
OpenGLTexture *glTexture = (OpenGLTexture*)texture;
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, glTexture->getFrameBufferID());
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
char *imageBuffer = (char*)malloc(texture->getWidth() * backingResolutionScaleX * texture->getHeight() * backingResolutionScaleY * 4);
glReadPixels(0, 0, texture->getWidth() * backingResolutionScaleX, texture->getHeight() * backingResolutionScaleY, GL_RGBA, GL_UNSIGNED_BYTE, imageBuffer);
Image *retImage = new Image(imageBuffer, texture->getWidth() * backingResolutionScaleX, texture->getHeight() * backingResolutionScaleY, Image::IMAGE_RGBA);
free(imageBuffer);
unbindFramebuffers();
return retImage;
}