class moderngl_window.opengl.projection.Projection3D(aspect_ratio: float = 1.7777777777777777, fov: float = 75.0, near: float = 1.0, far: float = 100.0)

  3D Projection

  property aspect_ratio: float

    The projection’s aspect ratio

    Type:

      float

  property far: float

    Current far plane value

    Type:

      float

  property fov: float

    Current field of view

    Type:

      float

  property matrix: mat4x4

    Current projection matrix

    Type:

      glm.mat4x4

  property near: float

    Current near plane value

    Type:

      float

  property projection_constants: tuple[float, float]

    (x, y) projection constants for the current projection. This is for example useful when reconstructing a view position of a fragment from a linearized depth value.

  tobytes() → bytes

    Get the byte representation of the projection matrix

    Returns:

      byte representation of the projection matrix

    Return type:

      bytes

  update(aspect_ratio: float | None = None, fov: float | None = None, near: float | None = None, far: float | None = None) → None

    Update the projection matrix

    Keyword Arguments:

      - aspect_ratio (float) – Aspect ratio

      - fov (float) – Field of view

      - near (float) – Near plane value

      - far (float) – Far plane value