Archived

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

Deokhee Lee

OpenGL How many use OpenGL?

Recommended Posts

I think you missed a "not"
Generally, 3D games is not programmed by Direct3D...

Most 3D games sold are not for Windows. Another thing to remember is that over 90% of the commercial game projects that is using Direct3D is losing money.

To be honest do I think that a discussion like this is pointless. What you can do should be more important.

Share this post


Link to post
Share on other sites
I think OpenGL is much better than Direct3D and we all should support it! M$ has enough money and we must stop them to control everything of the pc market!

The only thing which is better in D3D is D3DX and it''s helper functions for vertices,matrices and so on.... we should create such a thing for OpenGL..or is there something similar?? Don''t know...

...OpenGL 1.3...I think we all know why M$ stops releasing new OpenGL versions for Win.

Bye,
NoMoRe@

www.notatric.de

Share this post


Link to post
Share on other sites
I agree M$ is not the kind of firm I want to support, and I use OpenGL to release a game on many platforms at once.
(Linux, BeOS, Windows [money guys], maybe MacOS and freeBSD)

About D3DX I think it''s called glu in OpenGL :p

There''s also GLUT at a higher level.

-* So many things to do, so little time to spend. *-

Share this post


Link to post
Share on other sites
I''m porting my engine to SDL+OpenGL right now (from the Win32 API and XLib). After I''m done it''ll be readilly compilable on Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. All without changing a thing. The joys of OpenGL . The only annoying thing is dealing with the different directory structures in each OS, but that''s not too bad (I found a way around that).

[Resist Windows XP''s Invasive Production Activation Technology!]

Share this post


Link to post
Share on other sites
The thing with SDL is by the license agreement you''re required to release your source code if you use it. If you''re making something open source that''s fine but if you want to release something commercial and don''t want to release your code, then I wouldn''t use SDL.

Share this post


Link to post
Share on other sites
quote:
Original post by Obelix
Most 3D games sold are not for Windows



?

~~~~~~~~~~
Martee

Edited by - Martee on June 26, 2001 7:05:03 PM

Share this post


Link to post
Share on other sites
I don''t use OpenGL, not at all. Nope, not me.

Anyhoo, I sure hope this won''t turn into a Direct3D vs. OpenGL flame war, cuz I''d have to take out my big shiny sword on this thread (wink wink nudge nudge), so keep it civilized.

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

Share this post


Link to post
Share on other sites
>>quote:
Original post by Obelix
Most 3D games sold are not for Windows
?
<<
consoles

i believe the latest sales figures show less than 15% of games sold in 2000 were for pc''s.

http://members.xoom.com/myBollux

Share this post


Link to post
Share on other sites
... which is fine, except that this thread is about OGL vs. D3D ... and most consoles DON''T use OpenGL. So I fail to see what Obelix''s point is.

~~~~~~~~~~
Martee

Share this post


Link to post
Share on other sites
Let''s see : Sony PS2, Nintendo GameCube and (rumors)the Xbox have an OpenGL implementation...

Guess what, I think you can use OpenGL on consoles.
Also you can use it on windows if you wish and you can use it for your favorite OS probably.

Cross dev for console, PCs in a single API that''s good
(of course you''ll have to change things a bit, but not that much)


And to answer the first question :
Noone is using OpenGL, see there''s no questions about OpenGL in this board, and John Carmack isn''t coding DOOMIII using almost every GeForce3 capabilities.

-* So many things to do, so little time to spend. *-

Share this post


Link to post
Share on other sites
quote:
Original post by Supernova
The thing with SDL is by the license agreement you''re required to release your source code if you use it. If you''re making something open source that''s fine but if you want to release something commercial and don''t want to release your code, then I wouldn''t use SDL.


Sorry, but that is a misconception. SDL is under the LGPL and not under the GPL. This means, you only have to release your sourcecode if you mix your sourcecode with theirs. Use their sourcecode for your own purposes, and link with SDL dynamically and you should be fine.

To qoute the license page, at their site (www.libsdl.org)
quote:

The most common way to comply with the license is to dynamically link with SDL, and then include the SDL source code and appropriate notices with your application


Share this post


Link to post
Share on other sites
The Dreamcast and the XBox support D3D. So I guess it''s tied at two until the final verdict on the XBox is in . My point is, this isn''t exactly a commanding lead for OpenGL.

~~~~~~~~~~
Martee

Share this post


Link to post
Share on other sites
Xbox will support OpenGL. Nvidia made the graphics system in the X-Box and nvidia has been a leader in OpenGL performance and features over the past few years. I doubt they would shoot themselves in the foot now by NOT supporting OpenGL.

And yes.. using SDL doen NOT meant you have to release you game OpenSource, if you expand SDL source directly you have to release your modifications, but not if you are just using the API.

OpenGL is supported on almost every high end graphics device I know of ( including all consoles ). It''s a nice well rounded API that has the full possibility for hardware accelleration ( including t&l ) without any modifications.

OpenGL is one of the best example of a portable library there are, it can scale from CPU driven to almost completly hardware accelerated without a single code change. D3d as I understand it is only NOW w7 & 8 getting to the point where it can hope to compete with OpenGL in terms of ease of use and expandability.

To say that Dx & D3d are the only API for mainstream gaming would be sticking your head in the ground and not using some of the most popular games as examples.

Share this post


Link to post
Share on other sites

  • Forum Statistics

    • Total Topics
      627746
    • Total Posts
      2978906
  • Similar Content

    • By DelicateTreeFrog
      Hello! As an exercise for delving into modern OpenGL, I'm creating a simple .obj renderer. I want to support things like varying degrees of specularity, geometry opacity, things like that, on a per-material basis. Different materials can also have different textures. Basic .obj necessities. I've done this in old school OpenGL, but modern OpenGL has its own thing going on, and I'd like to conform as closely to the standards as possible so as to keep the program running correctly, and I'm hoping to avoid picking up bad habits this early on.
      Reading around on the OpenGL Wiki, one tip in particular really stands out to me on this page:
      For something like a renderer for .obj files, this sort of thing seems almost ideal, but according to the wiki, it's a bad idea. Interesting to note!
      So, here's what the plan is so far as far as loading goes:
      Set up a type for materials so that materials can be created and destroyed. They will contain things like diffuse color, diffuse texture, geometry opacity, and so on, for each material in the .mtl file. Since .obj files are conveniently split up by material, I can load different groups of vertices/normals/UVs and triangles into different blocks of data for different models. When it comes to the rendering, I get a bit lost. I can either:
      Between drawing triangle groups, call glUseProgram to use a different shader for that particular geometry (so a unique shader just for the material that is shared by this triangle group). or
      Between drawing triangle groups, call glUniform a few times to adjust different parameters within the "master shader", such as specularity, diffuse color, and geometry opacity. In both cases, I still have to call glBindTexture between drawing triangle groups in order to bind the diffuse texture used by the material, so there doesn't seem to be a way around having the CPU do *something* during the rendering process instead of letting the GPU do everything all at once.
      The second option here seems less cluttered, however. There are less shaders to keep up with while one "master shader" handles it all. I don't have to duplicate any code or compile multiple shaders. Arguably, I could always have the shader program for each material be embedded in the material itself, and be auto-generated upon loading the material from the .mtl file. But this still leads to constantly calling glUseProgram, much more than is probably necessary in order to properly render the .obj. There seem to be a number of differing opinions on if it's okay to use hundreds of shaders or if it's best to just use tens of shaders.
      So, ultimately, what is the "right" way to do this? Does using a "master shader" (or a few variants of one) bog down the system compared to using hundreds of shader programs each dedicated to their own corresponding materials? Keeping in mind that the "master shaders" would have to track these additional uniforms and potentially have numerous branches of ifs, it may be possible that the ifs will lead to additional and unnecessary processing. But would that more expensive than constantly calling glUseProgram to switch shaders, or storing the shaders to begin with?
      With all these angles to consider, it's difficult to come to a conclusion. Both possible methods work, and both seem rather convenient for their own reasons, but which is the most performant? Please help this beginner/dummy understand. Thank you!
    • By JJCDeveloper
      I want to make professional java 3d game with server program and database,packet handling for multiplayer and client-server communicating,maps rendering,models,and stuffs Which aspect of java can I learn and where can I learn java Lwjgl OpenGL rendering Like minecraft and world of tanks
    • By AyeRonTarpas
      A friend of mine and I are making a 2D game engine as a learning experience and to hopefully build upon the experience in the long run.

      -What I'm using:
          C++;. Since im learning this language while in college and its one of the popular language to make games with why not.     Visual Studios; Im using a windows so yea.     SDL or GLFW; was thinking about SDL since i do some research on it where it is catching my interest but i hear SDL is a huge package compared to GLFW, so i may do GLFW to start with as learning since i may get overwhelmed with SDL.  
      -Questions
      Knowing what we want in the engine what should our main focus be in terms of learning. File managements, with headers, functions ect. How can i properly manage files with out confusing myself and my friend when sharing code. Alternative to Visual studios: My friend has a mac and cant properly use Vis studios, is there another alternative to it?  
    • By ferreiradaselva
      Both functions are available since 3.0, and I'm currently using `glMapBuffer()`, which works fine.
      But, I was wondering if anyone has experienced advantage in using `glMapBufferRange()`, which allows to specify the range of the mapped buffer. Could this be only a safety measure or does it improve performance?
      Note: I'm not asking about glBufferSubData()/glBufferData. Those two are irrelevant in this case.
    • By xhcao
      Before using void glBindImageTexture(    GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format), does need to make sure that texture is completeness. 
  • Popular Now