Bladeren bron

Remove old python test.

legacy
Sam Hocevar sam 14 jaren geleden
bovenliggende
commit
df2567d9f8
1 gewijzigde bestanden met toevoegingen van 0 en 181 verwijderingen
  1. +0
    -181
      test-map.py

+ 0
- 181
test-map.py Bestand weergeven

@@ -1,181 +0,0 @@
#!/usr/bin/env python

import os

import OpenGL
OpenGL.ERROR_CHECKING = False
from OpenGL.GL import *
from OpenGL.GLU import *

import pygame, pygame.image
from pygame.locals import *

import numpy
from math import sin, cos

textures = [0,0]
buflist = False

def resize((width, height)):
glViewport(0, 0, width, height)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0, width, height, 0, -1, 10);
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

def init():
glEnable(GL_TEXTURE_2D)
load_textures()
make_vbo()
glShadeModel(GL_SMOOTH)
glClearColor(0.0, 0.0, 0.0, 0.0)
glClearDepth(1.0)
glEnable(GL_DEPTH_TEST)
glDepthFunc(GL_LEQUAL)
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)

#glEnable(GL_ALPHA_TEST)
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
#glBlendFunc(GL_SRC_ALPHA, GL_ONE)


def load_textures():
texturefile = os.path.join('art','test','groundtest.png')
textureSurface = pygame.image.load(texturefile)
textureData = pygame.image.tostring(textureSurface, "RGBA", 1)

glBindTexture(GL_TEXTURE_2D, textures[0])
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, textureSurface.get_width(), textureSurface.get_height(), 0,
GL_RGBA, GL_UNSIGNED_BYTE, textureData );
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)

def make_vbo():
global buflist
buflist = glGenBuffers(3)

vertices = [False] * (20 * 15)
for y in range(15):
for x in range(20):
ty = y * 32
tx = x * 32
# Z coord is used for blit order
vertices[x + y * 20] = [tx, ty, y * 0.01,
tx + 32, ty, y * 0.01,
tx + 32, ty + 32, y * 0.01,
tx, ty + 32, y * 0.01]
vertices = numpy.array(vertices, dtype=numpy.float32)
glBindBuffer(GL_ARRAY_BUFFER, buflist[0])
glBufferData(GL_ARRAY_BUFFER, vertices, GL_STATIC_DRAW)

indices = numpy.array([x for x in range(4 * 20 * 15)], dtype=numpy.int)
glBindBuffer(GL_ARRAY_BUFFER, buflist[2])
glBufferData(GL_ARRAY_BUFFER, indices, GL_STATIC_DRAW)

def put_map(themap):
uvs = [False] * (20 * 15)
index = 0
for line in themap:
for tile in line:
ty = .0625 * (15 - tile / 16)
tx = .0625 * (tile % 16)
uvs[index] = [tx, ty + .0625,
tx + .0625, ty + .0625,
tx + .0625, ty,
tx, ty]
index += 1
uvs = numpy.array(uvs, dtype=numpy.float32)
glBindBuffer(GL_ARRAY_BUFFER, buflist[1])
glBufferData(GL_ARRAY_BUFFER, uvs, GL_STATIC_DRAW)

glEnableClientState(GL_VERTEX_ARRAY)
glEnableClientState(GL_TEXTURE_COORD_ARRAY)
glEnableClientState(GL_INDEX_ARRAY)

glBindTexture(GL_TEXTURE_2D, textures[0])

glBindBuffer(GL_ARRAY_BUFFER, buflist[0])
glVertexPointer(3, GL_FLOAT, 0, None)
glBindBuffer(GL_ARRAY_BUFFER, buflist[1])
glTexCoordPointer(2, GL_FLOAT, 0, None)
glBindBuffer(GL_ARRAY_BUFFER, buflist[2])
glIndexPointer(GL_INT, 0, None)

glDrawArrays(GL_QUADS, 0, 4 * 20 * 15)

glDisableClientState(GL_VERTEX_ARRAY)
glDisableClientState(GL_TEXTURE_COORD_ARRAY)
glDisableClientState(GL_INDEX_ARRAY)

def draw():
#glClear(GL_DEPTH_BUFFER_BIT) # Full redraw: no need to clear color buffer
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
glLoadIdentity()

themap = [
[ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 ],
[ 18, 1, 2, 2, 2, 34, 2, 2, 2, 2, 2, 2, 3, 34, 4, 18, 18, 18, 18, 18 ],
[ 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 20, 4, 18, 18, 18, 18 ],
[ 18, 19, 18, 49, 50, 51, 49, 50, 51, 49, 50, 18, 17, 18, 17, 19, 18, 18, 18, 18 ],
[ 18, 17, 18, 49, 50, 51, 49, 50, 51, 49, 50, 18, 17, 18, 17, 17, 18, 18, 18, 18 ],
[ 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 18, 20, 36, 18, 18, 18, 18 ],
[ 18, 33, 2, 2, 2, 2, 2, 2, 2, 2, 34, 2, 35, 2, 36, 18, 18, 18, 18, 18 ],
[ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 ],
[ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 53, 53, 53, 52, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 53, 53, 53, 52, 52, 53, 52, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 53, 53, 53, 52, 52, 52, 52, 52, 52, 53, 53, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 53, 53, 53, 52, 52, 52, 52, 52, 52, 53, 53, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ],
[ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ],
]
glPushMatrix()
glTranslatef(50.0 * sin(frames * 0.05), 50.0 * cos(frames * 0.08), 0)
put_map(themap)
glPopMatrix()
glTranslatef(0, 0, 0.2)
put_map(themap)

frames = 0

def main():
global frames

video_flags = OPENGL|DOUBLEBUF

pygame.init()
surface = pygame.display.set_mode((640,480), video_flags)

resize((640,480))
init()

frames = 0
ticks = pygame.time.get_ticks()
start = ticks
while 1:
event = pygame.event.poll()
if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):
break

# Enforce 33 fps
while pygame.time.get_ticks() < ticks + 33:
pygame.time.wait(1)
ticks = pygame.time.get_ticks()

draw()
pygame.display.flip()
frames = frames+1
#if frames > 200:
# break

print "fps: %d" % ((frames*1000)/(pygame.time.get_ticks()-start))


if __name__ == '__main__': main()

#import cProfile
#cProfile.run('main()')



Laden…
Annuleren
Opslaan