Help those suffering in the Horn of Africa

The updated version of GLSL tutorial. Only the core version will be dealt in this tutorial.

The tutorial is, and will be in the near future, in construction. I don’t plan to close it, at least in the near future, unless a new version of OpenGL changes everything again.

I’ll be adding content from time to time, initially to get the base complete, and afterwards to provide examples.

The tutorial does not intend to replace the specs as THE source to fully grasp GLSL and OpenGL. The specs are essential, but can be hard to start learning. So consider the tutorial as a gentle introduction to the theme.

As always, your cooperation is a must to get things right. Tutorials always have bugs, mistakes, and things that are not clearly explained. Furthermore, I might get somethings wrong, but please be gentle :) Your feedback is important.

Well, this is it. Have fun playing with GLSL and OpenGL!

Move on to the Index.

VSMathLib, a part of the Very Simple Libraries framework, has suffered a minor update. The modelview matrix has been split into two matrices: model and view. The modelview matrix is still available, but now it is a computed matrix. The programmer should use the two individual matrices, model and view, and the lib will compute the modelview, actually called VIEW_MODEL, as required.

The PROJMODELVIEW has been renamed to PROJ_VIEW_MODEL since this is the actual order of the matrix multiplication.

Besides that the lib works as usual. Comments are most welcome as usual.

Very Simple OpenGL Information Lib – OpenGL has a rich set of functions to query its state. It is possible to get information on just about anything, from which shaders are attached to a program, to the values of uniforms, or the properties of the textures currently bound.

However, it is also true, that to get some of this information a lot of code is required. When debugging, we end up writing code to access this and that information over and over again.

This lib attempts to provide all the information with a minimal effort to the developer, for textures, buffers, GLSL programs, shaders, and variables, and a few more items.

One of the bugs reported in here has been corrected. The uniform buffer data size is now reported correctly.

The other two bugs remain, unfortunately. Querying the primitive counter still gives zero, and glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB) still crashes the application.

Two more libs are available in the VS*L framework. With these new additions it is possible to use Assimp to load 3D models, and render them with core OpenGL. The libs store the meshes in VAOs, and use VSShaderLib and VSMathLib to simplify the rendering with shaders with almost any uniform variable configuration.

Jason L. McKesson has completed a new section on his online book. This section covers Texturing.

VSPL has a new version which allows us to profile both the CPU and the GPU. To get the GPU times VSPL uses the OpenGL Time Queries. A short tutorial for the OpenGL Time Query is available in here.

GLView, OpenGL Extensions Viewer, had a problem with OpenGL 4.1 detection in Windows. This has been fixed in the new version 3.37.

In March, 2010, the Khronos group approved an extension to add timers to OpenGL. The version was 3.2. As of OpenGL 3.3 this functionality has become part of the specification.

As mention in the Very Simple Profile Library page, profiling is an essential technique to truly understand how to improve the performance of an application. Being able to get time measurements is important both in the development stage as well as during run-time after the application has been released. OpenGL Timer Queries allows us to profile the GPU. i.e. to determine the amount of time it takes to execute a command, or sequence of commands in the GPU.

A tutorial is available in here describing the OpenGL timer functions, showing how to use them, and describing a double buffer approach to prevent the application from being stalled while waiting for query results.

 

Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks (2002)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX2: Introductions and Tutorials with DirectX 9.0 (2003)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0 (2003)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX3: Advanced Rendering with DirectX and OpenGL (2004)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX4: Advanced Rendering Techniques (Jan. 2006)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX5: Advanced Rendering Techniques (Dec. 2006)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX6: Advanced Rendering Techniques (2008)
More information about this title at Amazon.com or Amazon.co.uk

ShaderX7 (2009)
More information about this title at Amazon.com or Amazon.co.uk

Series edited by Wolfgang Engel

The first three volumes are available in PDF from here.

Combined Table of Contents

Items were grouped by section, and ordered alphabetically (volumes are displayed in parenthesis) Continue reading »

© 2013 Lighthouse3d.com Suffusion theme by Sayontan Sinha