This site is no longer active and is available for archival purposes only. Registration and login is disabled.

OpenGL ES Software Renderer / 2300 discussion


OpenGL ES Software Renderer / 2300 discussion

Postby Dan East » Mar 26, 2004 @ 3:00am

Last edited by Dan East on Mar 29, 2004 @ 5:21pm, edited 1 time in total.
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Kzinti » Mar 26, 2004 @ 3:26am

Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby hm » Mar 26, 2004 @ 3:41am

User avatar
hm
pm Member
 
Posts: 201
Joined: Dec 28, 2003 @ 8:47pm
Location: Seattle, WA


Postby Digby » Mar 26, 2004 @ 7:15am

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby hm » Mar 26, 2004 @ 7:29am

User avatar
hm
pm Member
 
Posts: 201
Joined: Dec 28, 2003 @ 8:47pm
Location: Seattle, WA


Postby drgoldie » Mar 26, 2004 @ 11:56am

well, what would be great is something like "per attribute indexed arrays".

standard opengl vertex arrays just allow one index for all attributes of a vertex (position, normal, texcoord, etc.). for a software renderer it would be great to supply different indices for each of these, so that coords can be shared even when normals and/or texcoords are not, etc.

anyway it makes sense to cache transformed vertices of vertex arrays such as mesa does...

Daniel
drgoldie
pm Member
 
Posts: 330
Joined: Jan 10, 2003 @ 10:46am
Location: Vienna


Postby Dan East » Mar 26, 2004 @ 3:17pm

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Digby » Mar 26, 2004 @ 7:46pm

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby Dan East » Mar 27, 2004 @ 2:32am

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Digby » Mar 27, 2004 @ 4:11am

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby hm » Mar 29, 2004 @ 8:29am

User avatar
hm
pm Member
 
Posts: 201
Joined: Dec 28, 2003 @ 8:47pm
Location: Seattle, WA


Postby bluescrn » Mar 29, 2004 @ 11:23pm

I don't really see the point of OpenGL ES any more. I was expecting something cut-down enough to be implemented efficently in software. Amongst other things, this would include not relying on depth buffers...

As it is, it's fairly clearly *not* aimed at software implementations. So why not just use bog standard OpenGL, ? Or a 'MiniGL/QuakeGL' type implementation, as proved so successful on the PC?

I though fixed-point maths may be the main issue - but is it even an issue if it's aimed at hardware implementations that will almost inevitably get T+L (if not complete shaders support) in a couple of generations time.

And doesn't regular OpenGL support the likes of glVertex3i() anyway? and transformations could probably be implemented in fixed point internally?
User avatar
bluescrn
pm Member
 
Posts: 107
Joined: Jul 6, 2003 @ 4:20pm
Location: Manchester, England


Postby Dan East » Mar 30, 2004 @ 1:31am

One of the primary differences of OpenGL ES is to force passing of data by array, thus doing away with the glBegin and glEnd paradigm (which I never liked anyway - why in the world would I want the overhead of a function call for every single vertex I want to pass?).

So OpenGL ES in a large way represents a lean and mean OpenGL that no longer has to be backwards compatible. In other words, a lot like what OpenGL would look like if it were done right in the first place without so many redundant layers.

I know I'm starting to sound like a broken record (because I've said this a couple times in the past). When it comes to hardware rendering, where all transformations and projections are done in hardware with high accuracy, including a texture matrix, there is no need at all for a fixed point type. You can simply use full blown integers, and scale the matrix to affect fixed point against the type. For example, if you are using 16.16 on the software side, then you can pass those verts as GL_INT, and scale the matrix by 1/(1<<16).

Of course all of that is completely out of the question for software rendering, especially when we talk about also using a texture matrix which allows the same technique with texture coords.

However OpenGL ES does have Fixed Point types, although they did not end up being used at all in MotoGP and ES Quake. We decided it was far more important to reduce the data size and go with shorts and use the above technique than to treat them as formal fixed point . So at this point I do feel that the Fixed Point types were included specifically for software renderers.

Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Digby » Mar 31, 2004 @ 8:47pm

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby Dan East » Apr 1, 2004 @ 4:25am

Vertex Buffer Objects allow you to copy the geometry to the VRAM once and reuse it, assuming your geometry is static.

Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Next

Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum