This file is indexed.

/usr/share/povray-3.7/include/screen.inc is in povray-includes 1:3.7.0.0-9.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
// 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 Version 3.5
//                           Screen Include File

// Created by Christoph Hormann, Chris Huff and Rune S. Johansen.

// Screen.inc will enable you to place objects and textures right in front
// of the camera. One use of this is to place your signature or a logo in
// the corner of the image.

// You can only use screen.inc with the perspective camera. Screen.inc
// will automatically create the camera definition for you when it is
// included.

// Note that even though objects aligned using screen.inc follow the
// camera, they are still part of the scene. That means that they will be
// affected by perspective, lighting, the surroundings etc.

// For instructions of use, look in the POV-Ray manual, and for an example
// of use, see screen.pov.


#ifndef(Screen_Inc_Temp)
#declare Screen_Inc_Temp = version;
#version 3.5;

#ifdef(View_POV_Include_Stack)
   #debug "including screen.inc\n"
#end

#macro Update_Camera()
   
   #ifndef (Camera_Aspect_Ratio)
      #declare Camera_Aspect_Ratio = image_width/image_height;
   #end
   #ifndef (Camera_Location) #declare Camera_Location = <0,0,0>; #end
   #ifndef (Camera_Look_At)  #declare Camera_Look_At = z;        #end
   #ifndef (Camera_Sky)      #declare Camera_Sky = y;            #end
   #ifndef (Camera_Zoom)     #declare Camera_Zoom = 1;           #end
   
   
   #declare CamL=Camera_Location;                     // wherever you're putting it
   #declare CamD=vnormalize(Camera_Look_At-CamL);     // direction of camera view
   #declare CamR=vnormalize(vcross(Camera_Sky,CamD)); // to the right
   #declare CamU=vnormalize(vcross(CamD,CamR));       // camera up
   #declare Camera_Transform =
   transform {
      matrix <
         CamR.x, CamR.y, CamR.z,
         CamU.x, CamU.y, CamU.z,
         CamD.x, CamD.y, CamD.z,
         CamL.x, CamL.y, CamL.z
      >
   }
   
   camera {
     direction CamD*Camera_Zoom
     right CamR*Camera_Aspect_Ratio
     up CamU
     sky Camera_Sky
     location CamL
   }
   
#end

Update_Camera()

#macro Set_Camera_Location(Loc)
   #declare Camera_Location = Loc;
   Update_Camera()
#end
#macro Set_Camera_Look_At(LookAt)
   #declare Camera_Look_At = LookAt;
   Update_Camera()
#end
#macro Set_Camera_Aspect_Ratio(Aspect)
   #declare Camera_Aspect_Ratio = Aspect;
   Update_Camera()
#end
#macro Set_Camera_Aspect(Width,Height)
   #declare Camera_Aspect_Ratio = Width/Height;
   Update_Camera()
#end
#macro Set_Camera_Sky(Sky)
   #declare Camera_Sky = Sky;
   Update_Camera()
#end
#macro Set_Camera_Zoom(Zoom)
   #declare Camera_Zoom = Zoom;
   Update_Camera()
#end
#macro Set_Camera_Angle(Angle)
   #declare Camera_Zoom = 0.5/tan(radians(Angle/2))*Camera_Aspect_Ratio;
   Update_Camera()
#end
#macro Set_Camera(Location, LookAt, Angle)
   #declare Camera_Location = Location;
   #declare Camera_Look_At = LookAt;
   Set_Camera_Angle(Angle)
   Update_Camera()
#end
#macro Reset_Camera()
   #undef Camera_Location
   #undef Camera_Aspect_Ratio
   #undef Camera_Location
   #undef Camera_Look_At
   #undef Camera_Sky
   #undef Camera_Zoom
   Update_Camera()
#end

#macro Screen_Object (Object, Position, Spacing, Confine, Scaling)
   #local Obj_Max = max_extent(Object);
   #local Obj_Min = min_extent(Object);
   #local Obj_Cen = (Obj_Max+Obj_Min)/2;
   #local Obj_Dim = (Obj_Max-Obj_Min)/2;
   #local Pos = (Position-0.5)*2;
   #local Pos = (
      +<Pos.x*Camera_Aspect_Ratio/2,Pos.y/2,Camera_Zoom>
      +( -Obj_Cen -Pos*(Obj_Dim+Spacing) ) * Confine
   );
   object {
      Object
      no_shadow     // shouldn't cast shadows in the scene
      no_reflection // shouldn't be reflected in scene elements
      no_radiosity  // also make the object invisible to radiosity rays
      translate Pos
      scale Scaling
      transform {Camera_Transform}
   }
#end

#macro Screen_Plane (Texture, Scaling, BLCorner, TRCorner)
   box {
      <-0.000001,-0.000001,0>, <+1.000001,+1.000001,0>
      texture {Texture}
      scale TRCorner*<1,1,0>-BLCorner*<1,1,0>+z
      translate BLCorner*<1,1,0>+<-0.5,-0.5,0>
      scale <Camera_Aspect_Ratio,1,1>
      no_shadow     // shouldn't cast shadows in the scene
      no_reflection // shouldn't be reflected in scene elements
      hollow on     // for media/fog
      translate Camera_Zoom*z
      scale Scaling
      transform {Camera_Transform}
   }
#end

#version Screen_Inc_Temp;
#end