New to OpenGL and Deprecation

I started playing with OpenGL in Python using PyOpenGL 3.0.1b.

I looked at some sample code and started to run and modified it, etc. Everything was fine until I became a little less ignorant.

Http://pyopengl.sourceforge.net/documentation/manual-3.0/index.xhtml lists OpenGL functions and whether they are deprecated. So I thought that I just would need to find the latest tutorials that don't use all this outdated shit.

After a few hours, there is no such luck! Deprecated code sample after deprecated code sample ... is there anywhere I can go for outdated tutorials?

+4
source share
3 answers

OpenGL ES 2.0 is actually very similar to OpenGL 3, with some features removed (for example, multiple render targets, some shader commands, etc.). The OpenGL ES 2.0 Programming Guide book has several guides and source codes available for download, which may help you get started with OpenGL 3.0. Compilations in ES 2.0 will also be compiled for the new OpenGL specifications. You can also find ES 2.0 tutorials on the Internet.

I would also recommend checking out the graphics engine I'm developing ( OpenREng ). You can check the OpenGL shell classes to see most of the features supported in the new specifications.

+2
source

Thanks to Jason L. McKesson

There are no outdated examples of fantastic examples and tutorials here (in OpenGL 3.3)

http://www.arcsynthesis.org/gltut/index.html

And one more without further explanation here (in OpenGL 4.x and 3.3)

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

+4
source

The way I recommend learning is to take a fixed functional program and slowly start turning it into a main profile, adding each bit at a time. Basically, there are 3 main things that you need to solve, and, unfortunately, everything is pretty big and attached to each other in such a way that if you don't get anything on the screen, you don’t know which bit is broken. But if you can do it right, you should be fine.

First, examine the vertex buffer objects and the vertex array object. To cut glBegin, glEnd, glVertex3f, glColor4f, glNormal3f, glTexCoord2f, etc.

Learn the manual transformations of the matrix into the ditch glRotatef, glTranslate, glPushMatrix, glPopMatrix, glMatrixMode, glLoadIdentity, GL_PROJECTION, GL_MODELVIEW, glFrustum, glOrtho, gluLookAt, gluPerspective, gluOrtho2. I recommend looking at glm, which mentions the OpenGL site in its SDK. Although you still use fixed functional components in a non-core profile, you can manually load the matrix using glLoadMatrixf, later you will need to bind the matrices to the shaders.

Learn the basic GLSL shaders. There are legacy gl_vertex, gl_normal, ftransform () that should still work with VBO, you can use them until you fully configure the shader bindings.

Then do all the shader bindings, use the vertex attributes instead of the fixed gl_vertex and gl_position. Use the form to load the model and projection matrices, not ftransform (). and things like lights and material properties (I usually load the modelviewprojection project, not just projection, so the shader does not calculate this every time).

Finally, use the main profile, you will need a toolkit for windows that supports its creation. GLUT, GLFW. SMFL does not. SDL 1.3-dev does. Unfortunately, I do not think pygame. The main profile will feature any outdated functionality that has remained lying.

+2
source

All Articles