Archived

This topic is now archived and is closed to further replies.

wcmike

OpenGL Why is the OpenGL board so quiet?

Recommended Posts

I have been unable to decide if I should first focus on learning OpenGL or DirectX (I''m sure you all of heard that). I''ve been reading a lot of posts here and at some other message boards and a lot of people have favored OpenGL over DirectX. This makes me think "Great, I will learn that then." I look here at the forums and I notice that DirectX has tons of more posts than OpenGL. Am I simply talking to a biased crowd? I seriously have heard about an 80-20 ratio of people favoring OpenGL to DirectX. DirectX dominates the GameDev.net forum, however. I''ve been trying to figure out why this is but I have no idea. I really did not want to post this because it is quite a sensitive topic (flame war) but I am clueless. Please tell me why DirectX dominates this board! Thank you for your time.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Probably because DX can be quite newbie unfriendly by using COM components and such...I personally do not like DirectX because of the reliance on COM, but if that does not intimidate you, I would recommend it over OpenGL. OpenGL has been static for far too long, and it''s starting to be surpassed in features by DirectX, and unless the OpenGL committee releases a new OpenGL library it''s gonna be left in the dust pretty soon here =D

Share this post


Link to post
Share on other sites
quote:
Original post by wcmike
Please tell me why DirectX dominates this board!


Maybe, peaple have much more problems with DirectX?

But seriously - OpenGL-only forum is newborn one.
You need to look at "NeHe Productions : Everything OpenGL" for an "old" part (its number of posts is ~50% of DirectX forum).

(btw, in DirectX forum you''ll find questions not only about its 3D part (Direct3D), but also DirectDraw/DirectInput/COM/etc..)

Share this post


Link to post
Share on other sites
It is not a critical decision. You can switch between them and use that you have learn with the other API.

If you count all posts here on gamedev would you probably get something like 80-20 in favor of OpenGL vs Direct3D. I think Direct3D has been much more popular the last year so perhaps is it more like 50-50 now?

Some reasons for this:
1. The strength of the MS brand. I think this is by far the most important.
2. You will have some Direct3D tutorials now like nexe and drunken hyena.
3. The API is really much better since they took OpenGL as the ideal.
4. X-Box

The last year was a great year for OpenGL also.
1. Now do you have cutting edge 3D on Mac and linux.
2. OpenGL will take full advantage of the latest and greatest hardware such as nvidias GF3.

Share this post


Link to post
Share on other sites
>>Please tell me why DirectX dominates this board<<

could it be youre looking at the total number of posts per group which is about directx 43000 + opengl 300. until last week the opengl forum didnt exist and the directx one was called something like directx + opengl + other apis.
whoops :o i see sergeK has already writtent his

http://members.xoom.com/myBollux

Share this post


Link to post
Share on other sites
As was previously stated, the OGL board didn''t exist until last week. We have gotten 300 REAL posts in a week, so I don''t think we are quiet. The DX board has gotten just about as many (but we started out at 0 posts, the DX board started at above 60000).

------------------------------
Trent (ShiningKnight)
E-mail me
OpenGL Game Programming Tutorials

Share this post


Link to post
Share on other sites
Although you have already heard a bijillion things, here is the bijillionth and first

OpenGL : GREAT! I love OpenGL and use it exclusively... not only is it MUCH MUCH MUCH easier for the beginner, but it is extreamly well made.

DirectX : Although Direct 3D is on my ''things I hate'' list, in reality it is a better API because in OpenGL it ither works or dosn''t... you may have an OpenGL extension on your card, but if someone else dosn''t they are screwed. DirectX however by using the hardware abstraction layer vs the hardware emulation layer can do things even if your computer can''t support them.

So short awnser, yes, OpenGL. Long awnser, DirectX... they both have their pros and cons, but for a beginner DEFINENTLY OpenGL because of it''s ease of use!



CodeSmith the Pixel Pusher
www.cs.trinity.edu/~csmith8

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Now keep in mind that I''m a dumb idjit who''s never read proper books on anything in his whole life, :D but I''ve been having a tough time figuring out what exactly it is that D3D8 does that OpenGL doesn''t.

Vertex buffers are neat and all, but how are they different from display lists? And which of the two are harder to implement? (I spent all of 10 seconds reading about, understanding, and then implementing display lists in a testbox (much props for NeHe :D (nested paranths are fun)))) Locking textures? glTexSubImage.

The one thing I do see is the fact that D3D8 emulates things with software, but to my knowledge, that''s only when using the reference driver, which isn''t usually (pronounced: ever, except when testing ) the best way to go. (it''s entirely possible I''m full of it in this regard, and many others though :D )

So.. uh.. how''s D3D8 better again, if it offers pretty much the same functionality, and is arguably as simple? (I find it harder, but I''ll assume that the reverse is possible, depending on the individual using it)

Share this post


Link to post
Share on other sites

  • Announcements

  • Forum Statistics

    • Total Topics
      628378
    • Total Posts
      2982334
  • Similar Content

    • By test opty
      Hi all,
       
      I'm starting OpenGL using a tut on the Web. But at this point I would like to know the primitives needed for creating a window using OpenGL. So on Windows and using MS VS 2017, what is the simplest code required to render a window with the title of "First Rectangle", please?
       
       
    • By DejayHextrix
      Hi, New here. 
      I need some help. My fiance and I like to play this mobile game online that goes by real time. Her and I are always working but when we have free time we like to play this game. We don't always got time throughout the day to Queue Buildings, troops, Upgrades....etc.... 
      I was told to look into DLL Injection and OpenGL/DirectX Hooking. Is this true? Is this what I need to learn? 
      How do I read the Android files, or modify the files, or get the in-game tags/variables for the game I want? 
      Any assistance on this would be most appreciated. I been everywhere and seems no one knows or is to lazy to help me out. It would be nice to have assistance for once. I don't know what I need to learn. 
      So links of topics I need to learn within the comment section would be SOOOOO.....Helpful. Anything to just get me started. 
      Thanks, 
      Dejay Hextrix 
    • By mellinoe
      Hi all,
      First time poster here, although I've been reading posts here for quite a while. This place has been invaluable for learning graphics programming -- thanks for a great resource!
      Right now, I'm working on a graphics abstraction layer for .NET which supports D3D11, Vulkan, and OpenGL at the moment. I have implemented most of my planned features already, and things are working well. Some remaining features that I am planning are Compute Shaders, and some flavor of read-write shader resources. At the moment, my shaders can just get simple read-only access to a uniform (or constant) buffer, a texture, or a sampler. Unfortunately, I'm having a tough time grasping the distinctions between all of the different kinds of read-write resources that are available. In D3D alone, there seem to be 5 or 6 different kinds of resources with similar but different characteristics. On top of that, I get the impression that some of them are more or less "obsoleted" by the newer kinds, and don't have much of a place in modern code. There seem to be a few pivots:
      The data source/destination (buffer or texture) Read-write or read-only Structured or unstructured (?) Ordered vs unordered (?) These are just my observations based on a lot of MSDN and OpenGL doc reading. For my library, I'm not interested in exposing every possibility to the user -- just trying to find a good "middle-ground" that can be represented cleanly across API's which is good enough for common scenarios.
      Can anyone give a sort of "overview" of the different options, and perhaps compare/contrast the concepts between Direct3D, OpenGL, and Vulkan? I'd also be very interested in hearing how other folks have abstracted these concepts in their libraries.
    • By aejt
      I recently started getting into graphics programming (2nd try, first try was many years ago) and I'm working on a 3d rendering engine which I hope to be able to make a 3D game with sooner or later. I have plenty of C++ experience, but not a lot when it comes to graphics, and while it's definitely going much better this time, I'm having trouble figuring out how assets are usually handled by engines.
      I'm not having trouble with handling the GPU resources, but more so with how the resources should be defined and used in the system (materials, models, etc).
      This is my plan now, I've implemented most of it except for the XML parts and factories and those are the ones I'm not sure of at all:
      I have these classes:
      For GPU resources:
      Geometry: holds and manages everything needed to render a geometry: VAO, VBO, EBO. Texture: holds and manages a texture which is loaded into the GPU. Shader: holds and manages a shader which is loaded into the GPU. For assets relying on GPU resources:
      Material: holds a shader resource, multiple texture resources, as well as uniform settings. Mesh: holds a geometry and a material. Model: holds multiple meshes, possibly in a tree structure to more easily support skinning later on? For handling GPU resources:
      ResourceCache<T>: T can be any resource loaded into the GPU. It owns these resources and only hands out handles to them on request (currently string identifiers are used when requesting handles, but all resources are stored in a vector and each handle only contains resource's index in that vector) Resource<T>: The handles given out from ResourceCache. The handles are reference counted and to get the underlying resource you simply deference like with pointers (*handle).  
      And my plan is to define everything into these XML documents to abstract away files:
      Resources.xml for ref-counted GPU resources (geometry, shaders, textures) Resources are assigned names/ids and resource files, and possibly some attributes (what vertex attributes does this geometry have? what vertex attributes does this shader expect? what uniforms does this shader use? and so on) Are reference counted using ResourceCache<T> Assets.xml for assets using the GPU resources (materials, meshes, models) Assets are not reference counted, but they hold handles to ref-counted resources. References the resources defined in Resources.xml by names/ids. The XMLs are loaded into some structure in memory which is then used for loading the resources/assets using factory classes:
      Factory classes for resources:
      For example, a texture factory could contain the texture definitions from the XML containing data about textures in the game, as well as a cache containing all loaded textures. This means it has mappings from each name/id to a file and when asked to load a texture with a name/id, it can look up its path and use a "BinaryLoader" to either load the file and create the resource directly, or asynchronously load the file's data into a queue which then can be read from later to create the resources synchronously in the GL context. These factories only return handles.
      Factory classes for assets:
      Much like for resources, these classes contain the definitions for the assets they can load. For example, with the definition the MaterialFactory will know which shader, textures and possibly uniform a certain material has, and with the help of TextureFactory and ShaderFactory, it can retrieve handles to the resources it needs (Shader + Textures), setup itself from XML data (uniform values), and return a created instance of requested material. These factories return actual instances, not handles (but the instances contain handles).
       
       
      Is this a good or commonly used approach? Is this going to bite me in the ass later on? Are there other more preferable approaches? Is this outside of the scope of a 3d renderer and should be on the engine side? I'd love to receive and kind of advice or suggestions!
      Thanks!
    • By nedondev
      I 'm learning how to create game by using opengl with c/c++ coding, so here is my fist game. In video description also have game contain in Dropbox. May be I will make it better in future.
      Thanks.
  • Popular Now