What to learn: DX or OGL? (not a holywar!)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • What to learn: DX or OGL? (not a holywar!)

      As I'm getting closer to the implementing 3d stuff one obvios problem arises: which technology to learn? I want to major in 3d graphics and shaders, so this is somewhat critical choise for me.

      I want to ask you guys what do you think is more future proof? I'm really no fanboy of either API, so I'm interested only in facts. What's more demanded in companies you work? Or companies worldwide?

      If you can share some advices from your fellow graphics programmers it would also be nice.

      The reason I'm writing this post is I want to get the job in the industry thus I'm doing little planning beforehand. :)
      Looking for a job!
      My LinkedIn Profile
    • RE: What to learn: DX or OGL? (not a holywar!)

      Both.

      If you really want to be a graphics programmer, you will need to learn both API's and understand the fundamental differences between the two. It doesn't really matter which one you learn first. GCC teaches some basic Direct3D so it gives you a bit of a head start, but you'll really want to get a book dedicated to it.

      As far as future proofing, both Open GL and Direct3D are used extensively in the games industry, usually at the same time. We're using Direct3D for the PC version of The Sims 4 and OpenGL for the Mac version. Most companies do the same, unless they are exclusive to one particular console.

      In terms of getting a job, the exact API really isn't important, it's all the concepts and 3D math that you get grilled on. Make sure you know 3D math backwards and forwards. Make sure you truly understand the entire graphics pipeline and build a 3D engine from scratch. Oh, and learn about the differences between the major video cards (nVidia, ATI, and to a lesser extent, Intel).

      -Rez

    • Both.

      If you really want to be a graphics programmer, you will need to learn both API's and understand the fundamental differences between the two.

      Oh boy.. I was afraid of that! :)

      I'm gonna get these books to get started:
      amazon.com/Introduction-3D-Gam…ing-DirectX/dp/1936420228
      amazon.com/Mathematics-Program…58869/ref=pd_bxgy_b_img_z

      Do you know good books on ogl?

      I'm already know pretty much about high level concepts, since I worked with Unity for a while. Also vectors, matrices, geometry, algebra are not surprising me as I have bachelor degree in math. Anyway seems like I need more low-level stuff to put in my head and learn how hardware works more thoroughly.


      Make sure you truly understand the entire graphics pipeline and build a 3D engine from scratch.

      I'll build renderer on top of the engine I'm writing at the moment (which is some kinda rework of GCC engine).

      Thanks for the advice.
      Looking for a job!
      My LinkedIn Profile
    • Not really, I'm not a graphics programmer so I don't know which books are good. I'm sure someone like matt will chime in though. :)

      -Rez
    • One thing to know about the intel integrated cards, is they run (at least OpenGL) VERY poorly, the HD 4000 doesn't even run shaders!.
      PC - Custom Built
      CPU: 3rd Gen. Intel i7 3770 3.4Ghz
      GPU: ATI Radeon HD 7959 3GB
      RAM: 16GB

      Laptop - Alienware M17x
      CPU: 3rd Gen. Intel i7 - Ivy Bridge
      GPU: NVIDIA GeForce GTX 660M - 2GB GDDR5
      RAM: 8GB Dual Channel DDR3 @ 1600mhz
    • I'd spend time specifically learning Cg, Nvidia's shader language which is very similar to HLSL, developed by Microsoft. Cg is supported by Unity3d, and can make for a nice graphics testbed.

      Once you know Cg pretty well it shouldn't be hard at all to learn GLSL, which is OpenGL's shader language.
      Mr.Mike
      Author, Programmer, Brewer, Patriot

    • Cg is supported by Unity3d, and can make for a nice graphics testbed.

      I've already read The Cg Tutorial on nVidia website and tried to implement almost all of the described techniques inside of Unity3d (the most exciting excercise was to implement colorful environment mapping).

      However I must admit that I happily forgot most of the book by now, because I got no chance to work on graphics since then.. definately I need a refresher!
      Looking for a job!
      My LinkedIn Profile


    • I can personally vouch for the
      Mathematics for 3D Game Programming and Computer Graphics book, Im no graphics programmer but this book is fascinating its is very math heavy, it'll talk to you about everything from linear algebra to trigonometry, to integration and partial differentiation (and more) its a fantastic book for math. You'll go over cameras, physics, rotations and many more topics!

      One thing though is that the level its presented on it assumes that you have been exposed to the material first, what I mean by that is the book wont spoon feed you how to do every little step, but it does show steps in between.

      the book also has a website where you can find all the source code to for each chapter.

      Great book!

      Hope that helped some :P

      The post was edited 1 time, last by xCmac ().

    • I've used both the math book and DirectX book and thought both were helpful. Also, two sites I've come across:

      - directxtutorial.com/default.aspx

      - rastertek.com/


      The first site has both a free (for the basic tutorials) and paid component. I've done the paid portion and found it useful when I used it (that was about a year ago). The second site is all free and has some DirectX, OpenGL and other tutorials for free. I've never used them though so can't comment on their usefulness (though they are free so may be worth checking out).