0

GitHub - SpideyLee2/OpenGLNotes: This is a collection of my extensive OpenGL not...

 2 years ago
source link: https://github.com/SpideyLee2/OpenGLNotes
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

My OpenGL Notes

This is a collection of my extensive OpenGL 3.3 notes for C++.

These notes are derivative of the material from this incredible online OpenGL resource, written by Joey de Vries.

If you are viewing these notes, I would HIGHLY recommend (if possible) that you install OneNote and view the OneNote notes. The PDF notes contain all of the same content, but navigating and viewing the OneNote notes is much easier (as I explain below). The PDF notes also have a white background, but I wrote the notes on a dark-gray background; therefore, so some of the color-coated text might be slightly more difficult to read.

If you wish to see my personal implementations using these notes, they are in this separate repository. The code is slightly different from my notes here, but it accomplishes the same tasks.

Notes Structure

I wrote these notes in a fashion that heavily encourages trying to implement the high level concepts on your own. This is accomplished by completely separating the code from the concepts by putting the code in subpages. These subpages are linked after every proposal to the viewer to implement the previously discussed concept(s). This is why using OneNote is strongly recommended.

Example: We're learning how to create and customize a GLFW window

In the notes segment above, I propose you to implement some functionality on your own. If you have difficulty implementing this functionality, there is a link below every proposal that redirects you to a subpage containing the necessary C++ code to implement it. Even if you successfully implement the functionality, I would recommend you view the source code pages and use rename your variable/class names to the respective ones in the provided source code to avoid confusion with variable/class names in latter proposals.

How to Read These Notes

If this is your first time touching OpenGL:

Read through the high-level notes. As you're reading, make sure you view and try to understand the source code whenever you encounter a proposal to implement something. After you've fully read and digested the notes, try to implement what was discussed on your own. If you get stuck, review the high-level material. If you're still stuck, take another look at the source code for what you're stuck on.

If you are using these notes as a refresher:

Read through the high-level notes. When you encounter a proposal, implement it your way, then view the source code and compare.

If you are a graphics programmer using a different API and want to learn OpenGL:

Read through the high-level notes as necessary, since a lot of the concepts are very basic. However, make sure you have enough context for when you attempt the proposals.

If you are already amazing at OpenGL and Graphics Programming:

Why are you reading MY notes? These are basic concepts of OpenGL.

About Updates

I am actively studying and constructing these notes, so they will be added as I complete them.

Issues

If you see something wrong with my notes, PLEASE make an issue. As well, if you see some part of the concepts/code that can be improved, make a pull request and I'll consider accepting it. These notes are as much for myself as they are for anybody else. If I messed something up, I would be very thankful to be informed about it.

Thanks for visiting my repo!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK