Posts Tagged: Graphics

WebGL Deferred Irradiance Volumes

Aug. 25, 2012

The problem of lighting 3D scenes in hardware accelerated rasterized rendering is really hard to solve. There are no 100% solutions, and what seems perfectly obvious to the uninitiated (light just bounces around) is extremely hard to do in practise. The following blog post is about one such method that I wanted to try out for a long time.

WebGL GPU Landscaping and Erosion

Nov. 10, 2011

A while ago I finished playing From Dust which I enjoyed a lot. What impressed me about that game was the application of landscape changes by erosion. One drawback of the tool Lithosphere I wrote earlier is that it can't do any form of hydraulic erosion. I decided to write a test in WebGL to see if a few simple algorithms could be used to shape a landscape according to hydraulic erosion.

WebGL Screenspace Ambient Occlusion

Oct. 25, 2011

The grass demo I did earlier used some Screenspace Ambient Occlusion. I thought it was a cool effect, and decided to research the topic futher. Scren-Space Ambient Occlusion is an incorrect aproximation to true ambient occlusion, and it has a couple problems, but it can be a useful technique.

WebGL and HTML5 Challenges For The Future

Sep. 11, 2011

In the book Game Engine Gems 2: Chapter 13 author Rémi Arnaud examines different browser based 3d rendering techniques. According to Rémi, many 3D web rendering technologies failed because they could not get game developers on board. An example is VRML, which was pronounced dead on arrival by John Carmack.

Advanced WebGL - Part 3: Irradiance Environment Map

Apr. 18, 2011

In part 2 of this series I explained about how to get the sky. This entry is about how to compute an irradiance environment map from this cubemap.

Advanced WebGL - Part 2: Sky Rendering

Apr. 13, 2011

In Part 1 of this howto, I introduced my demo. In this part I'm going to talk about how to make the sky. The demo also computes an irradiance map and applies it to the cube. I'm going to talk about this in Part 3.

Advanced WebGL - Part 1

Apr. 11, 2011

WebGL is now enabled by default in both Firefox 4.0 and Chrome 10.0, so I thought I give it a try and see what I can get out of it. The goal was to render some simple terrain, nice looking sky and waving grass. In this part of the description I will give the overview of how that works.

Minecraft Like Rendering Experiments in OpenGL 4

Dec. 09, 2010

Since all the excitement about Minecraft I wondered what nice rendering effects could be done in such a restricted environment. I have decided to pursue that avenue of research and a variety of techniques will be presented in the following article.

OpenGL 4 Tessellation

Nov. 07, 2010

I bought a new graphics card which is OpenGL 4.1 compatible. And since tessellation is hot, this article explains how to use tessellation to LOD large terrains easily.


Aug. 21, 2010

Lithosphere is a GPU driven terrain generator. It allows you to create and export material textures and heightmaps intended for use in realtime graphics applications.

SpringUV - Minimize distortions from planar UV mapped terrain

Aug. 17, 2010

A common approach to UV mapping terrain is to use planar mapping. This works well except with steep faces where the texture gets stretched. Solutions like tri-planar mapping can remedy this, but introduce other artefacts and are hard to get seamless. The picture below illustrates stretching artefacts with planar UV mapping.

Lumiscape - Terrain Radiosity Rendering

Jul. 31, 2009

In order to light terrain, it is not enough just to cast self shadows. It is also important to light it according to sky/sun occlusion and bounced secondary light. Lumiscape allows you to compute a lightmap for use in interactive applications. The lightmap is rendered using a GPU accelerated variant of radiosity. However, it is still exceedingly slow for large terrain textures.

gletools - Advanced pyglet utilities

Jul. 31, 2009

Pyglet is a fabulous opengl/windowing wrapper you can use to write applications in python. Gletools exposes advanced OpenGL functionality like GLSL, Framebuffers, Float textures etc. to programs using the opengl API of pyglet.