Help end child hunger

multisampleThe code sample for importing and displaying 3D models with Assimp, using modern OpenGL, has been updated to cover Assimp 3.0.

A Visual Studio 2010 project has also been added to help readers to get started.

A Computer Grahpics courseedxcourse is available at EdX, by Ravi Ramamoorthi, a Professor at UC Berkeley. By the end of the course students should understand the concepts of 3D graphics, and develop programs that create images of a 3D scene with lighting, using both real-time OpenGL and GLSL programming, as well as offline raytracing.


  1. Overview and Basic Math
  2. Transformations
  3. OpenGL and Lighting
  4. Raytracing



Eric Haines (co-author of Real-Time Rendering) is lecturing an online course at Udacity – Interactive 3D Graphics. The course covers the basic principles of 3D computer graphics, including meshes, geometric transformation, camera definition, lighting and materials, and also animation.


  • Lesson 1: Introduction – Motivation and a trip down the graphics pipeline, laying out the fundamental processes
  • Lesson 2: Points, Vectors, and Meshes – The basics of 3D geometry definition
  • Lesson 3: Colors and Materials – Color representation, material computations, transparency
  • Lesson 4: Transforms – Translation, scale, rotate and how to properly combine all these
  • Lesson 5: Matrices – Transform representation and how to fully control these
  • Lesson 6: Lights and Cameras – Directional and point light sources, and how the camera is defined
  • Lesson 7: Textures and Reflections – Color and opacity textures, along with reflection and normal mapping
  • Lesson 8: Shader Programming – An introduction to programming vertex and pixel shaders
  • Lesson 9: Interaction and Animation – How to select and make objects move

The Lighthouse3D VRML Script Tutorial has been translated to Serbo-Croatian by Anja Skrba from Check it out here.

texturedThe 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 textureSizetextureQueryLod, and textureQueryLevels.

jupiterJHT’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.

tcBased 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:

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.

© 2015 Suffusion theme by Sayontan Sinha