Help end child hunger
Jan 242014

teapots The Red Book samples included a short demo on OpenGL materials. The demo is quite old but is still valuable when considering the Phong lighting equation. In the original C source file several materials are defined and the resulting app produces an image such as the icon of this post.

This post contains a WebGL demo where the different materials can be applied to a model.

Continue reading »

Jan 232014

The JSON format is an easy and simple way to get 3D models uploaded into a WebGL application. Lighthouse3D provides a tool (source code and visual studio project available) that uses Assim to read standard 3D model files (OBJ, Collada, 3ds, among many others) and produces a JSON formatted file containing the vertex information (positions, normals and tex coords) as well as material description.

An example of a WebGL page where such content is used is available in here.

Jul 192013

vslSampleThe Very Simple * Libs pages have been updated, merging the information into less pages and adding a few relevant updates. The lib is now compatible with Assimp 3.0, and a bug which appeared with recent nvidia drivers when using multiple shaders with uniform blocks has been fixed.

The sample code has been updated to reflect these changes and a Visual Studio 2012 project is included.

Jul 052013

fourpawnsSelecting, a particular item in a 3D scene may prove useful for some applications. The selection can be performed by clicking on an object, requiring a way to determine over which object was the mouse placed.

This short tutorial shows how to select objects with the mouse using color coding. Source code and a VS2010 project are provided.

Apr 022013

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


Mar 222013


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