view pytouhou/ui/opengl/background.pxd @ 558:94725968dabb

Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Thu, 12 Dec 2013 13:47:17 +0100
parents b18f0bd30ad0
children c759b97f4f81
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
    cdef GLuint vao

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

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