| .. _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 |
|
|
|
|