   To resume my question (OpenGL with DirectX)...
  I realize that OpenGL is "made only for grahpics" ,and I know that DirectX has more advanced tehnics... I have some thing on my mind to realize,and I think it is very original (I haven''t seen it anywere else) I ,probably, will not have to do so complicated things with networking or graphics... I need semple things ...but I want to ,after I realize that my idea, to continue working with directX/OpenGL ... so ...I don''t know which api to learn first.I would like to use OpenGL for my project ... but after that...I would like to go on DirectX .after that, but..now I don''t know... you said that some games mix openGL and DirectX ...how is that posibe? And how can I do that? can I just in my "game" simply put for example: use openGL and use DirectX without confusing those two different "libraries" ? and what can I mix ? this might sound funny ..but I have to ask Thanks...  
  To support both Direct3D and OpenGL, you create a higher level of abstraction.  Then you create 2 implementations of it, probably using a separate DLL for each. Then you just load which ever DLL you want to use.For example, create a LoadModel interface.  The D3D implementation might use D3DX and call the Optimize methods etc, while the OpenGL version does whatever it is that the OpenGL version needs.Both methods return a Model which will internally have the data needed by whichever library is being used.  Then later you can just write Model->Draw, and it will call the right internal functions.However, if you''re fairly new to graphics and game programming, I''d recommend that for now you just pick one to learn.  You can always pick up the other one later.   Stay Casual,KenDrunken Hyena;  It seems absolutley ludicrous to me to mix using OpenGL and Direct3D at the same time. You might, for example, use OpenGL for your graphics API but use Direct Input (part of the DirectX SDK) for getting user input - that would be OK.Stop procrastinating - pick one graphics API and stick with it. You can't learn everything at once!   [edited by - __Daedalus__ on February 12, 2004 1:21:34 PM];  Stop (over)using ellipses. It would really help your clarity.OpenGL is a graphics API. It can render to a DirectDraw surface, for one thing, so you can get it to coexist with DirectX applications which, for some reason, require that DX have initialized the video mode. You can use OpenGL alongside DirectInput and DirectPlay, in particular.Original? Not really. Good? Definitely.As for not confusing both APIs, create an abstraction layer (your own wrapper to the underlying APIs) which is consistent. ;  Go to a Borders/Walden and look for a book called "OpenGl Game Programming".  This will show you that you can mix directX and opengl pretty easily.  A lot of people have said that this book is for beginners so don't get it if you're experienced.  Just take a look at it first. I've programed in opengl and in my opinion, it's not like directX at all. OpenGL seemed to be a heck of a lot easier if you like programming in C.oops... had to fix that link   [edited by - Bilgates on February 12, 2004 2:08:16 PM]