view pytouhou/ui/opengl/background.pxd @ 524:7f016dfbdfb1

Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 18 Dec 2013 18:15:40 +0100
parents b18f0bd30ad0
children 94725968dabb
line wrap: on
line source

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

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
    cdef unsigned int use_fixed_pipeline

    # For modern GL.
    cdef GLuint vbo, ibo

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

    cdef void render_background(self) except *
    cdef void load(self, background, Renderer renderer) except *