Exponent.
GLView
¶一个 View
, 作为 OpenGL ES 渲染对象。在加载的时候,一个 OpenGL ES 环境会创建。
每一帧它的 drawing buffer 都会当作这个 View
的内容。
除了一般的 View
属性,比如 layout 还有 触摸操作, 还有下面的这些属性:
gl
对象¶一旦组件加载,OpenGL ES 环境创建成功,传入属性 onContextCreate
的 gl 对象就成为 OpenGL ES 环境的接口,提供
类似 WebGL 的 API。类似 WebGL 1 规范,WebGLRenderingContext. 还有一个方法
endFrameExp 可以通知当前环境当前帧可以显示了。类似其他 OpenGL 平台上的 'swap buffers'
API 调用。
SDK 11.0.0 还没有实现所有的 WebGL 功能。我们会在接下来的 SDK 版本里不断完善 API。
下面是还没有实现的 WebGLRenderContext 方法。
isBuffer
compressedTexImage2D
compressedTexSubImage2D
copyTexImage2D
copyTexSubImage2D
getTexParameter
isTexture
texSubImage2D
bindAttribLocation
getAttachedShaders
isProgram
isShader
getUniform
getVertexAttrib
getVertexAttribOffset
vertexAttrib1fv
vertexAttrib2fv
vertexAttrib3fv
vertexAttrib4fv
finish
getSupportedExtensions
checkFramebufferStatus
createFramebuffer
deleteFramebuffer
framebufferRenderbuffer
framebufferTexture2D
getFramebufferAttachmentParameter
isFramebuffer
bindRenderbuffer
createRenderbuffer
deleteRenderbuffer
getRenderbufferParameter
isRenderbuffer
renderbufferStorage
readPixels
当前只支持 Android。
texImage2D
只支持 9 个参数的形式。最后一个参数要么是一个 ArrayBuffer (WebGL 规范里的 texture 数据),
要么是一个 Exponent.Asset (作为 texture source 的一张图片)。
为了性能,当前这些方法对参数不做类型或者边界检查。所以如果传入的参数不合法,就会导致 native 崩溃。 之后的 SDK 版本我们计划加入参数检查。