嘿所以我正在尝试学习3D图形,我开始明白,立即模式意味着直接绘制图形,当它们像html画布和保留模式一样被绘制到缓冲区并在“刷新”之前计算“或交换缓冲区 但最近几天我一直在学习webgl,而且我发现它完全没有这个线程What does "immediate mode" mean in OpenGL?在opengl中定义为立即模式的东西,“gl begin()”
所以这让我觉得webgl必须只保留模式,但是当我阅读规范时,在这个页面上:http://www.khronos.org/registry/webgl/specs/latest/1.0/
在第一个黄色框中,它表示webgl是立即模式api? 有人可以解释我在这里遇到的问题吗?
答案 0 :(得分:6)
我认为混淆的根源是你指出的线程使用的是立即模式与保留模式的OpenGL特定概念。
WebGL被视为如下:
立即模式API 表示应用程序必须调用所有渲染命令才能为每个帧绘制整个场景。例如,WebGL和HTML5 Canvas是立即模式。 保留模式API 表示应用程序仅描述场景对象,但不发出渲染请求。例如,SVG是保留模式。
看看有关SVG(保留模式)与Canvas(立即模式)的讨论:
另见:
答案 1 :(得分:1)
您可以在http://www.craftymind.com/guimark2/查看图示良好的描述。基本上它归结为“缓冲我的所有状态变化,然后绘制一次” vs,“绘制每个调用”。在这种特定情况下,它也与Javascript模型有关。