File: meshcam_ortho_demo.pov

package info (click to toggle)
povray 1%3A3.7.0.10-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 147,232 kB
  • sloc: cpp: 845,011; ansic: 122,118; sh: 34,204; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,389; cs: 879; awk: 590; perl: 245; xml: 95
file content (71 lines) | stat: -rw-r--r-- 2,406 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

/* Persistence Of Vision Raytracer sample file.

   Demo for the Mesh Camera macros for use with the new mesh_camera:
  
   Shows how to use the macros to create a pure orthographic mesh camera

   --
   Jaime Vives Piqueres, Jan. 2011  <jaime@ignorancia.org> */

/*******************************************************************************************
 * $File: //depot/povray/smp/distribution/scenes/camera/mesh_camera/meshcam_ortho_demo.pov $
 * $Revision: #1 $
 * $Change: 5377 $
 * $DateTime: 2011/01/09 19:56:00 $
 * $Author: jholsenback $
 ******************************************************************************************/
#version 3.7;

// control center
#declare meshcam_file=1;      // 0=off, 1=save mesh to file, 2=load mesh from file

// common globals for all the demos
#include "demo_globals.inc"

// standard includes
#include "colors.inc"
#include "textures.inc"

// common test subjects and scenario
#include "demo_common.inc"

// mesh camera macros being demonstrated
#include "meshcam_macros.inc"

// camera parameters
#declare c_location=<0,3,-8>;   // location
#declare c_look_at=<0,1.1,1>;  // look at
#declare c_up_length=4;             // up_length (controls viewing area as in pure orthographic camera)

// create a mesh simulating an orthographic camera, with optional load/save mechanism
#if (meshcam_file>0)
  // get the file name
  #declare prefix="meshcam-ortho_"; 
  #declare mesh_file=concat(concat(concat(concat(prefix,str(image_width,0,0)),"x"),str(image_height,0,0)),".inc");
#else
  // ..wich should be empty to turn the mesh file off
  #declare mesh_file="";
#end
#if (meshcam_file=2)
  // loading a mesh from file
  #declare camera_mesh=
  #include mesh_file
#else
  // create a new mesh
  #declare camera_mesh=meshcam_orthographic(image_width, image_height, c_up_length, mesh_file)
#end

// create the camera with the generated or loaded mesh
camera{
  mesh_camera{ 1 0  // 1 ray per pixel, distribution 0 
    mesh{camera_mesh
      meshcam_placement(c_location,c_look_at)
    }
  }
  location <0,0,-.01> // look at the face slighty off along the normal
}