Sunday, July 21, 2013

Voronoi Bunny in Another Way


Just play with my Voronoi Shatter. Footage rendered with Mental Ray and video compressed by FFMPEG.

Wednesday, May 29, 2013

Voronoi Shatter Bunny Demo


A friend made this demo for me, an real Maya expert.

The bunny was shattered into 829 pieces. I haven't done any optimization to the code yet. The performance is acceptable compared to commercial products.

When handle obj model files, take care that face index starts from 1. Voro++ and Carve are used. Make sure the normal direction is correct before using Carve for Boolean operations.

Thursday, May 16, 2013

Voronoi Shatter

It's my first step to a Voronoi shatter. After several days struggle with qhull, I turned to Voro++ for Voronoi diagram computation. For shattering a cube into 5000 shards, it will cost about 1 second on my machine, which also includes saving the output into a OBJ file. The simulation is done by Bullet within Maya. Demo is made with help of a friend who is a Maya expert.

Thursday, December 20, 2012

OpenGL Shadow Mapping

I don't have particular interest for Shadow Mapping. Just take it as a chance to learn rendering into framebuffer and multi-pass OpenGL rendering. You can notice in the video there is still shadow acne on the teapot.
1024x1024 depth texture that will be rendered in the first render pass.

Depth buffer of the static buffers(in gDEBugger).

The ground plane is rendered in the second render pass.

Teapot is rendered in the second render pass.

Sunday, November 18, 2012

OpenGL 4 Tessellation for Bézier Patch

gl_TessLevelOuter[] = 1, gl_TessLevelInner[] = 1.
gl_TessLevelOuter[] = 6, gl_TessLevelInner[] = 6.

gl_TessLevelOuter[] = 12, gl_TessLevelInner[] = 12.

gl_TessLevelOuter[] = 36, gl_TessLevelInner[] = 36.

In my last post about OpenGL 4 tessellation I didn't use vertex points as patch control points so there was no change in the geometry. This time I produced a Bézier patch of 16 control points using 2D Gaussian distribution. The result is much funny this time. I checked OpenGL 4 reference page and haven't found anything about tessellation level limitation.

For produce surface from control points, lecture 8 of http://graphics.ucsd.edu/courses/cse167_w06/ will be
a good reference. I also used this course as reference when I was a Computer Graphics TA for senior students.

Monday, October 8, 2012

Bullet Physics Balls Demo



Long time no update. My path tracer become too big for me to finish in short time, especially when I want to add advanced rendering effects. During past one week holiday, I rewrote the ray tracer and integrated it with Bullet physics engine. Here is my first demo with only diffuse pass and hard shadow enabled. 

Thursday, August 9, 2012

OpenGL4.2 Triangle Tessellation

Original triangle mesh.
 Tessellation with gl_TessLevelOuter[0-2]=2, gl_TessLevelInner[0] = 1.
 Render result with one point light source and diffuse pass only. The above two meshes will give same results. A tessellated polygon will produce more polygons and the normal will not change.