作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 FBO 中渲染一个简单的棋盘格,然后执行 glReadPixels()。
当我在没有 FBO 的情况下执行此操作时,一切正常。所以我假设我的渲染函数没问题,glReadPixels()也是如此。使用 FBO,我得到的只是在完成对 FBO 的调用后绘制的线条。
这是我的代码(Python,针对跨平台):
def renderFBO():
#WhyYouNoWorking(GL_FRAMEBUFFER) # degug function... error checking
glBindFramebuffer( GL_DRAW_FRAMEBUFFER, framebuffer)
glBindRenderbuffer( GL_RENDERBUFFER, renderbufferA)
glRenderbufferStorage( GL_RENDERBUFFER, GL_RGBA, window.width, window.height)
glBindRenderbuffer( GL_RENDERBUFFER, renderbufferB)
glRenderbufferStorage( GL_RENDERBUFFER, GL_DEPTH_COMPONENT, window.width, window.height)
glBindFramebuffer( GL_DRAW_FRAMEBUFFER, framebuffer)
glFramebufferRenderbuffer( GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, renderbufferA)
glFramebufferRenderbuffer( GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderbufferB)
#WhyYouNoWorking(GL_FRAMEBUFFER)
glDrawBuffer(GL_COLOR_ATTACHMENT0)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
glViewport( 0, 0, window.width, window.height)
DrawChecker(Nbr = 16, Dark = 25.0/255, Light = 75.0/255)
for i in range(len(labelSysInfo)):
pyglet.text.Label(labelSysInfo[i], font_name='Times New Roman', font_size=26, x=(window.width*0.68), y= (window.height*0.04*i)+(window.height*2/3), anchor_x='left', anchor_y='center', color = (250, 250, 250, 150)).draw()
glReadPixels(0, 0, window.width, window.height, GL_RGBA, GL_UNSIGNED_BYTE, a)
glBindFramebuffer( GL_FRAMEBUFFER, 0)
def on_draw(dt):
glDrawBuffer(GL_BACK)
glClear(GL_COLOR_BUFFER_BIT)
glClearColor( 0.0, 0.0, 0.0, 1.0)
glLoadIdentity()
glEnable(GL_TEXTURE_2D)
glDisable(GL_TEXTURE_2D)
BlueLine() # draw a simple line. works fine
DropFrameTest() # draw a simple line. works fine
dt = pyglet.clock.tick()
renderFBO()
pyglet.clock.schedule_interval(on_draw, 0.007)
pyglet.app.run()
最佳答案
猜测一下,您只将帧缓冲区绑定(bind)到 GL_DRAW_FRAMEBUFFER。采用
glBindFramebuffer(GL_FRAMEBUFFER, ...
glFramebufferRenderbuffer(GL_FRAMEBUFFER, ...
关于opengl - 渲染到 FBO + glReadPixels 全黑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18255082/
我正在尝试在 FBO 中渲染一个简单的棋盘格,然后执行 glReadPixels()。 当我在没有 FBO 的情况下执行此操作时,一切正常。所以我假设我的渲染函数没问题,glReadPixels()也
我是 Java 图形(一般的计算机图形)和 Stack Overflow 的新手,所以请帮助我并帮助我更好地表达我的问题。 目前,我正在尝试在 Java GUI 中的原始图像旁边显示 Buffered
我正在尝试使用 Three.js 加载我的 ply 文件。它奏效了,但我几乎看不到任何颜色。这里和那里有一些瞥见,但它大部分是黑色的(下面的第一张图片)。图像在 MeshLab 中正确打开(带有颜色)
主页应用程序图标没有显示我在 xcassets 中的任何图像。它只显示黑色背景。 到目前为止,我已经尝试在删除设备上的应用程序后进行清理和重建。我试过上传具有相同效果的不同图像。我也试过将图标文件直接
我是一名优秀的程序员,十分优秀!