The GLSL Core Tutorial has a new section for image texturing. Images are commonly used as wallpaper applied to 3D shapes to create a variety of effects. In this section we focus on the OpenGL and GLSL typical scenario of texture usage, and explore a few new GLSL functions, such as textureSize
, textureQueryLod
, and textureQueryLevels
.
JHT’s Planetary Pixel Emporium is a site devoted to planetary texture maps. Here you can find hi-res texture maps, bump maps, and normal maps, for all the planets in the solar system as well as some moons. Most of these are free to download, read the copyright info if you intent to use them.
Based only on texture coordinates some interesting shaders can be built. In this new section of the GLSL Core Tutorial, a few common shaders, namely the stripes and grid shaders, will be explored. Basic antialising and GLSL functions mix and smoothstep will also be discussed. Source code and a VS2010 solution are also provided.
Here goes a list of links to freely available books online:
- OpenGL Shading Language (2nd edition) – old syntax, but still worth a visit.
- AI Game Development
- Algorithms in Game Programming
- Game Programming Gurus
Morgan McGuire makes available a collection of Meshes that are common in recent papers. Most meshes are available in OBJ format.
The Brown Mesh Set, also by McGuire, provides a huge collection (1139) of older models. These models are in IFS format. Sample source code to read them is provided in the G3D engine.
The Large Geometric Models Archive provides the iconic Stanford Bunny, a large (+4 million vertices) skeleton model, and terrain data for the Grand Canyon and Puget Sound areas.
OpenGL, unlike Direct3D, is operating system independent. While this eases the portability among different OS, it implies that we have to resort to external libraries for a number of tasks, loading images being one of the most used.
There are many libraries to load images, DevIL being one of them. It loads a large number of image formats and it is cross platform.
A short tutorial for loading an image, getting its data and attributes, and finally creating an OpenGL texture is available in here.
Notepad++ is a great text editor and I keep using over and over. I found some GLSL syntax highlight UDL files in the site but they were not up to date and most importantly they we’re not prepared to work with dark themes. So I made two UDLs for GLSL 4.3. One for the default theme and another to use with dark themes. The extensions supported are: vert frag geom tesc tese v f g.
The zip file contains both. To install the themes go to “Language”->”Define your language”. In the “User Defined Language” dialog select import to load the files into notepad++.
Here are some screenshots. Light version with default theme:
Dark version with Monokai theme:
Humster3D is a 3D model online store site dealing mostly with vehicles. A large collection of free car blueprints is also available at the store.
The lighting examples from the GLSL Core Tutorial now include point and spotlights. Source code for all light types, including directional, and shading models, is also available. A VS2010 solution is also provided.
A new example has been added to the GLSL Core Tutorial showing the theory and implementation of directional lights, using both Gouraud and Phong shading models. Soon more light types, point and spotlights, will follow.