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 方法。
isBuffercompressedTexImage2DcompressedTexSubImage2DcopyTexImage2DcopyTexSubImage2DgetTexParameterisTexturetexSubImage2DbindAttribLocationgetAttachedShadersisProgramisShadergetUniformgetVertexAttribgetVertexAttribOffsetvertexAttrib1fvvertexAttrib2fvvertexAttrib3fvvertexAttrib4fvfinishgetSupportedExtensionscheckFramebufferStatuscreateFramebufferdeleteFramebufferframebufferRenderbufferframebufferTexture2DgetFramebufferAttachmentParameterisFramebufferbindRenderbuffercreateRenderbufferdeleteRenderbuffergetRenderbufferParameterisRenderbufferrenderbufferStoragereadPixels 当前只支持 Android。
texImage2D 只支持 9 个参数的形式。最后一个参数要么是一个 ArrayBuffer (WebGL 规范里的 texture 数据),
要么是一个 Exponent.Asset (作为 texture source 的一张图片)。
为了性能,当前这些方法对参数不做类型或者边界检查。所以如果传入的参数不合法,就会导致 native 崩溃。 之后的 SDK 版本我们计划加入参数检查。