Skaruts

sfml_arrays.py

Jul 26th, 2017
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import time, sfml as sf
  2.  
  3. def time_stuff():
  4.     setup_times = []
  5.     for i in xrange(passes):
  6.         start = time.time()
  7.         create_va(W, H)
  8.         end = time.time()
  9.         setup_times.append(end - start)
  10.    
  11.     usage_times = []
  12.     for i in xrange(passes):
  13.         start = time.time()
  14.         update_va(W, H)
  15.         end = time.time()
  16.         usage_times.append(end - start)
  17.  
  18.     print ("setup_times - min %.3fs, max %.3fs" % (min(setup_times), max(setup_times)))
  19.     print ("usage_times - min %.3fs, max %.3fs" % (min(usage_times), max(usage_times)))
  20.  
  21. def create_va(W, H):
  22.     global va
  23.     va.resize(W*H*4)
  24.  
  25.     for i in xrange(W):
  26.         for j in xrange(H):
  27.             INDEX = (i+j*W) *4
  28.  
  29.             va[INDEX + 0].position = sf.Vector2(  i   *W,    j   *H )
  30.             va[INDEX + 1].position = sf.Vector2( (i+1)*W,    j   *H )
  31.             va[INDEX + 2].position = sf.Vector2( (i+1)*W,   (j+1)*H )
  32.             va[INDEX + 3].position = sf.Vector2(  i   *W,   (j+1)*H )
  33.            
  34.             va[INDEX + 0].tex_coords = sf.Vector2()
  35.             va[INDEX + 1].tex_coords = sf.Vector2()
  36.             va[INDEX + 2].tex_coords = sf.Vector2()
  37.             va[INDEX + 3].tex_coords = sf.Vector2()
  38.  
  39.             va[INDEX + 0].color = sf.Color(0, 0, 0, 0)
  40.             va[INDEX + 1].color = sf.Color(0, 0, 0, 0)
  41.             va[INDEX + 2].color = sf.Color(0, 0, 0, 0)
  42.             va[INDEX + 3].color = sf.Color(0, 0, 0, 0)
  43.  
  44. def update_va(W, H):
  45.     global va
  46.     for i in xrange(W):
  47.         for j in xrange(H):
  48.             INDEX = (i+j*W) *4
  49.            
  50.             va[INDEX + 0].tex_coords = sf.Vector2()
  51.             va[INDEX + 1].tex_coords = sf.Vector2()
  52.             va[INDEX + 2].tex_coords = sf.Vector2()
  53.             va[INDEX + 3].tex_coords = sf.Vector2()
  54.  
  55.             va[INDEX + 0].color = sf.Color(0, 0, 0, 0)
  56.             va[INDEX + 1].color = sf.Color(0, 0, 0, 0)
  57.             va[INDEX + 2].color = sf.Color(0, 0, 0, 0)
  58.             va[INDEX + 3].color = sf.Color(0, 0, 0, 0)
  59.  
  60.  
  61. if __name__ == '__main__':
  62.     W, H = 80, 50
  63.     passes = 7
  64.     va = sf.VertexArray( sf.PrimitiveType.QUADS )
  65.  
  66.     time_stuff()
  67.     raw_input()
Advertisement
Add Comment
Please, Sign In to add comment