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

3D PPC Graphics in Practice


3D PPC Graphics in Practice

Postby telamon » Jun 25, 2003 @ 7:28am

--------------------------------
Let be be finale of seem, seems to me.
--------------------------------
User avatar
telamon
pm Member
 
Posts: 20
Joined: Mar 30, 2003 @ 10:16pm


Postby Conan » Jun 25, 2003 @ 10:39am

What is Best in Life ?
User avatar
Conan
pm Member
 
Posts: 1309
Joined: Dec 24, 2001 @ 5:16am
Location: the Shades, Ankh-Morpock


Postby Dan East » Jun 25, 2003 @ 2:06pm

First off, yes, Pocket PCs can handle very substantial 3D rendering, if the entire rendering pipeline has been specifically designed around Pocket PC hardware. Take a look at what the PS1 can do with a very well written software renderer.

I concur that PocketGL is probably your best bet. It certainly has limitations when you try to do anything substantial with it. For example, it uses a Z-Buffer, which provides the most simplistic (implementation-wise) yet accurate depth sorting. However it is also very expensive. Pierre reduced the cost of using a Z-buffer by merging the depth buffer and color buffer together. So the high word is the depth, the low word is the RGB565 color value. The big downside is it requires special GAPI blits because it isn't a plain 16 bit color buffer. If one uses an extra pass through the buffer to convert it to a regular buffer then it negates any performance gain you would get from an optimized GAPI toolkit like GapiDraw (see .

Other disadvantages for large projects include:

Only imports ASE format (raw polygons), which can only really be generated by the very expensive 3D Studio Max.

No hidden surface removal (coverage spans, etc).

Limited Z-distance (4096 units for perspective correction).

Texture color depth is reduced to 9 bit before gourard shading is applied.

No entity system.

Many hard-coded values (screen dimensions, FOV, etc).

No high level polygon management (BSP). Note that the BSP implementation used by the Quake3 demo is not real BSP. It is not a tree, it it just divides the world into a grid.

Custom GAPI flush routines not optimized for newer devices (e740, Axim, etc).

No documentation, and demos are only of limited value for someone new to 3D programming in general.


It is a good toolkit to build off of. It allows one to quickly prototype off of it, but by itself it can only be used for pretty basic games, like Ghostworld. It is not possible to create a first person shooter or any high poly maps with it due to performance reasons, without a substantial amount of additional coding. But for the money it is a good investment.

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


Postby Malmer » Jun 26, 2003 @ 9:47am

All your base are belong to us
User avatar
Malmer
pm Member
 
Posts: 768
Joined: Apr 26, 2001 @ 5:15pm
Location: Sweden


Postby Malmer » Jun 26, 2003 @ 9:53am

All your base are belong to us
User avatar
Malmer
pm Member
 
Posts: 768
Joined: Apr 26, 2001 @ 5:15pm
Location: Sweden


Postby Dan East » Jun 26, 2003 @ 10:18am

A correction to my previous post. The combination color / depth buffer that PocketGL uses is not high word depth, low word RGB 565. The low word is a proprietary color value. The base 9 bit texture color value has another value (the intensity) added to it. When the GAPI blit occurs that value is looked up in a table, which contains the 9 bit values scaled to various intensities in RGB 565.

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


Postby Conan » Jun 26, 2003 @ 10:36am

on the control issue mentioned above I'm using a virtual D-Pad with a toggle to give me 10 controls but have not implemented the 8-way functionality as I also offer the read D-Pad + other hard buttons.

I'm only using a 240 x 240 3D screen to aid performance.

Overall PocketGL is pretty good & is likely to do me for this current game & the next one. Hopefully by then PocketPCs will be able to take a port of OpenGL.
What is Best in Life ?
User avatar
Conan
pm Member
 
Posts: 1309
Joined: Dec 24, 2001 @ 5:16am
Location: the Shades, Ankh-Morpock


Postby andyclap » Jun 26, 2003 @ 12:28pm

Of course, the main advantage of PocketGL is that you get the full sourcecode, so if you're reasonably familiar with 3d gx, any tweaking you want to do is possible.
As Dan said, it's a great basis for your own 3d engine, but on its own it can be a quite limited.
User avatar
andyclap
pm Member
 
Posts: 62
Joined: Aug 5, 2002 @ 1:32pm


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

cron