| | .. _camera_guide: |
| |
|
| | Creating Cameras |
| | ================ |
| |
|
| | Pyrender supports three camera types -- :class:`.PerspectiveCamera` and |
| | :class:`.IntrinsicsCamera` types, |
| | which render scenes as a human would see them, and |
| | :class:`.OrthographicCamera` types, which preserve distances between points. |
| |
|
| | Creating cameras is easy -- just specify their basic attributes: |
| |
|
| | >>> pc = pyrender.PerspectiveCamera(yfov=np.pi / 3.0, aspectRatio=1.414) |
| | >>> oc = pyrender.OrthographicCamera(xmag=1.0, ymag=1.0) |
| |
|
| | For more information, see the Khronos group's documentation here_: |
| |
|
| | .. _here: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#projection-matrices |
| |
|
| | When you add cameras to the scene, make sure that you're using OpenGL camera |
| | coordinates to specify their pose. See the illustration below for details. |
| | Basically, the camera z-axis points away from the scene, the x-axis points |
| | right in image space, and the y-axis points up in image space. |
| |
|
| | .. image:: /_static/camera_coords.png |
| |
|
| |
|