Help those suffering in the Horn of Africa

Glow and Bloom is the latest article on this great series that presents graphic effects with source code, theory, and a WebGL demo.

The series already has 8 articles starting with the basics of lighting and exploring several effects. Many more are to be released according to the index.

I’ve been working for some time with wxWidgets. The only thing I’ve missed, regarding OpenGL, is the ability to define my own OpenGL context, in particular Core profile and Debug contexts.

To be able to set a context we, or the toolkit we’re using, must use the wglCreateContextAttribsARB function, as defined in the WGL_ARB_create_context extension. As it happens, wxWidgets uses wglCreateContext, hence no OpenGL context can be explicitly defined using the provided source code for the current release (2.9.4).

As OpenGL context setting is not yet in the roadmap for future releases of wxWidgets, nor is it in its Todo List, I’m sharing a solution for this issue.

The solution is for the Windows platform, but other platforms should be as easy to change as well.

Note: I make no claim regarding the quality of the solution, it worked for me, and that’s all I claim. If anyone knows of a better way of doing this comments are most welcome, as they may prove useful for other readers (and me as well :-) ).

Continue reading »

Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it’s compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler.

Here is a short tutorial that was pointed to me to setup Dev C++ with OpenGL. The tutorial  is from the collection of Programming Tutorials and Lecture Notes from the Computer Science Department of Central Connecticut State University.

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.

NShader is a Visual Studio extension that provides syntax highlighting in VS 2008 and 2010 (express editions are not supported). The following extensions are recognized: .glsl, .frag, .vert, .fp, .vp, .geom (no tessellation shaders yet :-( ).

VS*L has been updated to allow cube maps to be loaded as textures. Tangents and bitangents are also provided for every loaded model. The models default texture, the texture definitions of the loaded model, can now be replaced by any pre loaded texture.

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.

A sample using all the libs in the Very Simple framework is now available from the VS*L downloads page. The sample source C code, shaders, a 3D model, and textures, are provided, as well as a Visual Studio 2010 solution.

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.

Christophe wrote an excellent call for bug reports on the OpenGL, GLSL and extension specs.

“Getting OpenGL implementations better is not only the duty of implementers but also of the OpenGL programmers. There is something worse than a bug: there is an unknowned bug.”

© 2013 Lighthouse3d.com Suffusion theme by Sayontan Sinha