代码之家  ›  专栏  ›  技术社区  ›  Jay Conrod

OpenGL在巨蟒和雪豹?

  •  4
  • Jay Conrod  · 技术社区  · 15 年前

    我对在Python中使用OpenGL很感兴趣。我在C++和Objto-C中使用了OpenGL,但是我在Python上没有太多的经验。我想知道是否有一个很好的教程可以在雪豹。如果可能的话,我宁愿保持64位模式,因为我听说32位程序需要加载很多额外的32位库。

    我已经试过了 PyOpenGL/wxPython tutorial . 当我运行代码时,它与以下消息崩溃:

    ImportError: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)
    

    看起来有一个 bug 在wxpython中,阻止它在64位系统上工作。

    我也看了皮格勒特,但他们有一个 similar issue .它们提供了一种解决方案(将python设置为32位模式),但看起来它们不会修复它。

    最后,我看了一下Pyglut,但我认为它只适用于窗户。

    有没有其他库可以让我访问OpenGL并在屏幕上绘图?同样,我希望保持64位模式,但如果没有任何效果,我将切换到32位,然后再次尝试wxpython或pyglet。


    编辑: 我也试过Pygame。这取决于SDL broken 在sl.中,我考虑过通过pyobjc使用coco,但是xcode python应用程序模板 have been removed .

    4 回复  |  直到 15 年前
        1
  •  4
  •   Lara Dougan    15 年前

    我已经用过 PyOpenGL 3.0.0在雪豹上相当成功。它使用CTypes,所以如果这些库可用,它应该进行64位调用(而且SnowLeopard的Python包含64位版本)。我没有在pyopengl中使用wxpython,所以可能会遇到问题,但是pyopengl也包含了glut,两者都运行良好。

        2
  •  2
  •   Mark Bessey    15 年前

    可能没有很好的理由避免使用32位模式。当然,除非您的python程序需要更大的地址空间。

        3
  •  0
  •   user168672    15 年前

    你可以试试Pygame。pygame是一个围绕sdl的python包装器。根据他们的网站,他们有Max OS X二进制文件。这里是一个 simple example 在OpenGL中使用pygame。一旦你能够创建窗口和处理事件,大多数OpenGL编程就好像它是在C或C++中,但是有一些附加的Python善良。对于OpenGL来说,一个很好的教程就是Nehe。

        4
  •  0
  •   Mavrik    15 年前

    同样,当在python中使用OpenGL编程时,请记住,当涉及到3D图形的需求时,python数据结构可能会非常慢。例如,PyGL开发人员建议在涉及图形的操作中使用CTypes,因为这样您就可以获得足够的性能来满足某些具有可裸露FPS的复杂几何体的需要。