Advertisement
Guest User

Untitled

a guest
Sep 27th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. shader OslCamera(
  2.     matrix objectTransform = matrix(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),
  3.  
  4.     float objectSize   = 3.6,
  5.     output point pos             = P,
  6.     output vector dir            = I,
  7.     output float tMax            = 1.0/0.0)
  8.  
  9.  
  10.  
  11. {
  12.    point cubePos = 0;
  13.  
  14.     // left
  15.     if( u <= 0.5  && v <= 0.5)
  16.     {
  17.         cubePos = point(-0.5, -0.5 + 2 * v, -0.5 + 2 * u);
  18.     }
  19.     // right
  20.     else if(u >= 0.5  && v < 0.5)
  21.     {
  22.         cubePos = point(-0.5 + (u-0.5)*2, -0.5 + 2 * v, 0.5);
  23.     }
  24.     // top
  25.     else if (u > 0.5 && v >= 0.5)
  26.     {
  27.         cubePos = point(-0.5 + (u-0.5)*2, 0.5, 0.5 - (v-0.5)*2);
  28.     }
  29.     else
  30.     {
  31.         tMax = 0;
  32.     }
  33.  
  34.     matrix objScale = matrix(objectSize);
  35.     matrix finalTrans = objectTransform * objScale;
  36.     point worldPos = transform(finalTrans, cubePos);
  37.     dir = worldPos - P;
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement