Archive for the 'bramz' diary' Category

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 [...]

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 let [...]

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 [...]

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 [...]

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 [...]

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 [...]

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 [...]

FZR in Uffizi (and thin dielectrics)

Saturday, December 2nd, 2006 by bramz

I’ve reproduced the older FZR render using the Ashikhmin & Shirley BSDF and the Uffizi Gallery light probe. For the glass of the windows and the head lights, I’ve implemented a new material called ThinDielectric that acts as a thin (but not very) pane of glass. Given an inner refraction index and transparency [...]

caustics in the cornell box

Wednesday, November 15th, 2006 by bramz

It’s been more than a month since last update, so it’s time for a status report. I’ve been further playing with photon mapping and some nice shaders. The main additions to the photon mapper itself are the (ir)radiance caching when using the final gather step, and the caustics map.
The former was – I [...]