使用此 Context3D 对象的当前缓冲区和状态呈现指定的三角形。
对于每个三角形,三角形顶点由顶点着色器程序处理,三角形表面由像素着色器程序处理。系统会绘制每个像素的来自像素程序的输出颜色,以便呈现目标,具体取决于印模操作、深度测试、源和目标 alpha 以及当前的混合模式。渲染目标可以是主渲染缓冲区或纹理。
如果启用剔除(利用 setCulling()
方法),则在像素程序运行前可以从场景中丢弃三角形。如果启用了印模和深度测试,则无需更新呈现目标即可丢弃来自像素程序的输出像素。另外,像素程序可以决定不为某个像素输出某种颜色。
在调用 present()
方法之前,渲染的三角形将不会在视口中显示。每次调用 present()
之后,必须在首次调用 drawTriangles()
之前调用 clear()
方法,否则渲染将失败。
当 enableErrorChecking
为 false
时,此函数会立即返回值,无需等待结果,仅在此 COntext3D 实例已经被处置或者有太多绘制调用时才会引发异常。如果渲染上下文状态无效,则渲染将失败且不会显示任何提示。当 enableErrorChecking
属性为 true
时,此函数会在绘制三角形后返回值,会针对任何绘制错误或无效的上下文状态引发异常。