Sign in to follow this  

OpenGL I want to start OpenGL but I want to have everything I need.

This topic is 3749 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I was going to start OpenGL tonight, but tonight has been time spent on much research in OpenGL what is supported now, what isn't being supported, and the fact that I am working in the Visual C++ "Orcas" Beta 2 Release I knew I would have to do my homework before moving toward OpenGL. First I read the nehe tutorials but was lost when using glaux.h then I read this forum posted here on Gamedev http://www.gamedev.net/community/forums/topic.asp?topic_id=357528 that it is no longer in use, so I thought that the NeHe tutorials are almost out dated, so I decided to go with a book that is of this year using OpenGL OpenGL SuperBible 4, but now I can't find gtools.h It's not in the OpenGL package from either SGI, or MS, and it's definitely not in the source code they give you to look through, and work on. So where is gtools.h or where is a good place to start programming OpenGL using the latest, or Visual C++ 2005 Express Edition? I'm gonna sleep and hope to find help by morning. [edited]I can tell you that I have edited my own include folder inside my Visual Studio VC folder where I do have a gl folder that has gl.h glut.h GLU.h and the respected libraries are in my lib folder, and the respected .DLL are where they should be. Thanks,

Share this post


Link to post
Share on other sites
I use and recommend these libraries for OpenGL development:

GLFW for window initialization and input management. This is newer than GLUT and under active development. I also think it's more sensible and lightweight.
GLEW for OpenGL extensions if you want to use any modern GPU features.
SOIL for easy texture loading.

All of these come with precompiled .lib files for Visual C++.

Just start from the most basic GLFW examples, and introduce new things from the NEHE tutorials without copy/pasting the entire code. Specifically use something like SOIL instead of glaux.h for texture loading, and GLEW functionality instead of GLUT for input management and such. It's all well documented on the homepages of these libraries.

Share this post


Link to post
Share on other sites
The NeHe tutorials are certainly still of use.
I learned a lot about OpenGL from reading them a couple a years ago.
You just need to replace glaux with some up to date, and preferably non memory leaking, library such as DevIL.

Share this post


Link to post
Share on other sites
Quote:
Original post by nife87
The NeHe tutorials are certainly still of use.
I learned a lot about OpenGL from reading them a couple a years ago.
You just need to replace glaux with some up to date, and preferably non memory leaking, library such as DevIL.


I'm sure that most of the things you will learn will be required for the OGL 3.0 also, but just to avoid wasting your time on older things, keep in mind that the new version is going to come out and that you may want to focus on those parts that will be present in the upcoming OGL 3: IIRC most of the extensions will be integrated in the api, the windows version will be updated and fixed functions removed.

Share this post


Link to post
Share on other sites
when will OpenGL 3.0 be released. When, and where can I grab it when it does come out, and what do I have to focus on now to make it to where I won't have to learn a new library, or a couple of header files to work with when it does come out?

Share this post


Link to post
Share on other sites
If you take a look at my website you will see that you can do quite a bit with OpenGL and a C++ compiler. You don't need any extra libraries. Just the ones that come with Platform SDK.

Share this post


Link to post
Share on other sites
Don't worry about OpenGL 3 or newer extensions, you want to learn the basics first anyway. You can do a great deal in immediate mode, without textures, etc. The Red Book is a great place to start and should introduce you to all the fundamentals.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Similar Content

    • By _OskaR
      Hi,
      I have an OpenGL application but without possibility to wite own shaders.
      I need to perform small VS modification - is possible to do it in an alternative way? Do we have apps or driver modifictions which will catch the shader sent to GPU and override it?
    • By xhcao
      Does sync be needed to read texture content after access texture image in compute shader?
      My simple code is as below,
      glUseProgram(program.get());
      glBindImageTexture(0, texture[0], 0, GL_FALSE, 3, GL_READ_ONLY, GL_R32UI);
      glBindImageTexture(1, texture[1], 0, GL_FALSE, 4, GL_WRITE_ONLY, GL_R32UI);
      glDispatchCompute(1, 1, 1);
      // Does sync be needed here?
      glUseProgram(0);
      glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffer);
      glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
                                     GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, texture[1], 0);
      glReadPixels(0, 0, kWidth, kHeight, GL_RED_INTEGER, GL_UNSIGNED_INT, outputValues);
       
      Compute shader is very simple, imageLoad content from texture[0], and imageStore content to texture[1]. Does need to sync after dispatchCompute?
    • By Jonathan2006
      My question: is it possible to transform multiple angular velocities so that they can be reinserted as one? My research is below:
      // This works quat quaternion1 = GEQuaternionFromAngleRadians(angleRadiansVector1); quat quaternion2 = GEMultiplyQuaternions(quaternion1, GEQuaternionFromAngleRadians(angleRadiansVector2)); quat quaternion3 = GEMultiplyQuaternions(quaternion2, GEQuaternionFromAngleRadians(angleRadiansVector3)); glMultMatrixf(GEMat4FromQuaternion(quaternion3).array); // The first two work fine but not the third. Why? quat quaternion1 = GEQuaternionFromAngleRadians(angleRadiansVector1); vec3 vector1 = GETransformQuaternionAndVector(quaternion1, angularVelocity1); quat quaternion2 = GEQuaternionFromAngleRadians(angleRadiansVector2); vec3 vector2 = GETransformQuaternionAndVector(quaternion2, angularVelocity2); // This doesn't work //quat quaternion3 = GEQuaternionFromAngleRadians(angleRadiansVector3); //vec3 vector3 = GETransformQuaternionAndVector(quaternion3, angularVelocity3); vec3 angleVelocity = GEAddVectors(vector1, vector2); // Does not work: vec3 angleVelocity = GEAddVectors(vector1, GEAddVectors(vector2, vector3)); static vec3 angleRadiansVector; vec3 angularAcceleration = GESetVector(0.0, 0.0, 0.0); // Sending it through one angular velocity later in my motion engine angleVelocity = GEAddVectors(angleVelocity, GEMultiplyVectorAndScalar(angularAcceleration, timeStep)); angleRadiansVector = GEAddVectors(angleRadiansVector, GEMultiplyVectorAndScalar(angleVelocity, timeStep)); glMultMatrixf(GEMat4FromEulerAngle(angleRadiansVector).array); Also how do I combine multiple angularAcceleration variables? Is there an easier way to transform the angular values?
    • By dpadam450
      I have this code below in both my vertex and fragment shader, however when I request glGetUniformLocation("Lights[0].diffuse") or "Lights[0].attenuation", it returns -1. It will only give me a valid uniform location if I actually use the diffuse/attenuation variables in the VERTEX shader. Because I use position in the vertex shader, it always returns a valid uniform location. I've read that I can share uniforms across both vertex and fragment, but I'm confused what this is even compiling to if this is the case.
       
      #define NUM_LIGHTS 2
      struct Light
      {
          vec3 position;
          vec3 diffuse;
          float attenuation;
      };
      uniform Light Lights[NUM_LIGHTS];
       
       
    • By pr033r
      Hello,
      I have a Bachelor project on topic "Implenet 3D Boid's algorithm in OpenGL". All OpenGL issues works fine for me, all rendering etc. But when I started implement the boid's algorithm it was getting worse and worse. I read article (http://natureofcode.com/book/chapter-6-autonomous-agents/) inspirate from another code (here: https://github.com/jyanar/Boids/tree/master/src) but it still doesn't work like in tutorials and videos. For example the main problem: when I apply Cohesion (one of three main laws of boids) it makes some "cycling knot". Second, when some flock touch to another it scary change the coordination or respawn in origin (x: 0, y:0. z:0). Just some streng things. 
      I followed many tutorials, change a try everything but it isn't so smooth, without lags like in another videos. I really need your help. 
      My code (optimalizing branch): https://github.com/pr033r/BachelorProject/tree/Optimalizing
      Exe file (if you want to look) and models folder (for those who will download the sources):
      http://leteckaposta.cz/367190436
      Thanks for any help...

  • Popular Now