picogl.backend.modern.core.mvp

Attributes

MVP_ZOOM_SCALE

Functions

compute_mvp_zoom_from_zoom(→ float)

compute_mvp_zoom_from_zoom

compute_zoom_from_mvp_zoom(→ float)

compute_zoom_from_mvp_zoom

invert_mvp_matrix(→ numpy.ndarray | None)

invert_mvp_matrix

create_normalized_device_vector(→ numpy.ndarray)

create_normalized_device_vector

normalize_device_coordinates(depth, viewport, x, y)

normalize_device_coordinates

convert_to_world_coordinates(inverse_mvp_matrix, ...)

convert_to_world_coordinates

Module Contents

picogl.backend.modern.core.mvp.MVP_ZOOM_SCALE = -0.0015[source]
picogl.backend.modern.core.mvp.compute_mvp_zoom_from_zoom(zoom_value: float) float[source]

compute_mvp_zoom_from_zoom

Parameters:

zoom_value – float

Returns:

float

Compute the MVP zoom factor from a zoom value.

picogl.backend.modern.core.mvp.compute_zoom_from_mvp_zoom(mvp_zoom: float) float[source]

compute_zoom_from_mvp_zoom

Parameters:

mvp_zoom – float

Returns:

float

picogl.backend.modern.core.mvp.invert_mvp_matrix(projection: numpy.ndarray, model_view: numpy.ndarray) numpy.ndarray | None[source]

invert_mvp_matrix

Parameters:
  • projection – 4x4 projection matrix

  • model_view – np.ndarray

Returns:

np.ndarray

Compute inverse of MVP matrix

picogl.backend.modern.core.mvp.create_normalized_device_vector(ndc_x: float, ndc_y: float, ndc_z: float) numpy.ndarray[source]

create_normalized_device_vector

Parameters:
  • ndc_x – float normalized device x coordinate 0.0-1.0

  • ndc_y – float normalized device y coordinate 0.0-1.0

  • ndc_z – float normalized device z coordinate 0.0-1.0

Returns:

np.ndarray normalized_device_vector

Create normalized device coordinate vector

picogl.backend.modern.core.mvp.normalize_device_coordinates(depth, viewport, x, y)[source]

normalize_device_coordinates

Parameters:
  • depth – float

  • viewport – np.ndarray

  • x – int

  • y – int

Returns:

float, float, float

picogl.backend.modern.core.mvp.convert_to_world_coordinates(inverse_mvp_matrix, normalized_device_vector)[source]

convert_to_world_coordinates

Parameters:
  • inverse_mvp_matrix – np.ndarray inverse_mvp_matrix

  • normalized_device_vector – np.ndarray normalized_device_vector

Returns:

np.ndarray world_coordinates