Cycles: adaptive subdivision support for panoramic cameras.
authorMai Lavelle <mai.lavelle@gmail.com>
Fri, 12 Jan 2018 01:14:27 +0000 (02:14 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Fri, 12 Jan 2018 22:57:45 +0000 (23:57 +0100)
commit5bd9b12dc47d6fcfb21025101b41802bb5b2edc0
tree71564a0cb96ca9e0f0b83a1b24eb76431c310fff
parentb603792fec45b2f9563929c76e95ad3b7270797b
Cycles: adaptive subdivision support for panoramic cameras.

Adds the code to get screen size of a point in world space, which is
used for subdividing geometry to the correct level. The approximate
method of treating the point as if it were directly in front of the
camera is used, as panoramic projections can become very distorted
near the edges of an image. This should be fine for most uses.

There is also no support yet for offscreen dicing scale, though
panorama cameras are often used for rendering 360° renders anyway.

Fixes T49254.

Differential Revision: https://developer.blender.org/D2468
intern/cycles/kernel/geom/geom_primitive.h
intern/cycles/kernel/kernel_camera.h
intern/cycles/kernel/kernel_projection.h
intern/cycles/render/camera.cpp