4

IntelHD3000グラフィックチップセットを搭載したWindows864ビットラップトップのPyOpenGL3.0.2に問題があります。glGenBuffers(1)(適切なGL初期化後の)への呼び出しはすべてクラッシュします:

  File ".\sample.py", line 7, in init
    buffer = glGenBuffers(1)
  File "latebind.pyx", line 32, in OpenGL_accelerate.latebind.LateBind.__call__ (src\latebind.c:768)
  File "wrapper.pyx", line 308, in OpenGL_accelerate.wrapper.Wrapper.__call__ (src\wrapper.c:5811)
  File "C:\Python27\lib\site-packages\OpenGL\platform\baseplatform.py", line 379, in __call__
    return self( *args, **named )
WindowsError: exception: access violation writing 0x00000000720CF630

まったく同じスクリプトが他のマシンでも機能します。

OpenGL 3.1をサポートする最新バージョンのGPUドライバー(15.28.12.64.2932)を持っています。

何か案は?

サンプルスクリプトは次のとおりです。

import sys
from OpenGL.GLUT import *
from OpenGL.GL import *
from OpenGL.GLU import *

def init():
    buffer = glGenBuffers(1)

glutInit(sys.argv)
glutInitWindowSize(600, 600)
glutCreateWindow("Sample")
init()
glutMainLoop()
4

2 に答える 2

1

Python 64ビットディストリビューション全体をアンインストールし、Python 32ビットとすべてのライブラリを32ビットでインストールすることで、最終的に問題を解決しました。さらに、PyOpenGL3.1.aを使用する必要がありました。そもそも64ビットのインストールで問題が発生した原因がわかりません。

于 2013-03-11T10:02:49.883 に答える
1

ドライバーが OpenGl 3.1 をサポートしていても、Glut はデフォルトで OpenGL 2.0 コンテキストを提供します。おそらく次のように、3.1 の cpntext を要求する必要があります。

glutInitContextVersion(3, 1) 
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE) 
glutInitContextProfile(GLUT_CORE_PROFILE)

適切な 3.1 コンテキストがないと、3.1 固有の呼び出しによってクラッシュが発生します。

于 2013-03-07T19:05:07.910 に答える