Skip to main content

Posts

Showing posts from August, 2009

Wear Shader #2

Just messing about with the shader ...

Did a few things like darkening the paint where it is worn, darkening the reflection, adding displacements to the steel etc. ......

Wear Shader

Just playing around with shaders - curvature and occlusion in SOPs to make a wear shader.

In SOPs, made a little curvature vopsop. It is a vopsop to do curvature since the curvature SOP doesn't give a normalised result.

Inside the vopsop, the neighbors of a point are looped through and the dot product of the direction to a neighbor and N is averaged for all neighbors.

I shamelessly copied the idea from Dan:


And some occlusion in SOPs, done in SOPs so that it only needs to be done once for all frames

This is mashed a bit to get the result I want:


Mult the two together:



This is to represent where the surface is likely to get worn or chipped.

I started with the default reflective shader and added a displacement shader that gets the wear attribute, mults it with noise, then that goes through a contrast function to give a sharp edge. That 'matte' is exported to the surface shader to control a few things in there like reflections, colour etc.



hipnc file is here

took about 16 mi…

Random #1

Was throwing together a wood shader and came across a happy accident :D

Particle motion blur again and some point cloud lighting

Fixed a few things with the particle motion blur stuff. Mostly it was just to get rid of an issue where you could see the particles when rendered zipping back to 0,0,0 when they died. I changed the popnet so that the particles always die when the camera shutter is closed... I think this was because the surface shader is only evaluated once, so when a particle died (alpha set to 0) the surface shader wasn't used again so the alpha wasn't updated from the sim... The only problem with the fix is that you can't have any particles that live for less than the shutter time...

This is useful for sparks (you can see some particles colliding in the image above), I also made a little point cloud shader that is also useful for sparks :D


Houdini - particle deformation blur and point cloud lighting from Sam Hancock on Vimeo.


The shader on the spheres and ground plane just loop through the particles and does diffuse, attenuation and shadows.

A single frame took about 6.5 minutes to rende…

Multi segement motion blur with particles

Was trying to find a clean solution to rendering particles with multi segment motion blur, found a way that is quite quick...


A bunch of points are created at 0,0,0. The number of points is equal to the largest ID at the end of the particle sim.

A VOP SOP loops through the particle sim and tries to find a particle with the same ID as the current point number. The position is copied onto the point, and a matchedPt attribute is created that stores the point number of the particle in the sim. This is so that the point() expression can be used later to copy attributes from the sim.

The point count is constant so deformation blur will work with this setup. The alpha is set to hide the points when the particle dies and before it is born, with 1 frame buffer at either end of the particles life so that you don't see it streaking back to 0,0,0. That could be set to a 1 frame / oversamples buffer, I just haven't tried that yet...

Oversampling of the popnet is 30 and geo time samples is 5 f…