python中没有glGenFramebuffers,但在javascript中可用[关闭]
Posted
技术标签:
【中文标题】python中没有glGenFramebuffers,但在javascript中可用[关闭]【英文标题】:No glGenFramebuffersin python but available in javascript [closed] 【发布时间】:2018-11-23 16:08:51 【问题描述】:我正在尝试使用 OpenGL 库将 hackathon-slicer 移植到 python3。 hackathon 切片器是用 node/javascript 编程的,在我的旧笔记本电脑上运行良好。
但是,当我使用 OpenGL 库将其移植到 python 时,我在“glGenFramebuffers”上收到错误,因为 glGenFramebuffers 不可用。我检查了,OpenGL 库有可用的功能。此外,由于它在 node/javascript 中运行良好,我的笔记本电脑显卡也有 FrameBuffer 可用。
那么真正的问题是什么以及如何解决呢?非常感谢任何帮助!
【问题讨论】:
这里的一些代码,如help docs 推荐,将帮助任何人找到解决方案。一些问题:你链接到什么 OpenGL 库?您要求什么 OpenGL 版本和 配置文件? 【参考方案1】:发现问题。在创建 OpenGL 上下文后,您显然只有 glGenFramebuffers 。上下文现在在类 init 中创建。
class Viewport:
def display(self):
# Clear the color and depth buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
# ... render stuff in here ...
# It will go to an off-screen frame buffer.
# Copy the off-screen buffer to the screen.
glutSwapBuffers()
def __init__(self):
glutInit(sys.argv)
# Create a double-buffer RGBA window. (Single-buffering is possible.
# So is creating an index-mode window.)
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
# Create a window, setting its title
glutCreateWindow('interactive')
# Set the display callback. You can set other callbacks for keyboard and
# mouse events.
glutDisplayFunc(self.display)
在这之后,下面的代码就可以工作了:
def renderSlice(self):
glDisable(GL_DEPTH_TEST)
glEnable(GL_STENCIL_TEST)
glViewport(0, 0, 2560,1440)#printer.resolution.x, printer.resolution.y)
# Bind the target framebuffer
sliceFbo = glGenFramebuffers(1)
【讨论】:
以上是关于python中没有glGenFramebuffers,但在javascript中可用[关闭]的主要内容,如果未能解决你的问题,请参考以下文章