0

我正在使 LuaJava 适应我的 Android 应用程序,并希望脚本能够运行 OpenGL 函数。我在使用 pushJavaObject 的函数中将 GL 上下文推送到 Lua,它可以工作。但是我不能在 GL10 类中使用任何常量,如 COLOR_BUFFER_BIT。有什么办法可以访问这些吗?我必须复制所有常量吗?

这有效

function onUpdate(gl)
    GL_COLOR_BUFFER_BIT = 16384
    gl:glClearColor(1, 1, 0, 1)
    gl:glClear(GL_COLOR_BUFFER_BIT)
end

这失败了

function onUpdate(gl)        
    gl:glClearColor(1, 1, 0, 1)
    gl:glClear(gl:GL_COLOR_BUFFER_BIT)
end

Java端

l.getGlobal("onUpdate");
l.pushJavaObject(gl);
l.pcall(1, 1, 0);
4

1 回答 1

1

could you try this instead:

gl:glClear(gl.GL_COLOR_BUFFER_BIT)

notice the dot after the second gl

This link describes the difference between . and :

于 2013-06-14T17:31:13.030 回答