Sunday, December 27, 2009

Micropolygons are Us

RibRender is now official a "micropolygon renderer" ;)

It's been already about one year.. and the most hyped word of the whole system has finally materialized !

True, this is something that I do in my free time (not being a family-man helps !), but the fact is that using actual micropolygons to sample data is really not so difficult when compared to everything else that goes before that into the renderer.

I also registered the domain (Thanks to DreamingHost for the assistance) and moved there the related pages that were hosted on
I took the time to write some content for the site, something that gives an introduction to what the project is all about. Sometimes (usually ?) it's important to explain clearly what one is doing.. especially if the time comes to pitch an idea at your boss at work.
In fact, I've been thinking of translating some of the content to Japanese.. but that's not an easy task.. also considering that all the time that went into this project (and anything else 8) took away from potential time studying Japanese (which I haven't been doing in a while !).

About the actual micropolys sampling and samples filtering, I'm thinking about putting a general description on the RibTools site sometimes in the future. Maybe even using some diagram.. which I find very time consuming to do, but that usually adds a lot to an explanation. I know for sure that a nicely done diagram does wonders for me.

Next I'll be working on implementing NURBS, with the wider goal of getting the Killeroo model to render with displacement mapping. Displacement is already in, but displacement coming from a texture is currently not possible.. because there isn't any support for textures !
Texturing doesn't scare me: it's going to be quite a bit of code, but mostly well understood stuff. NURBS are a bit more painful for me, but entirely doable.

Oh yeah.. it was Christmas and it will be 2010 soon... enjoy your holiday 8)


  1. There are some holes in that elephant.

  2. Yes.. there are some issues still 8)
    For one thing, different levels of split will generate T-juctions and potential cracks.
    But in this case the problem seems something else.. but I was too excited about getting the thing almost working to bother debug it properly 8P

    Also, the micropolygons aren't so micro in some cases.
    It's expected that they'd stretch and get larger than 1 pixel when displacement happens (because the dicing happens before the displacement in Reyes).. but in this case the main problem is that I still dice at the same rate horizontally and vertically (aligned with the U and V coords of the surface) and one could end up with micropolys that have an area smaller than one pixel because they are extremely thin even if very long 8)

  3. ..hehehe ..recently I read about a voxel renderer that supposedly borrowed from quantum mechanics !!
    ..frankly it seems more like a publicity stunt 8)

    I can't find it on the web again, ummm.