Sign in to follow this  
iYossi

OpenGL [discussion]DirectX 9 or 10 or 11?


Recommended Posts

iYossi    137
So I think I finally answered my self about OpenGL or DirectX, and as you see, I've chose DX. Now, I am facing a question just as big. 9, 10 or 11? I have the graphic card 8400GS and I know it is weak and won't work with DX11, but I am upgrading it, hopefully in a month.

Share this post


Link to post
Share on other sites
Hodgman    51328
DX11 has "features levels" that allows you to support any graphics card down to DX9 level ones ([i]GeForce6+?[/i]).
The only downside is that DX11 applications do not run on Windows XP.

On the other hand, DX9 does run on Windows XP.

There is no reason to use DX10.

In a nutshell, if you want to support XP, use DX9, otherwise use DX11.

Share this post


Link to post
Share on other sites
iYossi    137
Wait, so why not use DX10? Cuz untill I won't upgrade I still want to run more advanced stuff than a triangle.

And no, I rather use what's really best. Windows XP is too old anyway.

Share this post


Link to post
Share on other sites
Demirug    884
[font="Calibri"][size="3"]DirectX 11 supports older hardware (DX9; DX 10), too. Therefore you don’t need DirectX 10 anymore as you can do anything with DirectX 11. [/size]

[/font]

Share this post


Link to post
Share on other sites
Guns    150
Ignore Dx10. On Dx11 You have something called "feature levels" that let you run on Dx10 and Dx9 hardware (the Dx9 level is a bit more limitied compared to original Dx9). If you want to write a 2D game or a relatively simple 3D game, I would go for Dx9. Otherwise Dx11.

Share this post


Link to post
Share on other sites
iYossi    137
[quote name='Guns' timestamp='1311602856' post='4839989']
Ignore Dx10. On Dx11 You have something called "feature levels" that let you run on Dx10 and Dx9 hardware (the Dx9 level is a bit more limitied compared to original Dx9). If you want to write a 2D game or a relatively simple 3D game, I would go for Dx9. Otherwise Dx11.
[/quote]

I think I'll go DX10 cuz I don't want DX9, it is kinda old like I see it, and I can't run any f*cking sampals from the SDK.

Share this post


Link to post
Share on other sites
kunos    2254
[quote name='iYossi' timestamp='1311603024' post='4839993']
[quote name='Guns' timestamp='1311602856' post='4839989']
Ignore Dx10. On Dx11 You have something called "feature levels" that let you run on Dx10 and Dx9 hardware (the Dx9 level is a bit more limitied compared to original Dx9). If you want to write a 2D game or a relatively simple 3D game, I would go for Dx9. Otherwise Dx11.
[/quote]

I think I'll go DX10 cuz I don't want DX9, it is kinda old like I see it, and I can't run any f*cking sampals from the SDK.
[/quote]

lol.. 4 votes for 9, 5 votes for 11... 0 votes for 10.. and you'll go for 10 [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img]

forum users never stop to amaze me.

btw.. of course i voted for 11.

Share this post


Link to post
Share on other sites
forsandifs    154
[quote name='kunos' timestamp='1311606885' post='4840017']
lol.. 4 votes for 9, 5 votes for 11... 0 votes for 10.. and you'll go for 10 [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img]

forum users never stop to amaze me.
[/quote]

In order to maintain faith in humanity I'm hoping that was a typo on his part :P

My vote? All the way up to 11 baby!

Share this post


Link to post
Share on other sites
_the_phantom_    11250
Firstly, calm the language down, there is no need for the swearing.

Secondly; what OS are you running? Are you drivers up to date?

Finally, run the examples via the debugger and see what errors it spits out, this might give you a clue as to why it isn't working.

The DX11 [b]API[/b] will work fine on your card assuming the OS and drivers are up to date and the examples are coded to use the feature levels correctly.

Share this post


Link to post
Share on other sites
mind in a box    887
I once had the same card as you got! It was the Laptop-Version, though.

And yes, I developed using the DX11 API on that thing. :)


My friend, with a HD4890 had some problems with running DX11 stuff at feature level 10, though. But a driver update did the trick.
You should try that, too. Probably you're running some kind of driver from at least 100 years ago which doesn't even know what DX11 is.

Share this post


Link to post
Share on other sites
gsamour    140
[quote name='iYossi' timestamp='1311611014' post='4840035']
I can't fucking run a triangle! And I really don't want 9. But, OK. Anyone has any good tuts?
[/quote]

Just like you asked someone for an explanation as to why use "9", please give us an explanation as to why you "really don't want 9". Also, you can find good tuts in several places. Google and Bing are your friends. And if you would like help with why you "can't run a triangle", we'll need more information... does your code even compile and link? Does it crash somewhere? Does it run, but with a blank/black screen?

Share this post


Link to post
Share on other sites
Yours3!f    1532
(no flame intended)

why don't you use opengl?
It'd run on windows xp vista & 7 (and on other platforms as well) you'd get full dx10 level features with that graphics card until you get a dx11 level card, and the transition would be seamless. You wouldn't have to worry about whether you're on XP or Vista or 7 you'd get the same visuals and same features... Plus, as I recently experienced, the two API are like twins (or at least DX 9 and OpenGL 2.1), the same features, same workflow, etc. Although I felt like dx was harder to learn due to the lack of good tutorials.

Share this post


Link to post
Share on other sites
mhagain    13430
OpenGL has it's own share of driver problems, and besides: the OP has already evaluated the two and chosen Direct3D (see the first post) so the question is really irrelevant.

Share this post


Link to post
Share on other sites
grazing    108
While DirectX 11 is the latest and obvious most "high tech" release of DirectX, as others have pointed out using DX10 or 11 will cripple your game on windows XP, aka it won't work. (DX10/11 is not supported on Windows XP)


Now if you're focus is not to sell to the "masses" and just learning for now go for the latest version that works on your machine.
Do take heed though and yes it is easy enough to write two rendering .dlls and attach your application to the proper one at load time based on the OS (slightly advanced topic) creating a game in DX9 is what I recommend as a starting foundation. It doesn't require half as many complexities as DX11 does in setting up or rendering and still teaches you the foundation.


You also can learn to use Pixel and Vertex Shaders once you have a firm grasp which is basically what DX11 requires for everything to be rendered. So transitioning to DX11 once you grasp DX9 will be fairly easy. Going backwards ... eh possible but the DX9 -> 11 , again in my opinion is easier. Don't have to swallow as much to get your first app up and running etc etc etc.
If you want to support Windows XP and plan on selling your game/app or having friends run your app if they don't have XP and you create it with DX11 well too bad for them. On the other hand this link:
[url="http://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Desktop_and_laptop_computers"]http://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Desktop_and_laptop_computers[/url]

while the %'s have shifted since that was last updated, I'm sure Vista/Win7 have not taken over in a combined % over XP and if you refuse to create the DirectX 9 rendering .dll (read above) you are in essence cutting out at least 1/2 of your potential buyer base which is crazy. You'll have to learn DirectX 9 anyways to support them, so might as well start there. :)

Share this post


Link to post
Share on other sites
mhagain    13430
[quote name='grazing' timestamp='1311633365' post='4840230']while the %'s have shifted since that was last updated, I'm sure Vista/Win7 have not taken over in a combined % over XP and if you refuse to create the DirectX 9 rendering .dll (read above) you are in essence cutting out at least 1/2 of your potential buyer base which is crazy. You'll have to learn DirectX 9 anyways to support them, so might as well start there. :)
[/quote]

According to the latest Steam hardware survey, users with both Vista/Win7 and DirectX 10/11 GPUs are now on 56%. Total Vista/Win7 is 71%/72%. XP is down to 20%. DX11 looks more like the reasonable choice every day.

Share this post


Link to post
Share on other sites
grazing    108
[quote name='mhagain' timestamp='1311637806' post='4840268']
[quote name='grazing' timestamp='1311633365' post='4840230']while the %'s have shifted since that was last updated, I'm sure Vista/Win7 have not taken over in a combined % over XP and if you refuse to create the DirectX 9 rendering .dll (read above) you are in essence cutting out at least 1/2 of your potential buyer base which is crazy. You'll have to learn DirectX 9 anyways to support them, so might as well start there. :)
[/quote]

According to the latest Steam hardware survey, users with both Vista/Win7 and DirectX 10/11 GPUs are now on 56%. Total Vista/Win7 is 71%/72%. XP is down to 20%. DX11 looks more like the reasonable choice every day.
[/quote]



You have a link to the survey? Wondering if it's a "poll." that was given e.g. the results will not be that accurate by a long shot. Only amongst those who voted.

Share this post


Link to post
Share on other sites
MJP    19786
The OS + hardware data is generated by Steam itself, which queries the OS + drivers. They have the results here: [url="http://store.steampowered.com/hwsurvey"]http://store.steampowered.com/hwsurvey[/url]

Share this post


Link to post
Share on other sites
grazing    108
[quote name='MJP' timestamp='1311647024' post='4840342']
The OS + hardware data is generated by Steam itself, which queries the OS + drivers. They have the results here: [url="http://store.steampowered.com/hwsurvey"]http://store.steampowered.com/hwsurvey[/url]
[/quote]


So it's based on those who actually have this 'steam' installed. Gotcha.




Thank you for the link though. :)

Share this post


Link to post
Share on other sites
bubu LV    1436
Another statistics form those who has installed Unity Web Player: http://unity3d.com/webplayer/hardware-stats.html
There XP is 51.7% from all Windows'es.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Similar Content

    • By Arulbabu Donbosco
      There are studios selling applications which is just copying any 3Dgraphic content and regenerating into another new window. especially for CAVE Virtual reality experience. so that the user opens REvite or CAD or any other 3D applications and opens a model. then when the user selects the rendered window the VR application copies the 3D model information from the OpenGL window. 
      I got the clue that the VR application replaces the windows opengl32.dll file. how this is possible ... how can we copy the 3d content from the current OpenGL window.
      anyone, please help me .. how to go further... to create an application like VR CAVE. 
       
      Thanks
    • By cebugdev
      hi all,

      i am trying to build an OpenGL 2D GUI system, (yeah yeah, i know i should not be re inventing the wheel, but this is for educational and some other purpose only),
      i have built GUI system before using 2D systems such as that of HTML/JS canvas, but in 2D system, i can directly match a mouse coordinates to the actual graphic coordinates with additional computation for screen size/ratio/scale ofcourse.
      now i want to port it to OpenGL, i know that to render a 2D object in OpenGL we specify coordiantes in Clip space or use the orthographic projection, now heres what i need help about.
      1. what is the right way of rendering the GUI? is it thru drawing in clip space or switching to ortho projection?
      2. from screen coordinates (top left is 0,0 nd bottom right is width height), how can i map the mouse coordinates to OpenGL 2D so that mouse events such as button click works? In consideration ofcourse to the current screen/size dimension.
      3. when let say if the screen size/dimension is different, how to handle this? in my previous javascript 2D engine using canvas, i just have my working coordinates and then just perform the bitblk or copying my working canvas to screen canvas and scale the mouse coordinates from there, in OpenGL how to work on a multiple screen sizes (more like an OpenGL ES question).
      lastly, if you guys know any books, resources, links or tutorials that handle or discuss this, i found one with marekknows opengl game engine website but its not free,
      Just let me know. Did not have any luck finding resource in google for writing our own OpenGL GUI framework.
      IF there are no any available online, just let me know, what things do i need to look into for OpenGL and i will study them one by one to make it work.
      thank you, and looking forward to positive replies.
    • By fllwr0491
      I have a few beginner questions about tesselation that I really have no clue.
      The opengl wiki doesn't seem to talk anything about the details.
       
      What is the relationship between TCS layout out and TES layout in?
      How does the tesselator know how control points are organized?
          e.g. If TES input requests triangles, but TCS can output N vertices.
             What happens in this case?
      In this article,
      http://www.informit.com/articles/article.aspx?p=2120983
      the isoline example TCS out=4, but TES in=isoline.
      And gl_TessCoord is only a single one.
      So which ones are the control points?
      How are tesselator building primitives?
    • By Orella
      I've been developing a 2D Engine using SFML + ImGui.
      Here you can see an image
      The editor is rendered using ImGui and the scene window is a sf::RenderTexture where I draw the GameObjects and then is converted to ImGui::Image to render it in the editor.
      Now I need to create a 3D Engine during this year in my Bachelor Degree but using SDL2 + ImGui and I want to recreate what I did with the 2D Engine. 
      I've managed to render the editor like I did in the 2D Engine using this example that comes with ImGui. 
      3D Editor preview
      But I don't know how to create an equivalent of sf::RenderTexture in SDL2, so I can draw the 3D scene there and convert it to ImGui::Image to show it in the editor.
      If you can provide code will be better. And if you want me to provide any specific code tell me.
      Thanks!
    • By Picpenguin
      Hi
      I'm new to learning OpenGL and still learning C. I'm using SDL2, glew, OpenGL 3.3, linmath and stb_image.
      I started following through learnopengl.com and got through it until I had to load models. The problem is, it uses Assimp for loading models. Assimp is C++ and uses things I don't want in my program (boost for example) and C support doesn't seem that good.
      Things like glVertexAttribPointer and shaders are still confusing to me, but I have to start somewhere right?
      I can't seem to find any good loading/rendering tutorials or source code that is simple to use and easy to understand.
      I have tried this for over a week by myself, searching for solutions but so far no luck. With tinyobjloader-c and project that uses it, FantasyGolfSimulator, I was able to actually load the model with plain color (always the same color no matter what I do) on screen and move it around, but cannot figure out how to use textures or use its multiple textures with it.
      I don't ask much: I just want to load models with textures in them, maybe have lights affect them (directional spotlight etc). Also, some models have multiple parts and multiple textures in them, how can I handle those?
      Are there solutions anywhere?
      Thank you for your time. Sorry if this is a bit confusing, English isn't my native language
  • Popular Now