Skip to main content
GameDev.net gamedev.net
🔒 Locked

Preferred API?

Started by Metus Jun 29, 2000 at 2:21 PM 8 replies 400+ views
Original Post
Metus
Metus
I''m trying to create an ISO-Viewed game using a 3D API, but wich API should you prefer? OpenGL or Direct3D?
Ethereal
WitchLord
WitchLord
You can use either, use the one you feel most comfortable with.

- WitchLord
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - <a href="http://www.angelcode.com/tower" rel
Metus
Metus
What I meant was that a lot of you seems to be very good at programming, and perhaps you could give me some Positive and Negative parts of the API''s.

I''m in the Middle Stage of learning both API''s (not Beginner, not Expert)

So Perhaps you could give me some reasons why to focus my learnings on....Yea...which API?

//Sincerely Metus, from the Badlands of Sweden
Ethereal
ECKILLER
ECKILLER
I like opengl because of its simplicity. SGI had a plan when they designed opengl. MS kinda winged DX. DX is looking good now though after much clean up and tweaking. I learned 3D w/ opengl because ppl told me its easier and cleaner. I agee with them. I use D3D primarily now because it is maintained more. Also i develop for MS windows environments and MS writes shiitty driver for opengl unnder windows. MS hasnt even updated to 1.2. My advice which i'm doing now is build a 3D engine that is nonAPI specific. Preferably use C++ and use classes. Then when your rdy to render something in hardware derive a child class from your 3D data classes etc and render the 3D data in the chosen API.

Example

// non API specific
class Model
{
// interface

// data
};

// API specific
class GLModel : public Model
{
Render();
};

class D3DModel : public Model
{
Render();
};

class GlideModel : public Model
{
Render();
};

This way to add a new API renderer to your engine all you have to do is derive a new class and implement the rendering code. Of curse you'll do something similar for lights, textures and other things.

ECKILLER

Edited by - eckiller on June 29, 2000 5:27:57 PM
ECKILLER
Shannon Barber
Shannon Barber
So the answer is all of them?

BTW Is there not a *SLIGHT* performance impact of using either of the above methods?


I''m in the same situation as Metus. I know OpenGL much better than DirectX, but am learning Dx quickly. So far I like OGL *much* better. However, I believe (could be mistaken) that Dx has better hardware acceleration support for advanced features such as texture, transforms, & lighting. Furthur, I believe that MS & 3rd parties will add support for newer technologies to DirectX before the same happens with SGI & OGL.

My target platforms are ME & W2k. If your target platforms are not so restrictive, then OGL may make more sense.

If you go through all the trouble to create a 3D game, adding code to dynamical change the viewpoint is _very easy. (It doesn''t need to be an isometric view unless you really only want one view.)
The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
MetalWorX
MetalWorX
hear this plain and simple -
D3D rocks and it is the standard.
windows will stick around for a long time keeping d3d with it.

Raptor
tcs
tcs
Don''t let you discourage from using OpenGL from statements like "D3D rocks and it is the standard". It''s just a choice what you like more !

You should take a look at the power of DX8, which has a lot more features than OpenGL. But also consider that doing such a project is a very time consuming task, and OpenGL may speed up the devlopment. If you are doing lots of 2D stuff, like a complex Interface with a HUD etc, then maybe choosing DX because of its DirectDraw part might be clever...

Tim

--------------------------
www.gamedev.net/hosted/glvelocity
glvelocity.gamedev.net
www.glvelocity.com
Tim--------------------------glvelocity.gamedev.netwww.gamedev.net/hosted/glvelocity

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.