Mercurial > touhou
diff pytouhou/ui/gamerenderer.py @ 398:8d252cdb495f
Move the background rendering code to pytouhou.ui.renderer.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 12 Feb 2013 18:20:49 +0100 |
parents | 346614f788f1 |
children | 1c773544eaeb |
line wrap: on
line diff
--- a/pytouhou/ui/gamerenderer.py +++ b/pytouhou/ui/gamerenderer.py @@ -17,20 +17,13 @@ from itertools import chain from pyglet.gl import (glClear, glMatrixMode, glLoadIdentity, glLoadMatrixf, glDisable, glEnable, glFogi, glFogf, glFogfv, - glBlendFunc, glBindTexture, glVertexPointer, - glTexCoordPointer, glColorPointer, glDrawArrays, - glVertexAttribPointer, glEnableVertexAttribArray, GL_DEPTH_BUFFER_BIT, GL_PROJECTION, GL_MODELVIEW, GL_FOG, GL_FOG_MODE, GL_LINEAR, GL_FOG_START, - GL_FOG_END, GL_FOG_COLOR, GL_DEPTH_TEST, GL_SRC_ALPHA, - GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_TEXTURE_2D, - GL_UNSIGNED_BYTE, GL_FLOAT, GL_QUADS, - GL_COLOR_BUFFER_BIT, GLfloat) + GL_FOG_END, GL_FOG_COLOR, GL_COLOR_BUFFER_BIT, GLfloat) from pytouhou.utils.matrix import Matrix from .renderer import Renderer -from .background import get_background_rendering_data @@ -57,7 +50,6 @@ class GameRenderer(Renderer): back = self.background game = self.game - texture_manager = self.texture_manager if self.use_fixed_pipeline: glMatrixMode(GL_PROJECTION) @@ -100,23 +92,7 @@ class GameRenderer(Renderer): self.background_shader.uniform_matrixf('model_view', model_view.get_c_data()) self.background_shader.uniform_matrixf('projection', self.proj.get_c_data()) - glEnable(GL_DEPTH_TEST) - for (texture_key, blendfunc), (nb_vertices, vertices, uvs, colors) in get_background_rendering_data(back): - glBlendFunc(GL_SRC_ALPHA, (GL_ONE_MINUS_SRC_ALPHA, GL_ONE)[blendfunc]) - glBindTexture(GL_TEXTURE_2D, texture_manager[texture_key]) - if self.use_fixed_pipeline: - glVertexPointer(3, GL_FLOAT, 0, vertices) - glTexCoordPointer(2, GL_FLOAT, 0, uvs) - glColorPointer(4, GL_UNSIGNED_BYTE, 0, colors) - else: - glVertexAttribPointer(0, 3, GL_FLOAT, False, 0, vertices) - glEnableVertexAttribArray(0) - glVertexAttribPointer(1, 2, GL_FLOAT, False, 0, uvs) - glEnableVertexAttribArray(1) - glVertexAttribPointer(2, 4, GL_UNSIGNED_BYTE, True, 0, colors) - glEnableVertexAttribArray(2) - glDrawArrays(GL_QUADS, 0, nb_vertices) - glDisable(GL_DEPTH_TEST) + self.render_background(back) else: glClear(GL_COLOR_BUFFER_BIT) @@ -138,4 +114,3 @@ class GameRenderer(Renderer): self.render_elements(chain(game.bullets, game.lasers, game.cancelled_bullets, game.items, game.labels)) -