view pytouhou/ui/opengl/background.pxd @ 772:7492d384d122 default tip

Rust: Add a Glide renderer (2D only for now) This is an experiment for a Rust renderer, iterating over the Python data using pyo3. It requires --feature=glide to be passed to cargo build, doesn’t support NPOT textures, text rendering, the background, or even msg faces, some of that may come in a future changeset.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Mon, 05 Sep 2022 17:53:36 +0200
parents a6af3ff86612
children
line wrap: on
line source

from pytouhou.lib.opengl cimport GLuint, GLushort, GLsizei

cdef struct Vertex:
    float x, y, z
    float u, v
    unsigned char r, g, b, a


cdef class BackgroundRenderer:
    cdef GLuint texture
    cdef GLsizei nb_indices

    # For modern GL.
    cdef GLuint vbo, ibo
    cdef GLuint vao

    # For fixed pipeline.
    cdef Vertex *vertex_buffer
    cdef GLushort nb_vertices

    cdef void set_state(self) nogil
    cdef void render_background(self) nogil
    cdef bint load(self, background, GLuint[MAX_TEXTURES] textures) except True