Fwd: Quesa 0.0.2

Raab, Andreas Andreas.Raab at disney.com
Wed Jul 28 22:21:24 UTC 1999


To be brief:

'Immediate mode' means you're getting directly onto the hardware. Your
commands are executed directly there is no delay no higher-level
representations. As an example, OpenGL (being mostly an immediate mode API)
might display a triangle after the following sequence of commands:

	glBegin(GL_TRIANGLE); /* We want to draw a triangle */

		glColor3f(1.0, 0.0, 0.0); /* the color of the first vertex
*/
		glNormal3f(0.0, 0.0, 1.0); /* the normal of the first vertex
*/
		glVertex3f(0.0, 0.0, 0.0); /* the first vertex position */

		glColor3f(0.0, 1.0, 0.0); /* the color of the second vertex
*/
		glNormal3f(1.0, 0.0, 1.0); /* the normal of the second
vertex */
		glVertex3f(1.0, 0.0, 0.0); /* the second vertex position */

		glColor3f(0.0, 1.0, 0.0); /* the color of the third vertex
*/
		glNormal3f(0.0, 1.0, 1.0); /* the normal of the third vertex
*/
		glVertex3f(0.0, 1.0, 0.0); /* the third vertex position */

	glEnd(); /* finished the triangle */

'Retained mode' means you are setting up an object that will perform the
rendering operation itself by calling the immediate mode stuff. Common
objects are triangle meshes, nurbs surfaces etc. The retained mode framework
frees you from having to go to the low-level code (that's what is good about
it) and it usually includes functionality that is not related to actual
rendering such as collision detection (which is also good about it) but of
course, since the retained mode stuff is a general framework it is usually
not optimized for specific applications - and that is why most game
programmers don't use it.

Thinking in terms of Smalltalk the 'immediate mode' is running byte codes
and the 'retained mode' is using a class and its methods. And while I agree
that the implementation of byte codes should be done in C/C++ I certainly
don't agree on defining Smalltak classes in C++ ;-)

  Andreas
--
+===== Andreas Raab ========= (andreasr at wdi.disney.com) ==+
| Walt Disney Imagineering        Phone: +1 818 544 5016  I
I Glendale, CA                    Fax:   +1 818 544 4544  I
+======< http://isgwww.cs.uni-magdeburg.de/~raab >========+


> ----------
> From: 	Andrew C. Greenberg
> Reply To: 	squeak at cs.uiuc.edu
> Sent: 	Wednesday, July 28, 1999 5:01 AM
> To: 	squeak at cs.uiuc.edu
> Cc: 	recipient list not shown
> Subject: 	RE: Fwd: Quesa 0.0.2
> 
> >Jeff,
> >
> >Interfacing a retained mode framework from Squeak is - in my
> understanding -
> >a very, very bad idea.
> 
> . . .
> 
> >So, what I think we really need to have is ultra-fast immediate mode
> >rendering with a highly flexible retained mode framework behind it.
> 
> I'm pretty sure I worked out the gist of the meaning of these terms. 
> "retained mode framework" and "immediate mode" from the context. 
> However, a little knowlege is a dangerous thing, and I don't know 
> what I don't know about this stuff.  Accordingly, I'd be obliged if 
> someone would offer definitions so I can be sure.
> 





More information about the Squeak-dev mailing list