sponge wrote:Dan: is it possible to see that display mode make it into the software PocketQuake?
I won't be making that modification in the near future. I don't have time to spare.
sponge wrote:The particles in GLQuake are most definitely circular (I'm running the original glQuake, and fuhQuake, a good source port) so what do you mean by the nearly square (unless you mean how the graphics card handles them - when they're on the screen, they're quite circular)
0110
1111
1111
0110
00011000
00122100
01233210
12344331
12344321
01233210
00122100
00011000
Those are the exact textures used for the particles in both GLQuake (top) and ESQuake (bottom). You can see why I say the GLQuake particle is "more square". Also you can see the different alpha levels used in ESQuake to smoothly blend the particle.
sponge wrote:How close is that device to being an actual PDA, in terms of the size of parts, batteries, etc?
Those screenshots don't show much, and I'm not sure exactly what they were demonstrating on at CES, but it appears to be an XScale Lubbock, which is basically everything that an XScale Pocket PC is, except everything is mounted to very large boards with tons of LED indicators, DIP switches, dials and ports for engineers to attach all kinds of diagnostic instruments to. So as far as from the software point of view, it is identical to any modern XScale PPC in performance and memory, except it runs CE 4.0 and has a Imageon 2300 GPU.
sponge wrote:Also, when you say that it can't send data to the 2300 fast enough, is that referring to Quake and it's current limitations on WinCE, or to the XScale 400MHz? Will developers basically have to sacrifice game logic in order for better graphics, due to the limited processing power?
Quake has the floating point math issue that really limits it. However even with a perfectly optimized engine there are several hardware issues, including everything from the bus / memory speed of the device, the small cache sizeof the XScale, the (relatively) low speed of the processor, etc. There are ways of compensating. Most specifically that is to cache as much static geometry in the 2300's memory as possible, and then basically say "draw mesh 54 now". I don't see developers having to sacrifice game logic, as much as not be able to keep the 2300 maxed out rendering polys. IE the software and platform will limit the number of polys rendered per second, not the 2300. However, it won't be long before the CPU and supporting hardware "grows into" the 2300.
sponge wrote:What do you think of the API, and the card in general from the developer side?
Both are excellent. The engineer working on both the chip and the driver has listened to my suggestions and requests, and implemented changes to the driver to make it more conducive to work around platform limitations. Those suggestions stemmed from real-world coding issues I've encountered, which is a big difference from trying to predict everything that will be needed before the hardware exists, and then setting those limitations in stone. I don't know how driver development normally procedes, but from my standpoint ATI has done everything right with the 2300 and OpenGL ES (but of course I would have to say that - they decided to involve me in the process

). Extensions to OpenGL ES are already completed, again, to further tune the driver for the resource-restricted environment it runs in. So I think ATI is extremely in-touch with the developers that will be coding for this chip, unlike various other hardware fiascos that we've seen in the past (Axim Basic, iPaq 36xx single button press, etc).
sponge wrote:Thanks for clearing things up, sorry about the bombardment of questions. I'm sure you can understand the excitement, as this is finally the first working 3D accelerator that has been actually seen running on WinCE.
Yeah, it's definitely exciting. Even more so to actually see it running.
Dan East