Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is webgl immediate mode?

Hey so I'm trying to learn 3d graphics and I've came to understand that immediate mode means to draw graphics straight from when they're called like html canvas and retained mode to be drawing to buffers and calculating before "flushing" or swapping buffers But these last few days I've been learning webgl and Iv discovered that it completely lacks what this thread What does "immediate mode" mean in OpenGL? defines as immediate mode in opengl, "gl begin()"

So this got me to think that webgl must be retained mode only, but when I was reading the spec, on this page:http://www.khronos.org/registry/webgl/specs/latest/1.0/

In the very first yellow box it says webgl is an immediate mode api? Could someone please explain what I'm getting wrong here?

like image 714
Jim Jones Avatar asked Jan 11 '23 12:01

Jim Jones


1 Answers

I think the root of the confusion is the thread you pointed out is using OpenGL-specific concepts of immediate mode versus retained mode.

WebGL is deemed immediate as follows:

Immediate mode API means the application must call all the rendering commands to draw the entire scene for every frame. For example, WebGL and HTML5 Canvas are immediate mode. Retained mode API means the application only describes the scene objects but DOES NOT issue rendering requests. For example, SVG is retained mode.

Have a look at this discussion on SVG (retained mode) versus Canvas (immediate mode):

SVG vs canvas: how to choose

See also:

http://en.wikipedia.org/wiki/Immediate_mode

http://en.wikipedia.org/wiki/Retained_mode

like image 183
Everton Avatar answered Jan 21 '23 08:01

Everton