MPxLocatorNode를 만들때 OpenGL에 관한 내용이다.
C style
GLuint txid;
glGenTextures(1, &txid);
python style의 경우 opengl 라이브러리를 사용
txid = glGenTextures(1)
Maya Python API에서는
glRenderer = MHardwareRenderer.theRenderer()
glFT = glRenderer.glFunctionTable()
txid = glFT.glGenTextures( 1 )
위의 경우
// Error: TypeError: MGLFunctionTable_glGenTextures expected 3 arguments, got 2 //
와 같은 에러를 출력한다.
해서 c-style로 수정하면
// Error: TypeError: in method 'MGLFunctionTable_glGenTextures', argument 3 of type 'MGLuint *' //
와 같은 에러를 출력한다.
python을 경우 변수타입을 지정할수 없다.
일반적인 경우 MScriptUtil을 이용하여 변수타입을 정해서 포인터로 받는 형태를 취하는데
MGLuint로 변수타입을 정할수는 없다.
이와 같은 에러의 주 원인은 glFunctionTable를 사용하려 함이다.
이를 사용하지 않고 python opengl라이브러리를 바로 사용한다면 이와 같은 에러는 발생하지 않는다.
댓글 없음:
댓글 쓰기