view pytouhou/ui/opengl/framebuffer.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
from pytouhou.utils.matrix cimport Matrix
from .shader cimport Shader

cdef struct PassthroughVertex:
    short x, y
    float u, v


cdef class Framebuffer:
    cdef GLuint fbo, texture, rbo

    # Used by the use_framebuffer_blit path
    cdef int x, y, width, height

    # Used by the other one.
    cdef GLuint vbo, vao
    cdef Shader shader
    cdef Matrix *mvp
    cdef PassthroughVertex[4] buf

    cpdef bind(self)
    cdef void set_state(self) nogil
    cdef bint render(self, int x, int y, int width, int height) except True