Questions tagged [opengl-3]

OpenGL 3.0 is, after OpenGL 2.0, the second major release of OpenGL which, apart from some convenience updates, supports and requires a significantly advanced hardware generation (geometry shaders and instancing). Further, OpenGL 3.0 introduced a deprecation model which was meant to gradually eleminate the use of non-contemporary features that do not map well to current hardware, but without breaking existing application compatibility.

OpenGL 3.0 is, after OpenGL 2.0 (), the second major release of OpenGL () which, apart from some convenience updates, supports and requires a significantly advanced hardware generation (geometry shaders and instancing).

Further, OpenGL 3.0 introduced a deprecation model which was meant to gradually eleminate the use of non-contemporary features that do not map well to current hardware, but without breaking existing application compatibility.

Release Dates:

  • OpenGL 3.0: August 11, 2008
  • OpenGL 3.1: March 24, 2009
  • OpenGL 3.2: August 3, 2009
  • OpenGL 3.3: March 11, 2010
794 questions
86
votes
4 answers

OpenGL VAO best practices

Im facing an issue which I believe to be VAO-dependant, but Im not sure.. I am not sure about the correct usage of a VAO, what I used to do during GL initialization was a simple glGenVertexArrays(1,&vao) followed by a glBindVertexArray(vao) and…
user815129
  • 2,236
  • 2
  • 20
  • 40
41
votes
6 answers

How to do ray tracing in modern OpenGL?

So I'm at a point that I should begin lighting my flatly colored models. The test application is a test case for the implementation of only latest methods so I realized that ideally it should be implementing ray tracing (since theoretically, it…
j riv
  • 3,593
  • 6
  • 39
  • 54
40
votes
11 answers

OpenGL 4.x learning resources

I know there are some question about learning OpenGL. Here is what I know: math for 3D 3D theory Here is what I want to know: - OpenGL 4.0 Core profile (or latter) - Shader Language 400 (or latter) - every part of above (if it do not work…
przemo_li
  • 3,932
  • 4
  • 35
  • 60
36
votes
1 answer

glVertexAttribPointer raising GL_INVALID_OPERATION

I'm trying to put together a very basic OpenGL 3.2 (core profile) application. In the following code, which is supposed to create a VBO containing the vertex positions for a triangle, the call to glVertexAttribPointer fails and raises the OpenGL…
user269597
35
votes
3 answers

Where can I find a good online OpenGL 3.0 tutorial that doesn't use any deprecated functionality?

I just purchased the fifth edition of the OpenGL SuperBible. I'm very pleased that they've avoided using deprecated functionality but their examples make use of GLTools. GLTools provides a slew of useful functions for rendering simple 3D objects and…
Jonba
  • 1,117
  • 2
  • 11
  • 12
32
votes
3 answers

Understanding Vertex Array Objects (glGenVertexArrays )

I am confused with the point in generating/creating a Vertex Array Object (VAO) with: glGenVertexArrays(GLsizei n, GLuint *arrays); and glBindVertexArray(GLuint); Because I can still create a buffer object, say for vertices, and describe that…
bluth
  • 481
  • 1
  • 5
  • 10
31
votes
5 answers

gluPerspective was removed in OpenGL 3.1, any replacements?

I'm trying to read some OpenGL tutorials on the net. the problem is that I found some old ones that use gluPerspective(). gluPerspective was deprecated in OpenGL 3.0 and removed in 3.1. What function can I use instead? I'm using C++ with latest…
ufk
  • 30,912
  • 70
  • 235
  • 386
30
votes
5 answers

Which OpenGL functions are not GPU-accelerated?

I was shocked when I read this (from the OpenGL wiki): glTranslate, glRotate, glScale Are these hardware accelerated? No, there are no known GPUs that execute this. The driver computes the matrix on the CPU and uploads it to the GPU. All the…
Xavier Ho
  • 17,011
  • 9
  • 48
  • 52
29
votes
2 answers

What does GLEW do and why do I need it?

Okay, so I already know why I need GLEW, but only up to a point. If I am using modern OpenGL stuff, probably from version 3.0 onwards, and/or am using the Core Profile, then GLEW is required as without it compilation produced error such as…
FreelanceConsultant
  • 13,167
  • 27
  • 115
  • 225
24
votes
5 answers

VAO and element array buffer state

I was recently writing some OpenGL 3.3 code with Vertex Array Objects (VAO) and tested it later on Intel graphics adapter where I found, to my disappointment, that element array buffer binding is evidently not part of VAO state, as…
the swine
  • 10,713
  • 7
  • 58
  • 100
21
votes
4 answers

OpenGL Low-Level Performance Questions

This subject, as with any optimisation problem, gets hit on a lot, but I just couldn't find what I (think) I want. A lot of tutorials, and even SO questions have similar tips; generally covering: Use GL face culling (the OpenGL function, not the…
hiddensunset4
  • 5,825
  • 3
  • 39
  • 61
19
votes
3 answers

OpenGL & GLSL 3.3 on an HD Graphics 4000 under Ubuntu 12.04

I'm running that configuration : Ubuntu 12.04 Intel HD Graphics 4000 glxinfo give me that parameters: OpenGL renderer string: Mesa X11 OpenGL version string: 2.1 Mesa 8.0.4 OpenGL shading language version string: 1.20 OpenGL extensions: My goal…
T3e
  • 539
  • 1
  • 6
  • 17
18
votes
5 answers

Why do we need perspective division?

I know perspective division is done by dividing x,y, and z by w, to get normalized device coordinates. But I am not able to understand the purpose of doing that. Also, does it have anything to do with clipping?
Megharaj
  • 1,589
  • 2
  • 20
  • 32
17
votes
1 answer

OpenGL 4.1 and 3.1+, What are key differences?

I understand that OpenGL 4 and 3 are fairly similar, especially 3.1 and 4.1. With both being essentially released together, it can be difficult to understand the rationale for OpenGL 4.0/4.1. In previous releases of OpenGL, minor version increments…
16
votes
2 answers

When should I use STD140 in OpenGL?

When do I use the STD140 for uniform blocks in OpenGL? Although I am not a 100% sure, I believe there is an alternative to it which can achieve the same thing, called "Shared". Is it just preference for the coder? Or are there reasons to use one…
Dan Webster
  • 1,185
  • 1
  • 12
  • 27
1
2 3
52 53