picogl.backend.gl.wrappers ========================== .. py:module:: picogl.backend.gl.wrappers .. autoapi-nested-parse:: Thin OpenGL call wrappers (legacy client state, pointers, buffers, draws). Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/picogl/backend/gl/wrappers/blending/index /autoapi/picogl/backend/gl/wrappers/boolean/index /autoapi/picogl/backend/gl/wrappers/buffer/index /autoapi/picogl/backend/gl/wrappers/buffer_data/index /autoapi/picogl/backend/gl/wrappers/clear/index /autoapi/picogl/backend/gl/wrappers/client_state/index /autoapi/picogl/backend/gl/wrappers/color/index /autoapi/picogl/backend/gl/wrappers/depth/index /autoapi/picogl/backend/gl/wrappers/disable_vertex_array/index /autoapi/picogl/backend/gl/wrappers/draw/index /autoapi/picogl/backend/gl/wrappers/enable/index /autoapi/picogl/backend/gl/wrappers/enable_vertex_array/index /autoapi/picogl/backend/gl/wrappers/error/index /autoapi/picogl/backend/gl/wrappers/frame/index /autoapi/picogl/backend/gl/wrappers/generate_buffers/index /autoapi/picogl/backend/gl/wrappers/generate_vertex_array/index /autoapi/picogl/backend/gl/wrappers/get_integerv/index /autoapi/picogl/backend/gl/wrappers/glcleanup/index /autoapi/picogl/backend/gl/wrappers/material/index /autoapi/picogl/backend/gl/wrappers/pointer/index /autoapi/picogl/backend/gl/wrappers/polygon_mode/index /autoapi/picogl/backend/gl/wrappers/shader/index /autoapi/picogl/backend/gl/wrappers/texture/index /autoapi/picogl/backend/gl/wrappers/vertex_array/index /autoapi/picogl/backend/gl/wrappers/vertex_attrib_pointer/index Functions --------- .. autoapisummary:: picogl.backend.gl.wrappers.gl_bind_buffer picogl.backend.gl.wrappers.gl_buffer_data picogl.backend.gl.wrappers.gl_disable_legacy_client_state picogl.backend.gl.wrappers.gl_enable_legacy_client_state picogl.backend.gl.wrappers.gl_draw_arrays picogl.backend.gl.wrappers.gl_draw_elements picogl.backend.gl.wrappers.gl_enable_vertex_array picogl.backend.gl.wrappers.gl_generate_buffers picogl.backend.gl.wrappers.gl_generate_vertex_array picogl.backend.gl.wrappers.gl_color_array_pointer picogl.backend.gl.wrappers.gl_color_pointer_from_spec picogl.backend.gl.wrappers.gl_normal_array_pointer picogl.backend.gl.wrappers.gl_normal_pointer_from_spec picogl.backend.gl.wrappers.gl_texcoord_array_pointer picogl.backend.gl.wrappers.gl_vertex_array_pointer picogl.backend.gl.wrappers.gl_vertex_pointer_from_spec picogl.backend.gl.wrappers.gl_active_texture picogl.backend.gl.wrappers.gl_bind_texture picogl.backend.gl.wrappers.gl_compressed_tex_image picogl.backend.gl.wrappers.gl_gen_textures picogl.backend.gl.wrappers.gl_generate_mipmap picogl.backend.gl.wrappers.gl_get_active_texture0 picogl.backend.gl.wrappers.gl_tex_parameter picogl.backend.gl.wrappers.gl_teximage2d picogl.backend.gl.wrappers.gl_teximage3d picogl.backend.gl.wrappers.gl_bind_vertex_array picogl.backend.gl.wrappers.gl_vertex_attrib_pointer picogl.backend.gl.wrappers.gl_get_integerv Package Contents ---------------- .. py:function:: gl_bind_buffer(target, ebo_id: int | None) gl bind buffer .. py:function:: gl_buffer_data(target: picogl.backend.gl.enums.GLBufferTarget = GLBufferTarget.ARRAY, size: int = 0, data=None, usage_hint: picogl.backend.gl.enums.GLUsageHint = GLUsageHint.STATIC_DRAW) gl bind buffer .. py:function:: gl_disable_legacy_client_state(state: picogl.backend.gl.state.client.GLClientState) gl disable client state .. py:function:: gl_enable_legacy_client_state(state: picogl.backend.gl.state.client.GLClientState) gl legacy client state .. py:function:: gl_draw_arrays(index_count: int, mode: picogl.backend.gl.enums.GLDrawMode | int, first: int = 0) -> None Issue ``glDrawArrays`` with PicoGL draw-mode enums or raw gl constants. .. py:function:: gl_draw_elements(index_count: int, dtype: int | None = GLIndexType.UNSIGNED_INT, mode: picogl.backend.gl.enums.GLDrawMode | int | None = GLDrawMode.TRIANGLES, pointer: Any | None = None, offset: int = 0) -> None Issue ``glDrawElements``. *pointer* may be a client index array, ``None`` (EBO bound), or omitted to use *offset*. .. py:function:: gl_enable_vertex_array(location: int) -> Any gl_enable_vertex_array :param location: int .. py:function:: gl_generate_buffers(num: int = 1) -> Any gl_generate_buffers :param num: int .. py:function:: gl_generate_vertex_array(num: int = 1) -> Any gl_generate_vertex_array :param num: int .. py:function:: gl_color_array_pointer(pointer: numpy.ndarray, size: int = 4, num_type: picogl.backend.gl.enums.GLNumeric = GLNumeric.FLOAT, stride: int = 0) gl color pointer for mesh binding. .. py:function:: gl_color_pointer_from_spec(attr: picogl.gpu.buffers.attributes.AttributeSpec) gl color pointer .. py:function:: gl_normal_array_pointer(pointer: numpy.ndarray, stride: int = 0, num_type: picogl.backend.gl.enums.GLNumeric = GLNumeric.FLOAT) gl normal pointer for mesh binding. .. py:function:: gl_normal_pointer_from_spec(attr: picogl.gpu.buffers.attributes.AttributeSpec) gl normal pointer .. py:function:: gl_texcoord_array_pointer(pointer: numpy.ndarray, size: int = 2, stride: int = 0, num_type: picogl.backend.gl.enums.GLNumeric = GLNumeric.FLOAT) gl texcoord pointer for mesh binding. .. py:function:: gl_vertex_array_pointer(pointer: numpy.ndarray | int, size: int = 3, num_type: picogl.backend.gl.enums.GLNumeric = GLNumeric.FLOAT, stride: int = 0) gl vertex pointer for mesh binding. .. py:function:: gl_vertex_pointer_from_spec(attr: picogl.gpu.buffers.attributes.AttributeSpec) gl legacy client state .. py:function:: gl_active_texture(unit: int) -> None Issue ``glActiveTexture``. .. py:function:: gl_bind_texture(tex_id: int, target: int = GL_TEXTURE_2D) -> None Issue ``glBindTexture``. .. py:function:: gl_compressed_tex_image(byte_array: array.array[int], gl_format: OpenGL.constant.FloatConstant | OpenGL.constant.IntConstant | OpenGL.constant.LongConstant | OpenGL.constant.StringConstant | OpenGL.constant.Constant, h: int, level: int, size: int, w: int) -> None Issue ``glCompressedTexImage2D`` for a 2D texture. .. py:function:: gl_gen_textures(number: int = 1) -> Any Issue ``glGenTextures``. .. py:function:: gl_generate_mipmap(target: int = GL_TEXTURE_2D) -> None Generate mipmaps for the currently bound texture. .. py:function:: gl_get_active_texture0() -> None Select texture unit 0. .. py:function:: gl_tex_parameter(target: int, pname: Any, param: Any) -> None Issue ``glTexParameteri``. .. py:function:: gl_teximage2d(target: int, level: int, internalformat: OpenGL.constant.FloatConstant | OpenGL.constant.IntConstant | OpenGL.constant.LongConstant | OpenGL.constant.StringConstant | OpenGL.constant.Constant, width: int, height: int, border: int, format: OpenGL.constant.FloatConstant | OpenGL.constant.IntConstant | OpenGL.constant.LongConstant | OpenGL.constant.StringConstant | OpenGL.constant.Constant, num_type: int = GLNumeric.UNSIGNED_BYTE, data: bytes | numpy.ndarray | None = None) -> None Issue ``glTexImage2D``. .. py:function:: gl_teximage3d(target: int, level: int, internalformat: OpenGL.constant.FloatConstant | OpenGL.constant.IntConstant | OpenGL.constant.LongConstant | OpenGL.constant.StringConstant | OpenGL.constant.Constant, width: int, height: int, depth: int, border: int, format: OpenGL.constant.FloatConstant | OpenGL.constant.IntConstant | OpenGL.constant.LongConstant | OpenGL.constant.StringConstant | OpenGL.constant.Constant, num_type: int, data: bytes | numpy.ndarray | None = None) -> None Issue ``glTexImage3D``. .. py:function:: gl_bind_vertex_array(vao: int) gl_bind_vertex_array :param vao: int VAO handle; ``0`` unbinds the current VAO. .. py:function:: gl_vertex_attrib_pointer(index: int, size: int, num_type: picogl.backend.gl.enums.GLNumeric = GLNumeric.FLOAT, normalized: picogl.boolean.GLBoolean = GLBoolean.FALSE, stride: int = 0, offset: Optional[Any] = None) -> None Issue ``glVertexAttribPointer``. *offset* may be a byte offset (``int``), ``None``, or a ``ctypes.c_void_p``. .. py:function:: gl_get_integerv(val) -> Any get integer value