#include "SH.h" surface localVisibility( uniform float maxDistance = 10; uniform string outputFolder = ""; ) { SHVECTOR SHSPH0 SHSPH1 SHCOEFF0 SHCOEFF1 SHCOEFF2 SHCOEFF3 SHCOEFF4 SHCOEFF5 SHCOEFF6 SHCOEFF7 SHCOEFF8 vector Nworld = vector(transform("world",N)); point Pworld = transform("world",P); uniform float numSamples = 1024; uniform float numCoeffs = 9; varying float results[9]={0,0,0,0,0,0,0,0,0}; uniform float i,j; varying float faceforward = 0; varying float occl = 0; for(i=0;i 0){ faceforward += 1; float isHit = comp(transmission(P,destinationCurrent),0); if (isHit > 0) { occl += 1; for(j=0;j