| |
| This page shows the results of rendering solid surface using hypertexture. |
| |
 |
 |
| Inspired by this bread from Ratatouille |
My shader's render result |
| |
| Breakdown |
|
Raymarching |
To render the surface from hypertexture, I used raymarching technique. When renderer evaluate point P,
my hypertexture shader emits a ray along the incident ray direction I, and evaluates volume density step
by step until the density become higher than the threshold. Then render a micropolygon on the place. To
calculate normal N, my shader searches the neighbor density.
|
 |
| |
| End Point Problem |
| |
I wanted to use a point behind point P as a end posint of the raymarching. There is a way to know the
point's color but point position. If you know how to get the information, please email me.
# I found the way to find distance to the point behind P. The RSL function is float trace(point P, vector R),
just same function name as the function to get the point's color. I don't know why I didn't realize it.
|
Point-based Occlustion
|
When I applied normal depthmap shadow, the result became like the right image below. To get correct
shadow, I needed to write my own shadow shader. So, I tried to use point-based occlusion technique.
However, I could not get any good result I expected...
|

|
 |
Here is the result of point-based occlusion. Left image is the point cloud I calculated using my
solidHypertexture_voronoi_bakeOcc shader and the right images is the result of point-based occlusion.
I have no idea why I could not get correct result.
|
 |
 |
| |
| Results |
| |
| These are some other results I got. |
| |
 |
 |
| |
|
|
| |
Here is my shaders.
solidHypertexture_voronoi.sl
solidHypertexture_voronoi_bakeOcc.sl
solidHypertexture_voronoi_occ.sl
Noise functions from Advanced Renderman
noises.h |