Source code for picogl.backend.legacy.core.attribute_binder

from picogl.backend.gl.enums import GLNumeric
from picogl.backend.gl.state.client import GLClientState
from picogl.backend.gl.wrappers import (
    gl_disable_legacy_client_state,
    gl_enable_legacy_client_state,
)
from picogl.backend.gl.wrappers.pointer import (
    gl_color_array_pointer,
    gl_normal_array_pointer,
    gl_texcoord_array_pointer,
    gl_vertex_array_pointer,
)


[docs] class LegacyAttributeBinder: """Legacy client-state and vertex attribute pointer operations.""" @staticmethod
[docs] def enable_vertex_array(): gl_enable_legacy_client_state(GLClientState.VERTEX)
@staticmethod
[docs] def disable_vertex_array(): gl_disable_legacy_client_state(GLClientState.VERTEX)
@staticmethod
[docs] def set_vertex_pointer(data): gl_vertex_array_pointer(pointer=data, size=3, num_type=GLNumeric.FLOAT)
@staticmethod
[docs] def enable_normal_array(): gl_enable_legacy_client_state(GLClientState.NORMAL)
@staticmethod
[docs] def disable_normal_array(): gl_disable_legacy_client_state(GLClientState.NORMAL)
@staticmethod
[docs] def set_normal_pointer(data): gl_normal_array_pointer(pointer=data, num_type=GLNumeric.FLOAT)
@staticmethod
[docs] def enable_color_array(): gl_enable_legacy_client_state(GLClientState.COLOR)
@staticmethod
[docs] def disable_color_array(): gl_disable_legacy_client_state(GLClientState.COLOR)
@staticmethod
[docs] def set_color_pointer(data, size): gl_color_array_pointer(pointer=data, size=size, num_type=GLNumeric.FLOAT)
@staticmethod
[docs] def enable_texcoord_array(): gl_enable_legacy_client_state(GLClientState.TEXCOORD)
@staticmethod
[docs] def disable_texcoord_array(): gl_disable_legacy_client_state(GLClientState.TEXCOORD)
@staticmethod
[docs] def set_texcoord_pointer(data): gl_texcoord_array_pointer(pointer=data, size=2, num_type=GLNumeric.FLOAT)