我正在将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);
最佳答案
您可以尝试以下方法吗:
gl:glClear(gl.GL_COLOR_BUFFER_BIT)
注意第二个
gl
之后的点此链接描述了
.
和:
之间的区别http://www.lua.org/pil/16.html