Files
2026-08-12 04:47:48 -04:00

17 lines
590 B
Plaintext

/* A basic perspective camera. */
shader camera(float focal_length = 90.0 [[ float min = 0.0,
string unit = "mm",
float sensitivity = 0.2 ]],
output point position = 0.0,
output vector direction = 0.0,
output color throughput = 1.0)
{
vector sensor_size;
getattribute("cam:sensor_size", sensor_size);
point Pcam = camera_shader_raster_position() - point(0.5);
Pcam *= sensor_size / focal_length;
direction = normalize(vector(Pcam.x, Pcam.y, 1.0));
}