Page 1 of 1
DirectX to GAPI

Posted:
Aug 15, 2001 @ 4:51pm
by RwGast
Ok i have been learning how to use dx lately, i have decieded to code pc games before i get into pocketpc stuff. My question is, is how big of a transistion is it from dx to gapi? doesnt gapi only have like 10 functions(dont quote me on this)?
Re: DirectX to GAPI

Posted:
Aug 15, 2001 @ 4:54pm
by TBone
GAPI does have very few functions, but it is nothing like DirectX. DirectX is a fairly high-level setup, where as GAPI basically does nothing but give you the framebuffer address and some information about the display. Although DirectX for WinCE does exist, it's mainly restricted to machines with 3D hardware, like the Dreamcast.
Re: DirectX to GAPI

Posted:
Aug 15, 2001 @ 5:02pm
by RwGast
So i am assuming this makes it alot harder to use gapi?
Re: DirectX to GAPI

Posted:
Aug 15, 2001 @ 5:10pm
by TBone
Not necessarily harder. Depends on the task. Because you're directly manipulating display memory using the GAPI, you're basically writing the entire screen yourself, which means that writing a 3D engine might require more code, but has the potential to be a lot more flexible. DirectX will do your sound, your video, your 3D, and your input for you, but it also adds a degree of overhead.<br><br>I personally prefer working with the GAPI. I like being able to do the work myself, especially since all engines are software on current PPC hardware. It's likely that any implementation you write will be faster because you know exactly what you need instead of using Microsoft's all-purpose code.<br><br>The downside is that you'd have to write your own poly-fill routines, your own rotation functions, and your own blit. These are NOT hard, in fact they're much easier than you think. They are time-consuming to code, but what you gain is speed and efficiency.<br><br>I guess the best way to compare the difficulty is that between C and assembly coding. Assembly is very low-level, making it faster in execution but more time-consuming to write. C is higher-level, so you can have certain common code practices handled for you by the compiler, but you lose some of that execution speed. Now imagine GAPI as assembly and DirectX as C and you've got it.
Re: DirectX to GAPI

Posted:
Aug 15, 2001 @ 8:03pm
by Digby
Using GAPI is like IDirectDrawSurface::Lock()/Unlock() on the primary display surface. You'll get a pointer to the bits from GXBeginDraw, as you will from Lock(). You tell the system you're finished drawing for that frame by using GXEndDraw/Unlock().<br><br>I've used DX since it was created in 1995. If you get stuck on something give me a shout.<br><br>