Preferred API?
I''m trying to create an ISO-Viewed game using a 3D API, but wich API should you prefer?
OpenGL or Direct3D?
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
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
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
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
Or make a renderer class with virtual functions like Begin(), End(), Vertex(), Face(), etc. and derive it into a class for D3D and a class for OGL.
lntakitopi@aol.com | http://www.geocities.com/guanajam
lntakitopi@aol.com | http://www.geocities.com/guanajam
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.)
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.)
hear this plain and simple -
D3D rocks and it is the standard.
windows will stick around for a long time keeping d3d with it.
D3D rocks and it is the standard.
windows will stick around for a long time keeping d3d with it.
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
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
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement