Source code for picogl.renderer.backend

"""
A module defining an abstract base class for a render backend.

This module contains the `RenderBackend` class, which serves as a
base for implementing rendering operations including enabling and
disabling capabilities, setting blend functions, and managing depth
and material settings. It provides an interface for rendering tasks,
but requires a concrete implementation to define specific behavior.
"""

from abc import ABC
from typing import Any


[docs] class RenderBackend(ABC): """Render Backend"""
[docs] def enable(self, cap): ...
[docs] def disable(self, cap): ...
[docs] def is_enabled(self, cap): ...
[docs] def set_blend_func(self, src, dst): ...
[docs] def set_depth_mask(self, flag: bool): ...
[docs] def get_depth_mask(self) -> bool: ...
[docs] def set_material(self, face: Any, mat: Any): ...