Best products from r/opengl

We found 34 comments on r/opengl discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 31 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

Top comments mentioning products on r/opengl:

u/gavinb · 1 pointr/opengl

Well if you want to be the next Carmack, get cracking! :) You have a lot of ground to cover, such as: mathematics (matrices, linear algebra, etc), physics, artificial intelligence, real-time processing, multithreading, architecture, networking and protocols, rendering, sound, and much more!

It is certainly possible with enough time and dedication to develop your own engine. It's just that there are so many excellent engines already out there, that you would be competing with projects that have already invested many thousands of hours and have loads of titles already developed for them. Why not get involved with an existing project to start?

BTW I really like your idea of creating a FPS with one room and focusing on making that environment the richest possible, exploiting a wide variety of techniques. Do it!!

Is your ultimate goal to create an engine? Or to create a game? Remember, the engine is in many ways a means to an end - it's not much use without a game that uses it!

Either way, I think you would be well advised to get involved with one of the open source game engine projects, and start contributing. Once you've learned how they work, you will be in a much better position to design your own. And realistically, you can't really just design an engine without a game - you need to know how games work in the first place, and what features and architectural decisions and designs make for a good engine.

Consider joining:

u/ICBanMI · 3 pointsr/opengl

The guy who ripped off learnopengl is Frahaan Hussain. This is the course that Joe was talking about and here is the book that Frahaan put out. I have paged through the book, "Learn Opengl," and can verify it is a 1 to 1 copy of learnopengl. I'm not going to pay for the course, but it's looks like the one you keep quoting.

The 23 odd hour one is Ben Cook's and it is the best I've seen so far. Very straight forward, and has the best explanations for why you do things in the order you do. Gives small charts telling you the basics for doing stuff-something that learnopengl.com is bad at. The 5+ hours of theory is similar to learnopengl, but that's more because beginner opengl typically covers the same topics. It covers opengl 3.3, GLFW, GLEW, GLM, and stb_image. This one I recommend and is well worth the $5 I paid for it. Only encountered one bug in the first 14 hours, and that was because he didn't initialize a matrix to the identity matrix before using it.

There is also one by Steve Jones that I got for $5. I haven't started it, so I don't know if it's any good.

Please be specific to the names, as other people will not be.

u/JoeyDeVries · 3 pointsr/opengl

I'm working on a large OpenGL tutorial site that is specifically aimed at beginners trying to learn modern OpenGL with clear samples and easy-to-understand sections. It's not finished yet but should provide a good resource for getting started and getting a hang of shaders. Take a look at www.learnopengl.com and see if it's something that suits your needs :)

Also, take a look at:
Real-Time Rendering: great book on modern OpenGL with a focus on shaders (although not specifically aimed at complete beginners).
Open.gl: good resource for starting modern OpenGL. Easy-to-understand.
Arcsynthesis tuts: very extensive OpenGL tutorial that goes into much more detail, making it more rewarding, but also more complicated for beginners.

u/redditEnergy · 7 pointsr/opengl

1.) Write 3D graphics with DirectX11. Sure I learned OpenGL first but I regret not learning graphics with DirectX11. I personally believe DirectX11 is easier to learn than modern OpenGL.

Resource for both: https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

Resource for OpenGL: https://learnopengl.com/Introduction
Resource for DirectX: https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228

If you are a beginner DON'T start with Vulkan or Directx12.

2.) Depends on how much you work at it. Also be smart how much you work / how you work. You said 15hrs a day for 3 years. Learn to pace yourself. If you think this is realistic or healthy, you are going to learn the hard way. However, you are older than me so this approach might work for YOU. But I have friends with a similar mentality and it is just self destructive.

3.) Don't worry too much about this one. The main thing is knowing the difference between a low level vs high level graphics API. OpenGL, DirectX11 are high level (meaning easier to use and require less knowledge). Vulkan and DirectX12 are lower level (harder to use require more knowledge, but can be a lot faster).

Other than that to answer your question: PS4 has its own API. Other than that special case I already listed the APIs used in consoles / PCs.

4.) You need to know linear algebra. Can't get around that. Take a class or pickup a book on it.

Resources:
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

Strang, Gilbert, Linear Algebra and Its Applications (4th ed.)

5.) No it is not a waste of time. Any game studio worth its salt uses C++ to do their graphics under the hood. C++ offers complete control over performance. However, a lot of studios do not use STL data structures. Since games/graphics needs to be super optimized and the STL is too generic at times and not fast enough sometimes.
https://github.com/AnthonyCalandra/modern-cpp-features

Also I learned graphics programming very recently so I can definitly relate. I started freshman year 2015 and am currently in my junior year with a graphics internship. A lot of my advice here is based off what I tell freshman at my school, and things I hear from friends working at triple A companies / Nvidia / AMD.

u/Madsy9 · 1 pointr/opengl

You didn't post a question, so it's difficult to know what exactly you want. If you just need to implement space partitioning with a BSP tree, read the good old BSP FAQ

If you need more general graphics background, check out:

  • Websites like Flipcode and GameDev.net

  • Buy some books. GraphicsGems and Michael Abrash's Graphics Programming Black Book are maybe old, and the code examples are certainly outdated (They are from the old MS-DOS mode 13h VGA days), but they are excellent in teaching you the fundamentals of computer graphics theory that never gets old. Like how polygon rasterizers work, space partitioning, polygon clipping, etc. When you want to learn more about more advanced effects, look into the Real-Time Rendering series. For a slightly more updated book on the same topic, check out 3D Math Primer for Graphics and Game Development, but I think it's a bit thin for the price (I have the 1st edition myself).

  • Forums with people who actually specializes in computer graphics, like Ompf2 and DevMaster

    If you have more questions, please be more specific. I might help you with more resources.
u/capnramses · 2 pointsr/opengl

part of being a scientist is reviewing a wide range of references - you might be expecting a bit much from one online source. let me suggest this one and this one, and especially this one are going to have the general graphics pipeline explanation chapters that you're looking for. if $$$ is a problem (and it is for most of us with these texts), perhaps you can insist that your local library gets them?
you can also pick up some good ideas by visiting course pages for some of the more well-known university graphics programmes - some of them have slides online, otherwise check out their reading lists - these guys are the best in the world at teaching graphics. read what they read.

http://www.cs.cornell.edu/Courses/cs465/2007fa/
http://graphics.stanford.edu/courses/
http://www.cs.utah.edu/research/areas/graphics/
http://www.cis.upenn.edu/~badler/courses/cis560.html

but i suspect, your best bet for this sort of stuff is actually Eric Haines' online course, which has a free version. it uses webgl but the main concepts are exactly the same as desktop gl and it's really very good https://www.udacity.com/course/cs291

also, interesting side note - Myers-Briggs has been widely discredited. it's actually based on Jung's germanic mysticism, which comes from ancient European magic. earth/air/wind/fire, alchemy, the four humours, the four personality components etc. etc. not a drop of science in it, but employers insist on you doing it.

u/TurkishSquirrel · 1 pointr/opengl

It sounds like you want something that focuses more on rendering theory/math instead of a lesson on how to use OpenGL to implement the theory. My favorite theory book is Real Time Rendering which covers a ton of stuff from matrices/vectors through to texturing, global illumination and more. To familiarize yourself with the OpenGL API I'd recommend the Red book. The 8th edition covers OpenGL 4.3 which adds some cool new stuff like compute shaders.

>Create a 3D scene with a heightmap-based terrain and some blocks. I'd also like to have lighting and some shadows. Maybe even create a simple editor to create nice scenes in.

This will probably take you a while to get running. Start simple so you don't get overwhelmed.

u/TheRandomDot · 3 pointsr/opengl

I'm learning OpenGL as you, and I took a parallel approach. On first thread I'm doing rapid coding by hit and trial, building things out of a simple hello world kind of programs.

While on the second thread, I'm getting the basics of Computer Graphics clearer everyday by reading some excellent things, like I've Interactive Computer Graphics: Top Down Approach by my bedside and articles referred above stack up on my bookmark.

And this approach is very helpful, because on the first hand I'm building something amazing everyday, and on the other I'm learning how that thing actually works on the inside.

u/[deleted] · 3 pointsr/opengl

Im in the same boat as you but I have paddled for sometime, here is the books that are awesome to work with:

  1. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition).

    2)3D Math Primer For Graphics And Game Development

    3)Fundamentals of Computer Graphics

    these 3 books will come very handy when you start computer graphics...the main one is the Interactive Computer Graphics book, written by Edward Angel, Dave Shreiner, Dave Shreiner is an awesome guy and he is also one of the authors of OpenGL programming guide.

    with that being said these books dont teach OpenGL, they teach Graphics, and all these books are advance, because let's face it 3D & graphics in general are hard topics..

    Interactive Computer Graphics takes a nice approach to both the math and the concepts, it also introduces the basics of modern OpenGL using shaders, the problem about it for me is its a bit hard to get the math, because it assumes that you got linear algebra down but it has some appendices with it that explain some math but nowhere near enough.

    The other two books unfortunately I havent been able to get into but they are very recommended by people around the web.

    So if you can read all three at the same time...they will help in every way.

    if you need more help or want to know how far I have come, then by all means shoot me a PM..or I will shoot you one.
u/whackylabs · 3 pointsr/opengl

The best way is to understand the graphics pipeline, what all stages are there, how your geometry data flows through the pipeline and what fixed pipeline does for you. Then you will start appreciating the programmable pipeline more.

If you're serious about understanding the core of Computer Graphics, get Real Time Rendering.

You can read first few pages for free at Amazon where they give a good introduction to the graphics pipeline.

u/myevillaugh · 7 pointsr/opengl

I suggest disconnecting the two. You need to have a firm grasp on C or C++ programming before going into graphics. It's a long road, but worth it.

This book is considered the authoritative source on C programming, written by the creator: http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628

Here are some text based tutorials that I used to learn OpenGL recently.

http://openglbook.com/the-book/

http://www.swiftless.com/tutorials/opengl4/1-opengl-window.html

http://en.wikibooks.org/wiki/OpenGL_Programming

Good luck!

u/trojanfoe · 3 pointsr/opengl

I know C++ and have a pretty good idea about OpenGL in general and started with OpenGL Superbible 7th Edition (which covers the latest 4.5). I am finding it tough work as it covers stuff I don't care about largely (I want to do 2D stuff). I have switched to the Anton's OpenGL 4 tutorials which is nice and terse and get's straight to the point.

u/othellothewise · 3 pointsr/opengl

I would recommend Mathematics for 3D Game Programming and Computer Graphics. It has all the derivations plus covers a whole lot of other useful topics. It's well worth the $45.

Another approach is to go through the math manually, by taking points and projecting them and trying to understand the behavior.

u/mispeeled · 2 pointsr/opengl

Besides the other suggestions in this thread I'd also recommend the OpenGL Superbible.

Even though it's OpenGL 4.3 and c++, it's still an excellent place to start

u/BaconWraith · 6 pointsr/opengl

If you don't mind reading or shelling out a bit of money, Game Engine Architecture is still a great resource

u/whisky_pete · 7 pointsr/opengl

May I suggest:

http://ogldev.atspace.co.uk/

supplemented by:
https://open.gl/
http://learnopengl.com/

I'm going through the first tutorial now after prior experience building an instance rendering system for 2d sprites. So, I've had some basic interaction with the API and know some of the linear algebra basics (vectors, matrix transforms, dot product & cross product). The ogldev tutorial is pretty comprehensive in a way that many tutorials are not, so I'd suggest starting there and using the other two sites as a reference. I believe the ogldev author maintains a Visual Studio project for building their examples, but I haven't used it as I'm developing on linux.

Be patient and try to really read through the examples. OpenGL isn't the simplest API, and 3D graphics are a totally different way of thinking if you haven't done that type of development before. I'd avoid trying to copy-paste solutions and learn that way, because you won't end up with a deep understanding that you really need. This comes from an aspiring graphics developer who is looking to get into the industry, so take what I said with a grain of salt as well.

EDIT:

And, if you're really serious and want to look into picking up books, I can suggest these:
Real-Time Rendering, 3rd Edition

3D Math Primer for Graphics and Game Development

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition) if you need an api reference. Additionally, for a short-hand api reference thats useable, try docs.gl

u/malexw · 2 pointsr/opengl

I've never seen a beginner's book on OpenGL that I really liked. I started with the classic NeHe tutorials, but I would never recommend them these days because they're based on the old, deprecated APIs, which aren't available in OpenGL ES, WebGL, or the strict versions of OpenGL 3.0+.

For modern OpenGL, my favourite set of tutorials for now is here: http://arcsynthesis.org/gltut/

But if you're extremely new to graphical programming, you'll probably want a solid introduction to the parts of linear algebra that are used in graphics programming. I got that from the 2nd edition of the classic text, Computer Graphics: Principles and Practice, though I think it's a fairly dry approach to the subject.

u/miketuritzin · 2 pointsr/opengl

This is surprisingly tricky to get right. I used the "polyboards" technique described in chapter 9 of this book, and it works well: https://www.amazon.com/Mathematics-Programming-Computer-Graphics-Third/dp/1435458869