Archive for the 'bramz’ diary' Category

Building OpenEXR libraries for Windows x64

Tuesday, May 25th, 2010 by bramz

LiAR supports the OpenEXR file format for several months now, but I only had it working on 32-bit windows. I was still missing the binaries for the 64-bit build, as you need to build the library yourself. For 64-bit Windows that turns out to be one tricky affair: Only Visual Studio solution files are available [...]

Participating Media …

Tuesday, May 4th, 2010 by bramz

… are really good fun. And a huge performance killer too. Especially if you enable in-scattering on your final gather rays. Oh boy, that really hurts! Still playing around with the Sponza atrium, I wanted to do a render of sunlight being casted through the arches on the first floor. Anyway, to cut things short, [...]

Pi and the Sponza atrium

Sunday, March 14th, 2010 by bramz

“you may expect updates soon” means “Look, I’m working on it, but I can’t pull all-nighters anymore. So, it’s going to take a while, OK?” =) So, a mere three weeks after that previous statement, here’s my first real update on the LiAR ray tracer. What have I been doing? Well, I concentrated my efforts [...]

things learnt while installing VS2005 SP1 …

Wednesday, February 7th, 2007 by bramz

If you’re planning to install Visual Studio 2005 Service Pack 1, keep this in mind: Make sure you have at least three gigs of free space on your C: drive. To be on the safe side, make it four gigs. Windows Update tries to shove this up your arse as a security update, but don’t [...]

overriding default compiler options in distutils

Monday, January 29th, 2007 by bramz

While debugging another segmentation fault on linux, I was trying to run LiAR in gdb (actually KDbg). The program crashed somewhere in an allocator, but the reason why was almost impossible to see. The debugging experience was crippled because distutils compiles with full optimization -O3 by default, at least my linux box. If I was [...]

shared libraries, RTTI and dlopen

Sunday, January 28th, 2007 by bramz

When I tried to run a first render in linux, I got a segmentation fault in the photon mapper because there were no lights. Of course, this shouldn’t cause a crash (fixed by now), but why were there no lights? I was pretty sure I defined one, and a quick investigation of the scene graph [...]

the bumpy road to the linux build

Saturday, January 27th, 2007 by bramz

The description of LiAR says: “‘LiAR isn’t a raytracer’ is an open source, cross platform, object-oriented and extendable ray tracer written in C++ and Python by Bram de Greve”. However, that’s not entirely true since currently, LiAR only runs on the Windows platform. It’s time to live up to the promise. To be honnest, I’ve [...]

clip mapping

Tuesday, January 23rd, 2007 by bramz

I’ve added clip mapping (*) to LiAR, which is some sort of alpha channel for surfaces. It can be used to create holes in a surface using a texture. The texture is compared to a threshold to determine where the surface should be removed, so that rays can travel undisturbed through the removed parts. This [...]

subdivision surfaces and UV interpolation problem

Wednesday, January 10th, 2007 by bramz

I’m trying to use the subdivision surfaces I’ve implemented to get a smoother surface for car i’m rendering for PHD Motorsports. The original model has UV coordinates that need to be interpolated as well. As each triangle is split in four, each edge is split two. I’ve been using the naive assumption that for the [...]

loop subdivision surfaces

Tuesday, December 12th, 2006 by bramz

I’ve implemented subdivision surfaces for the TriangleMesh using the Loop’s scheme. Triangles are split in four, and the vertices are weighted using masks to produce a smoother surface. This process is repeated a few times, indicated by the subdivision level. The implementation also supports the concept of creases. If an edge of the mesh has [...]