Initial commit
buffer.by:
  tabs -> spaces
  added Buffer.dtype, shape, ndim.

gl_utils.py:
  fix for GL_HALF_FLOAT unavailable on older OpenGL

shader.py:
  Corrected nVidia error parser
  Added error parser for Nouveau driver
  Better handling for incorrectly parsed error messages
  Constants like GLsizei are only found in OpenGL.constants for older versions of pyopengl
  Added generate_enum_map function to support older OpenGL implementations
  Added convenience classes VertexShader and FragmentShader
  Added ShaderProgram.__setitem__ and __getitem__ for accessing uniforms/attributes
  Recommend removing ShaderProgram.__getattr__, Attributes.__getattr__; use getitem instead.
  Added Attribute.set_buffer to support OpenGL 2
Merge remote-tracking branch 'origin/master'

Conflicts:
	pygly/buffer.py
	pygly/gl_utils.py
	pygly/shader.py
bugfixes following previous merge
cleaned up commented code
Added files from pyvis3d repo
renamed primitives -> visuals
Added PyGLy
added Pyrr
added experimental
Added __init__ files, including import hooks for PyGLy
Merged updates to PyGLy
Squashed commit of the following:

commit 1584ff5ed82e315f2e9ba3d1b8ffd8e3cf621002
Author: Luke <luke@silver.(none)>
Date:   Thu Mar 28 02:49:46 2013 -0400

    cleaned up commented code

commit b9b352ac3971ec8aada8d062d77d1f9da66c0cc1
Author: Luke <luke@silver.(none)>
Date:   Thu Mar 28 02:30:49 2013 -0400

    bugfixes following previous merge

commit e0f0667d0c06e625de197d191faab0ed78fd6957
Merge: 98b0596 252087d
Author: Luke <luke@silver.(none)>
Date:   Thu Mar 28 00:14:19 2013 -0400

    Merge remote-tracking branch 'origin/master'

    Conflicts:
    	pygly/buffer.py
    	pygly/gl_utils.py
    	pygly/shader.py

commit 98b059650e73d74c26e22839f3e476cef3957a08
Author: Luke <luke@silver.(none)>
Date:   Wed Mar 27 23:42:13 2013 -0400

    buffer.by:
      tabs -> spaces
      added Buffer.dtype, shape, ndim.

    gl_utils.py:
      fix for GL_HALF_FLOAT unavailable on older OpenGL

    shader.py:
      Corrected nVidia error parser
      Added error parser for Nouveau driver
      Better handling for incorrectly parsed error messages
      Constants like GLsizei are only found in OpenGL.constants for older versions of pyopengl
      Added generate_enum_map function to support older OpenGL implementations
      Added convenience classes VertexShader and FragmentShader
      Added ShaderProgram.__setitem__ and __getitem__ for accessing uniforms/attributes
      Recommend removing ShaderProgram.__getattr__, Attributes.__getattr__; use getitem instead.
      Added Attribute.set_buffer to support OpenGL 2

commit 252087d64b346da53c7c173f6d1df30cd9a9516d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 22:29:56 2013 +1100

    Add cautionary note about contextmanager functions.

commit 4be83b634402c95d25e3ee48dda3d97f14ab568a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 22:24:22 2013 +1100

    Improve docstrings.

commit ca7bd2a6f51f243242b88e646e26b2fbe5f19cd4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 22:12:11 2013 +1100

    Fix some docstrings.

commit 89f6e112a4b234b58f34c06faef5b99e6c1cb836
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 22:08:51 2013 +1100

    Improve docs.

    Docs are still pretty bad, but this is at least an
    improvement.

commit a621364c6dcd2805505da7bf5b0731bbb9c6ee49
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 22:08:07 2013 +1100

    Throw an exception if data exceeds region.

    When calling set_data on a BufferRegion, check the
    data can fit.
    Also improve docs.

commit a745963d5948189e09f41e39839f5bfb92286024
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 25 20:46:41 2013 +1100

    Remove unimplemented method

commit 6614d8b77911184053fd05e92c973592225e1d8e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:52:02 2013 +1100

    Update the 'check it worked' command.

commit f4b7111a9760440bd19346a0fa881da88d23ed86
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:12:43 2013 +1100

    Add glut to examples README.md

commit f8cfc0e722d30ff7bcb614eba507b85c5e921fe0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:12:15 2013 +1100

    Remove unused code

commit a4ba80a58fb072f434150163ebe209b4ad30f376
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:06:38 2013 +1100

    Add note that GLUT only supports Legacy.

commit 3b38577e2c5d638cc07e166d673ad31e5ad6899f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:05:05 2013 +1100

    Fix GLUT not triggering redraws.

commit d9a4d406198d6cf3fc5e633c99b49f724b4788a2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 16:00:47 2013 +1100

    Add GLUT to list of platforms.

commit 0952582da5e3ee0f7549c1ee8189bbe1bbda2243
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 15:59:04 2013 +1100

    Add PyOpenGL GLUT platform to examples.

commit 9e6789654f6ee2eb7580d1b7b4d9b1458cc472ae
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 15:58:46 2013 +1100

    Rename import gl to GL.

commit b4afcf73c7735b0dc507768f98331a7041882361
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 14:50:47 2013 +1100

    Remove unused, and invalid, import.

commit b45bb470ec2a9d5babe5dc83f9021d5dbd6f0e73
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 02:38:09 2013 +1100

    Remove accidently committed test files.

commit b065b8eed9d5a0bc950e03ea8215598262bf3c97
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 24 00:02:06 2013 +1100

    Update README to hopefully be a bit more clear.

commit ee28bb81d66f6392c4b75abad402ecbaa63bbcf3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 23 23:45:28 2013 +1100

    Massive overhaul of PyGLy.

    PyGLy no longer depends on Pyglet.
    Examples re-written from ground up.
    Examples use single code base to test both legacy and
    core profiles.
    Examples support single code base to test any platform
    provided.
    Update to latest Pyrr.
    Rename camera.view_matrix to camera.projection_matrix.
    Remove view_matrix. You should manually control the
    camera's projection_matrix now.
    Remove projection_view_matrix.
    Remove orthogonal_view_matrix
    Remove ratio_viewport.
    Fix errors in shader raising an exception and immediately
    catching it.
    Don't use from OpenGL.GL import *, just import the module
    and use the GL prefix for any function calls.
    Move gl_legacy.py into gl.py. Legacy functions are marked
    as such.
    Move gl_utils.py into gl.py.
    Rename monkey_patch to pyglet_monkey_patch.
    Remove window.py, it is now up to the user to update view
    matrices when windows are resized. This was mostly true
    before hand, but now we are no longer tied to Pyglet.
    Add PyGLFW to contrib directory.
    Add all of requirements.txt to requirements-dev.txt for
    building documentation on readthedocs.org.
    Remove attic directories.

commit f4ad4dd8a92813bd87321261518b85e2661f802f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 14 21:51:20 2013 +1100

    Basic fixes until docs are overhauled.

    Undocumented functions now appear.
    Added sections to pages.

commit 3d3509cbb116ec9334d617517970a257af1630eb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 14 21:44:09 2013 +1100

    Fix texinfo description.

commit 7105940eabe88d78e01d98f32957293e77a11dfa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 14 20:47:49 2013 +1100

    Add PyGLy documenation link to README.md.

commit 2ddd64d95095a64e1965ca61f663958225edd93b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 14 20:39:37 2013 +1100

    Add requirements.txt to requirements-dev.txt.

    Some webhooks expect this (readthedocs).

commit 4a5477f4f017dae5aa377117f273f70a621d262d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Mar 12 17:17:34 2013 +1100

    Fix update_dependencies script.

commit 31459a1a8fdb2a3ad306346ddac1392206d4f3f5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 19:59:22 2013 +1100

    Move dependencies to above 'get pygly' section.

commit 89cd2ec28fe3aa6ab69f064d3c5c85f2b2fb7fb8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 19:49:43 2013 +1100

    Fix incorrect imports.

commit 4f0d3d2a4c31054cf82324bc4d40dd4db082859c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 19:46:35 2013 +1100

    Descript all directories in examples root.

commit 385dce4166825e94938a2cfb490912a5232200e8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 19:37:50 2013 +1100

    Add README for examples.

commit 61e71641b3c0d5bcb721cade365a4c68d7cdcc30
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 19:05:53 2013 +1100

    Flatten out the examples directory.

    Fix some imports that were using pyglet's GL
    instead of PyOpenGL.

commit 743acc585fbaedcbc110aececae347ab520ab15d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:37:50 2013 +1100

    Change from git@ to git:// for submodules.

    This enables read-only access without a github account.

commit 7530bca3f56477e8347a9bbb6783047b058dfb7b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:36:44 2013 +1100

    Remove optional dependencies from setup.py.

commit e306093aff923fd302d9e543bc5f7208f2d594f0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:36:19 2013 +1100

    Add changes missed from last commit.

commit 20661b39d742bc0442619115ce4098bd642351c8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:32:24 2013 +1100

    Add optional requirements pip install manifest.

commit 325b5b437cade01fec2f8d4147fdc29726b25621
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:31:48 2013 +1100

    Add trivial sentence.

commit 720a0a6255090d1f1b34c7ef7c6ee594969d16fa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:30:32 2013 +1100

    Add external dependencies.

commit 40610a1905fe670503c204dabde68a906392f615
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:27:31 2013 +1100

    Fix case sensitivity in export commands.

commit d290b66db6f2560e53e0e93f12d98d704738d212
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:26:17 2013 +1100

    Fix path in install command.

commit be24091c865d79014356265256843fe619cc8feb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 18:24:48 2013 +1100

    Rework installation steps in README.

commit c6ff53aa343401d835d2ffb033e4e68bdf4b4529
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 16:00:20 2013 +1100

    Remove INSTALL file.

    It was old and unused.

commit 80d34b0885092a130149b6e06cacaac83ef5d905
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 13:09:27 2013 +1100

    Fix pyopengl-accelerate dependency.

    setup doesnt like - symbols, replace with _.

commit 8cbcae85a74c5cb9cb5c193c1c013299b8b8b518
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 13:06:20 2013 +1100

    Add PIL / Pillow as optional dependencies.

commit 78720ee1ff167bce7ab78a6ea93f492b105928b5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 7 13:04:15 2013 +1100

    Update setup.py

    Remove pyglet install hacks. Latest should work properly.
    Remove cython as a dependency.
    Replace PIL with Pillow.
    Remove old modules that don't exist.
    Improve description.

commit a616d6bbe2a3c08ab4510563e09d2656c21c8a03
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 6 17:51:46 2013 +1100

    Replace Buffer with TypedBuffer.

    Buffer is removed and TypedBuffer is now Buffer.
    TypedBuffer is more in keeping with PyGLy's design.
    If you want Buffer, it's trivial to implement your own.
    Buffer didn't really do anything.
    Add some comments to Buffer class.
    Add the ability to pass in an existing Buffer handle.

commit efcb3b0424d01c2b44e5e7115f9c0be6df0ad65a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 23:08:52 2013 +1100

    Add pointer functions to root of module.

    This is similar to other modules that provide
    simple wrappers.
    Also fix texture coord pointer not having GL prefix
    to function call.

commit fa0546aa616e8f1327021a2af4923cf6305535bb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 18:01:20 2013 +1100

    Update README features

commit 992b40609063a288922c4107a34d3c41bf9fea9e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 17:58:03 2013 +1100

    Change cube renderer to use shaders / buffers.

    This now demonstrates how to render using PyGLy's
    TypedBuffer in GL Legacy using Shaders (#version 120).

commit 62473302ce865d180b4c0ccb7ef74a59a8cc87d2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 17:53:38 2013 +1100

    Move vertex attribute functions to buffer.

    The VAO only remembers this information, but it is
    actually a property of the buffer.
    In GL Legacy, these functions exist even though there
    are no VAOs.
    Add enable / disable for vertex/color/normal/etc.

commit 5b1dac97472b031754d04fed53afbc50a28f0fd2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 17:51:26 2013 +1100

    Add comments regarding the Uniform type dicts.

commit 22f58c0143594d55067f805ba997570b51ca01f0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 17:47:48 2013 +1100

    Ensure correct value count is passed to Uniforms.

    When setting a uniform, we now check the number
    of values against the expected number.
    Add access to uniform dtype and data_size.

commit 14d396453c7f49d772d87a03e4734b261aead917
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 4 17:32:00 2013 +1100

    Fix shader error handling under PyOpenGL.

    Existing Pyglet handling code remains.
    PyOpenGL throws an exception (and continues to
    do so if any other functions are called).
    We can get the information from the exception
    instead of querying the glGetShaderInfoLog function.
    Throw an exception (OpenGL.error.GLError) instead of
    returning a Boolean.

commit 0db9da4f1c8cc05098d18a98e14ca805f3cc125a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 15:02:09 2013 +1100

    Remove input as a feature.

    PyGLy is only rendering oriented. Input was moved
    to Razorback.

commit 259329661537eaa6295d66ca0a400044494fda82
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 15:01:35 2013 +1100

    Add VAO / VBO to README feature set.

commit 75086a582bdd8dd8e3714bc85b2e3e90e7256245
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 15:00:25 2013 +1100

    Add comment regarding core / legacy applicability.

commit 4603783c1a6110f86a45c3f350877bbb627cb880
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:57:40 2013 +1100

    Correct buffer checking to use appropriate enum.

    Array buffer, texture buffer and element array use
    different enums. We need to check using the
    appropriate one.

commit 894d4e350606353d024e57e2da27e109ccb238e9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:49:42 2013 +1100

    Add assertion to bind.

commit f0f97972b7c1dc38babc854898be14f0d6f8e47b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:49:18 2013 +1100

    Add assertions to check buffer is bound.

commit 1b26a87b20112d9a6a244a24415c3b569eff2ed3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:45:39 2013 +1100

    Add function to get currently bound buffer handle.

commit 551419344868a56de2c38b2eb2bb471d48933b07
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:39:13 2013 +1100

    Add existing handle to Buffer constructor.

    Also add comment to Buffer constructor.

commit d7e5db31913155d57612b92ef4b553eaff3e9bdf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:37:10 2013 +1100

    Add comments to new legacy functions.

commit 58d4a7cdf16ee385152159c47e90b4e75c7b52fd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:34:37 2013 +1100

    Trivial syntax change.

commit c25dff79ac9924ec83d52b84398b105e6847e803
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:34:14 2013 +1100

    Add comment for Buffer class.

commit 2fa07b6f81901ec562d4701939d0b3fc4256cc84
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:32:10 2013 +1100

    Simplify offset calculation.

    The code is repeated a lot, just make it a
    1-liner.

commit 22fad31103e614026eddfab3acf7d7f556dc5149
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:30:56 2013 +1100

    Add texture coord and index pointer support.

commit a33e17fb22e5463d1182df036af16504c9c59123
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:27:07 2013 +1100

    Use the new TypedBuffer legacy support.

commit 8f21c33b0770db8894a70066bf5539500ed80f0a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 2 14:26:04 2013 +1100

    Add OpenGL Legacy functions for Buffers.

    BufferRegion now has functions for setting
    vertex, color and normal pointers using
    the same method Core VertexArrays use.
    Buffer now has wrappers around vertex,
    color and normal pointer operations.

commit af9449aa9eed2ac5b488e0ec5742b15588d5c003
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 1 19:04:17 2013 +1100

    Remove enum -> string in __str__.

    Until I find a better way to convert these,
    I'd rather not risk an exception if the values
    in the lookup dict aren't in the runnin GL version.

commit ec7029664cf25e052152db0af77cb3c1a1b55f89
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 1 18:54:16 2013 +1100

    Convert cube to use TypedBuffer.

commit 86f71f39bb55db5432cedfd3bf93a2984402f4d3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 1 18:53:51 2013 +1100

    Add TypedBuffer and BufferRegion.

    These provide numpy wrappers around common
    VAO / VBO functionality.

commit 8af4f304684b235dbaea7b640467ca324465a519
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 1 18:26:41 2013 +1100

    Add numpy_utils and move function from gl_utils

    Move numpy_to_gl_enum to numpy_utils.
    Add many functions for processing numpy dtypes.

commit 72940211ef2c97d3775b2dbe90badbd46af75d05
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Feb 28 18:27:17 2013 +1100

    Replace kwargs get code with dict.get().

    This lets us simply provide defaults.

commit 06683544ae2c364f0d8fbc3c97fd58be553a7b87
Merge: e92b5cd 1339ea0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 25 21:29:33 2013 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit e92b5cd3f5dd2f27b5de30d6cbab5e46938071a3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 25 21:26:54 2013 +1100

    Update Pyrr version

commit 1339ea0a95c994feb04a57d52dab331133d91f23
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Feb 21 16:49:08 2013 +1100

    Update examples to latest shader code.

    Add some variation in shader usage to demonstrate
    different methods.

commit 5a4f9abd5e2e7d10ca046fc93c9b3267e4475962
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Feb 21 16:47:03 2013 +1100

    Rework shader Uniforms and Attributes.

    Uniforms are now simplified.
    Setting Uniforms should be faster.
    More comments.
    More rad-ness.

commit dcd7a81a980e40fa974475e230fb63d197cd1744
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Feb 21 16:19:46 2013 +1100

    Add numpy_dtype_to_enum.

    Converts between 'int8' dtype values and GL enums
    such as GL_BYTE.

commit 0a71ee7d4f65479b68dd5d2350fb3a807592169d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 20 16:43:44 2013 +1100

    Add attribute functions and use these inside class

    Add attribute functions similar to existing uniform
    functions.
    Rename uniform(...) to uniform_for_name(...).
    Add uniform_for_index(...)
    Add attributes(...)
    Add attribute_for_name(...)
    Add attribute_for_index(...)
    Use these functions in our Uniforms and Attributes
    classes.

commit 7fd90c2db1481b42e49d40e41e5b0880e4910c49
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 20 15:04:23 2013 +1100

    Use Buffer and VertexArray in cube.py example.

commit d994f3bdcb7ea2a67b3a4042bb5fc79c51147a3e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 20 15:03:49 2013 +1100

    Add basic buffer and vertex array.

    Buffer wraps glGenBuffers and related calls.
    VertexArray wraps glGenVertexArray and related calls.

commit 0503140d21a910e8377f2d1d212c42df76851e65
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 18 20:36:43 2013 +1100

    Just use the uniform array functions.

    We don't need to bother with the non array
    versions. They both work the same way.

commit bf1d5ff9e5883073a6e27ab67d4f425c412ff305
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 18 20:30:04 2013 +1100

    Rework how appropriate uniform function is chosen.

    Use the actual OpenGL type we already have instead
    of trying to guess for the data shape.

commit 219a94c1c815f5a982db784ce5a282e27b30a586
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 18 20:13:46 2013 +1100

    Remove conversion to ctypes.

    PyOpenGL lets us just use numpy arrays.

commit 9d750615dfa23702af5f6bf11070993f272e0978
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Feb 18 18:21:15 2013 +1100

    Minor rework of uniform enumeration.

    Add uniforms(...). Enumerates uniforms.
    Add uniform(...). Returns a specific uniform.

commit d3afeb528640f12fe2abcc789d59560501a4c787
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:30:52 2013 +1100

    Update README to mention PyOpenGL dependency.

commit 598a1f98df566b2da76c2b777f7780c0f4201634
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:22:22 2013 +1100

    Move from Pyglet GL to PyOpenGL.

    This allows us to use numpy arrays natively
    and should be faster.

commit 38a0e7e51fb43c05694fb73f70f0f8f41c1e687f
Merge: 14733e3 b531550
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:20:27 2013 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit 14733e30f9692b41e6e9cab497a6699b0a564ced
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:18:14 2013 +1100

    Remove unused import.

commit fed13eb8b94b9aa9699d963c0997b59649dc35bf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:17:40 2013 +1100

    Remove unused import.

commit 7ff1212d3d7fea0ce5fea42797f2bfca75ce3e09
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Feb 16 20:17:12 2013 +1100

    Remove unused import

commit b531550b509d2a3e9bdc2f6865734f4505dbc7c6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Feb 8 20:06:55 2013 +1100

    Update examples to latest GL module location.

    Also fix some errors caused by missing imports.

commit ee6eee7ad7ebed6d26368de2f768e3bd304362ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Feb 8 20:06:40 2013 +1100

    Move GL functions out of module.

    It was pretty empty in there.

commit 28bbf53a788e2e049a3eb8dcbc8a3900e50e86a4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Feb 8 20:00:23 2013 +1100

    Update monkey patch in core examples.

commit 8f3ebf1f738a9898862fefe27f9434d5bad6dfeb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Feb 8 19:59:08 2013 +1100

    Move core profile monkey patch.

    Moved to central monkey patch file.

commit 1ea34742663a2d705fb21c1be56714e3dea82a27
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Feb 3 23:19:39 2013 +1100

    Remove code from when texture was in texture/__init__.py

commit e83653031d060c65be524e358fd0f7df9adb0206
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Feb 3 23:19:30 2013 +1100

    Add quaternion normalisation in world_transform.

commit c8d221368710b99347301bd795f729f8477b9da1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jan 31 12:23:34 2013 +1100

    Trivial formatting change.

commit 4bbbe4070ec898544a65d2333112463aac7f41ab
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jan 31 12:21:28 2013 +1100

    Simplify and correct camera's model_view matrix.

    Instead of manually constructing the matrix using
    rotation transpose and negative world translation,
    simply use the inverse of the world matrix.

commit 0b200453ab33657e6714329d2a53f89f054e4873
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 23:01:25 2013 +1100

    Remove debugging and rename common to opengl.

commit bd1adee2deed04d5cd2c68d03d4a3ebefa20b0d1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 22:59:33 2013 +1100

    Update docs

commit 204ae5d0d62ac50b7116f83bab67ea580c1450c7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 22:40:03 2013 +1100

    Add Transform Space page.

    This page describes the concepts behind co-ordinate spaces.

commit c6d470a84db7638697536a4dc824f0e04b893281
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 22:39:02 2013 +1100

    Make make_documentation script a bit safer.

    The set -e should mitigate some issues with rm -rf
    if previous commands file. I'd still like to remove
    the rm -rf if possible.

commit 86406f0cc2757791ef717df778aa59be02203462
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 19:38:00 2013 +1100

    Remove old aa_spherical test.

commit 0cb233c091de1d4d8dbb243eb584e33057c99016
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 19:34:32 2013 +1100

    Remove input module.

    This is being moved to Razorback. It doesn't belong
    in an OpenGL toolkit.

commit c43a841aaca59156191f2dbb34e9ce7505562a8e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 19:24:25 2013 +1100

    Add setup_render_parameters method to examples.

    This performs the task of the recently removed
    viewport.setup_viewport.
    Legacy examples add glShadeMode with GL_SMOOTH
    and enable GL_RESCALE_NORMALS.

commit a2100e294e4d652cde27a1a6ef3dd1d8b85b7596
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jan 21 19:23:50 2013 +1100

    Remove setup_viewport method and enter/exit.

    The viewport shouldn't dictate how the scene
    is rendered. It also simplies the OpenGL state
    management if this code is managed by the client
    application and not PyGLy.

commit 33b6feab262df1519fecdec4b54ffeae77918056
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:25:52 2013 +1100

    Remove uv_generators.

    These are now in razorback.

commit 8f5f3638676c6c6e025c65a64bb5b605b74cbc29
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:14:24 2013 +1100

    Update scene node test to test translation.

    An issue was found recently where applying a matrix
    to a vector wasn't applying the matrices translation.
    A test has been added to catch this.

commit 8bd42a70a0dcf545c7f47800bd3c8f225696d2bf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:14:17 2013 +1100

    Update examples to latest code.

commit f135f384a4f44dfd9460715cad871c00b92daa08
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:13:01 2013 +1100

    Refactor GL module and viewport / window.

    Move some functions out of window and into viewport.
    This is where they were really being used anyway.
    Add some get_X functions in viewport.
    Add some extra gl print functions.
    Add GL profile detection logic.
    Move utility classes out of the gl __init__ modules
    and into utility modules.

commit a74621b46e32bb7a841dd5274c5a7b75d757f5dc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:12:34 2013 +1100

    Improve some comments and remove temp variable.

commit 8831e7d5815854b6963aac0f9ed942596245934a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:11:42 2013 +1100

    Simplify the tree_node parent setter.

commit eca737c2fcec0f28e02b5168d64905fb8d9f21bb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 14:10:40 2013 +1100

    Trivial changes to sort.

    Return numpy.zeros( 0 ) for invalid sort.
    Although it's the same, it's just nicer in my opinion.
    Improve the comment.

commit f1e5e2142c2fc07cc89622abe2b8ce30a603a928
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 13:20:44 2013 +1100

    Update Pyrr version.

    Fixes some matrix / vector maths and adds
    some new methods.

commit 05fd314ef0db375c892006ea33a93b7210c82d16
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Jan 20 11:34:51 2013 +1100

    Fix removing a child from a node.

    Parent setter was always expecting new parent
    to not be None.

commit 35d75e722bc9e66c440258ec2f7055fcecfc8cd6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jan 9 21:00:30 2013 +1100

    Add half finished code.

commit 3056306d5c0dc3f3f50f4f414b2c18402adbab7a
Merge: b7920b1 9b5c086
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jan 9 20:58:30 2013 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit 9b5c086dc839dc6d5918403d832bd4da9d92c03b
Merge: 55b308a b2c6892
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jan 9 20:56:24 2013 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit 55b308a5fd67c38072e69781bfb2f13afbe366d6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jan 9 20:55:33 2013 +1100

    Move enum_to_string to shader.

    Enums have many duplicates so it's not really
    feasible to do a global enum_to_string.

commit b7920b1d4c8c7716f46131c2ed45bd0edd75175c
Merge: cfbd252 b2c6892
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jan 9 20:44:42 2013 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit b2c6892616f6e66ae24e36762eb47b0fccf206b1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jan 8 12:00:32 2013 +1100

    Update pyrr version

commit f6d927833a8e316ff141903257dc34e8005d00e3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Dec 16 23:17:19 2012 +1100

    Fix accidental commit of test code.

commit 7831867b111d49e09afff14767343c13803b5505
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Dec 16 23:16:29 2012 +1100

    Demonstrate some shader functions in examples.

    We just print out the uniform and attribute
    auto-detection.

commit 0efe4b83dcad7f5f70c0f8ffe79518d07b81f05a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Dec 16 23:10:03 2012 +1100

    Overhaul shader uniforms.

    Uniforms are now automatically created when the shader
    is linked successfully.
    Rename check_for_errors to errors. This makes it clearer
    what the return value means.
    'errors' returns False when there are no errors.
    Add InvalidUniform class. This can used when an invalid
    uniform is accessed.
    Add the ability to suppress exception raising when
    an invalid Uniform is accessed and instead create an
    InvalidUniform object.
    Add methods to retrieve the list of gl uniforms and
    attributes.
    Move GL_UNSIGNED_INT_ATOMIC_COUNTER type to
    UniformUint.
    Make uniform.type return a string. uniform.gl_type
    is now the original gl enum value.
    Attributes now return None instead of -1 for invalid
    attributes.

commit 82d7aa5bf48336fa037434e068508814caf8bb6d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Dec 16 23:09:45 2012 +1100

    Add type_to_string and enum_to_string.

    These convert gl types and enums to printable strings.

commit 0548fad8579197d2bc38f827d62403c864035ebf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Dec 4 21:20:35 2012 +1100

    Update examples to latest shader code.

commit 336ca6ac8af60de73701b40964f2cc1135cb4591
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Dec 4 21:18:36 2012 +1100

    Major rework of shader.

    Add linked and bound properties. These check that
    the shader has linked or is bound.
    Add Attributes class. This allows dynamic setting of
    shader attribute variables.
    Add Uniforms and Uniform classes. These allow dynamic
    setting of shader uniform variables.
    Uniform classes dynamically detect and create the
    appropriate uniform object for the detected type.
    Uniform objects perform validation of shader state
    and variables passed in.
    New uniform classes allow us to pass arrays of uniforms.
    Previously we could only send 1 set of values.

commit bba5b4f6d49409202cd9f09fcfea429c8b261f50
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Dec 4 21:18:10 2012 +1100

    Fix import error in sorter.

    Only showed up in 3rd party modules due to PYTHONPATH.

commit c1c8e0fcf41e8574de3cabc067d80b8943e2c19e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Nov 29 16:23:42 2012 +1100

    Trivial syntax changes.

commit cfbd2523bd0fb66587c8e73a831ca65e464cf363
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 13:10:59 2012 +1100

    Remove long_description.

    If this isn't set, it will use README.md which is preferable.

commit f23bee483588d65be10ded59520ccfc5694dec2f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 13:09:52 2012 +1100

    Update pygly version prior to release.

commit c9de1d793191b8409efd1f443fd63fdfb502bc62
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 13:09:16 2012 +1100

    Update setup.py to include gl modules.

commit 909aad620b1e210de36610455cdc988bc43c971b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 13:06:33 2012 +1100

    Update to latest pyrr calls.

commit 505500a91292f94542836be9776541c68e8c7f22
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 13:05:09 2012 +1100

    Update Pyrr version.

commit 642b60efd56ac91aa7fa9fa7cc897af35fbc0586
Merge: ad38518 a4b2ce2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 12:40:11 2012 +1100

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit ad38518979875ca4d3d0f71772ae7918c6bb8b7c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 12:39:27 2012 +1100

    Update pyrr calls to latest version.

commit a4b2ce2feea38165b1c585b8739f0ba0d8d284b4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 12:38:55 2012 +1100

    Update Pyrr version

commit 8210a41ff534d0b727ea76149366ab0bc90d7505
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 11:54:40 2012 +1100

    Fix comment.

commit 2254d6603eb510ef2d0d5b7150cfe55b8b96caa9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 11:53:00 2012 +1100

    Update Pyrr version.

commit ae793e6cd8eacbef7afde0891345c2a042e2640f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 11:52:11 2012 +1100

    Convert to numpy array before rotation.

commit dad6010e179d03e6288232b096309d411fd0b014
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 25 11:30:44 2012 +1100

    Update Pyrr calls.

    apply_to_vector arguments are now matrix, vector.
    Previously this was vector, matrix.
    Replace manually defined vectors with
    vector3.unit.x/y/z.

commit 15d007830705f61822e3d01b50efc8a11dbe0800
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Nov 24 15:25:05 2012 +1100

    Update PyGLy to latest Pyrr code.

commit f8fccde44b04cb5cd91b54c33d9f29ab85c950d5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Nov 24 15:24:14 2012 +1100

    Update Pyrr version.

commit c687e7fdd84b10367d4c31efeb9577f2eef5b3df
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Nov 16 18:50:34 2012 +1100

    Update Pyrr version.

commit 7b82070055ad2ef46e7312dd3ac5db52ca3f7510
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Nov 16 18:32:59 2012 +1100

    Fix ray creation ignoring rotated vector.

    The rotated vector was assumed to be done in place.
    This is not correct, and therefore the vector was
    not being rotated.

commit 2604cb898356243bd6e66b915037c79920f7dfd7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Nov 16 18:30:23 2012 +1100

    Update Pyrr version

commit be33c0d9f872408ce2d4552810438be3d68e173b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Nov 4 17:15:46 2012 +1100

    Use raw strings for regexp.

commit bfc5c4eaadeb15183218fba5a148a5817e52abfb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 30 18:10:44 2012 +1100

    Update README

commit 94dda97623725cab50f06ac780c707627dbb02b5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 30 17:52:07 2012 +1100

    Fix a few errors in shader code.

    Fix error parsing. Groups(0) is the entire match.
    So we need to +1 our group indices.
    Add more comments.
    Remove invalid copyright notice that remained from using
    the original shader file.
    Add classmethod to wrap an existing Shader handle.
    Provide better __del__ support to avoid module import
    exceptions during tear-down.
    Wrap handle members in getter / setters to ensure that
    old handles are freed inside OpenGL.

commit 88efaca37ade32c235c9336177354c30f70514c9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 30 17:08:48 2012 +1100

    Update to latest shader code.

commit 290f8787facabbb0fb945e01a981f9f17ed55a91
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 30 17:06:38 2012 +1100

    Rewrite shader to support more advanced features.

    The Shader class is now ShaderProgram.
    The Shader class now represents a single shader part.
    Ie, vertex shader, fragment shader. These are combined
    into a ShaderProgram.
    Multiple Shaders of the same type can be attached to a
    single shader program.
    The seperation of Shader and ShaderPrograms also means
    we can store collections of pre-compiled Shaders which
    are attached to programs and linked. This should improve
    performance.

commit 05235efa21e420a5ccb38cbcc20d7ff1c259f650
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 17:43:09 2012 +1100

    Make image_func and sub_image_func hidden members.

    Prefix with _.

commit b53772e8c20456829f0f1af3ea13040f4b73075d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 17:21:22 2012 +1100

    Move extract_tuple to utils.py from texture.py

commit 91fc29610aaf5f5f3184f4ba8ace04e42132af1d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 17:18:43 2012 +1100

    Remove invalid comment.

    Comment stated texture format could use string
    representations of the GL value.
    Ie, 'GL_FLOAT/GL_RGBA/GL_RGBA'.
    This is invalid and has been removed from the
    comment.

commit 79f0a169973d6cf9166b6ab3210dffaaf43a8ea3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:56:10 2012 +1100

    Seperate target from texture.

    Not sure why I originally joined these.
    Perhaps for when not using a class, but then that's the
    user's issue.

commit 57bf226f56f3815df1e4c6e6e456051d5e8ecc97
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:35:11 2012 +1100

    Update to latest texture code changes.

commit c909afcb92d0778bf6f60d2c0a2d116e7d8732c2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:34:21 2012 +1100

    Reshuffle texture module.

    Move texture/__init__.py into pygly root as
    texture.py.
    Move texture/pil.py into pygly root as
    pil_texture.py

commit ab0951bb4a3fa714edc9e1cfef0e64f2b5fe3e2c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:32:07 2012 +1100

    Change PIL_Texture2D into a method.

    No point removing normal data method if we can just
    support PIL loading with an external method.
    This means PIL or standard data can be set on any texture.

commit 3a05291c3b4407878a7568e7b6920e1aff91ce80
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:25:51 2012 +1100

    Update PIL_Texture2D method call.

commit d1afb3087e54cc3bebc1e11bb77d7d07368b513b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Oct 25 16:25:04 2012 +1100

    Change method name to prevent method hiding.

    Change PIL_Texture2D set_image to set_pil_image
    so the existing function remains.

commit bf423646207abffae08136d739d98253d0e63d1a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Oct 3 08:24:49 2012 +1000

    Remove print statement

commit 326a51208cc9ac9c8e5350332164185b1998c037
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Oct 3 08:21:22 2012 +1000

    Print each texture's info on a newline

commit 06676a95aa2549e1d9567f643c8f38754cdb23fc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Oct 3 08:20:23 2012 +1000

    Create the __all__ variable for texture module

commit 1a047d800512c468a270316d30e19368260f5ee2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Oct 3 08:18:44 2012 +1000

    Fix directory to use os.join.

    This avoids the path beginning with /
    when run from the directory the example is in.

commit 97e92a0e3dd7b670433c0a3b13f4595f16fa55ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Oct 3 08:02:45 2012 +1000

    Rewrite texture module and convert to a module.

    Moved from texture.py to texture/__init__.py.
    Code is MUCH better.
    Split PIL into it's own code in texture/pil.py.
    Texture uses format strings, much like pyglet's
    vertex list's.

commit 335c11f87d444424d3dfc2a2a224531cf243cabb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 19:10:07 2012 +1000

    Remove update

    wrong repository! derp

commit bad96e1a08bf994009c848831c97eb6827f1069c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 18:03:01 2012 +1000

    Add update script to simplify repo update process

commit 2631ec54925f1519ec486b847e058079d2dd4a04
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:56:40 2012 +1000

    Change reference from examples to pygly/examples

commit 97cb98fb230c1632c27c64b968ce00826875ba69
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:46:22 2012 +1000

    Add comment about checking PyGLy is working.

commit 6a9aa3949d19352d975261820fef99dc7d74e779
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:44:48 2012 +1000

    Move examples under pygly directory.

    This is to prevent clashing with other project's
    examples directory.
    This is causing issues with razorback on non
    OS-X systems. Go figure.

commit 9b5c2fc2f3e70b39455dd5924468ba6105a53082
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:40:47 2012 +1000

    Make __init__ set __all__ rather than import

commit 28a2b3af81f0f6b5945562987823fad16053bb98
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:33:47 2012 +1000

    Replace schedule_interval with schedule.

commit 580e5c202773ac7c3030a0853dc71c337d1a05d7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 17:29:15 2012 +1000

    Use schedule instead of schedule_interval

commit e7d0c4f3706df220c6c67a5ee13df8363e7bf28e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 16:14:17 2012 +1000

    Add missing comma causing syntax errors.

commit 86ac077e12f60e75f5d24df720cf8e61586aa105
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 06:05:45 2012 +1000

    Update sorting examples to use transparency

commit 2fb092621f2d34d42d878354ec8c6e00e5c6513a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 05:30:21 2012 +1000

    Remove duplicate GL call

commit 87ede6190fb3ef987a707f9dd1dfd16a49617c4e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Oct 2 05:20:49 2012 +1000

    Remove TODO

commit ca6f430c1005aaa9619f4fd449d03a8b50437f17
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 18:07:46 2012 +1000

    Update to latest code.

commit 6f86c5fcd1d11d90f89165a52cd2b3c769c5c7a9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 18:06:58 2012 +1000

    Simplify texture loading.

    Compress numpy texture loading into a
    single function which receives the gl function
    to call.
    Add some functions to texture for min/mag filter
    and swizzling.

commit 4585d99c71ab1b62af7f207eec25e13b180863d5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 16:51:41 2012 +1000

    Fix usage of GL_RED32F, should be GL_R32F.

    Same for GL_R16F

commit 0c95d030a921384d4a01859ab3c038d5ae7f76a3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 16:50:04 2012 +1000

    Fix unit still be present in Texture

commit f27d2368b961ac26923c3bb14316ecb504f104de
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 16:36:32 2012 +1000

    Remove texture unit from texture.

    Just do this manually. It simplifies
    code that re-uses textures for multiple units.

commit b1652370fcf3efe4fceebd0d7072c6375d09a7f0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 16:32:05 2012 +1000

    Add set_raw_texture_1d.

    Remove some whitespace too.

commit fadfa240990f39864cea601fe2a369521e0e8f52
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 16:30:03 2012 +1000

    Simplify and correct the numpy texture comment.

commit ee44ca6835ffd9431e1ac6e35b2fea40a349a720
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 15:38:46 2012 +1000

    Update texture example to latest code.

commit dbb59f2e3a315b41cf1b6fa68aaab0a33ec9374f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 15:37:36 2012 +1000

    Simplify texture loading.

    Don't use classes, just use functions.
    This removes the need for passing texture
    parameters in.
    It should also speed things up slightly as
    we won't need to instanciate a class.

commit da46715f230f1c528ff02d6e5306029809c79a13
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:49:03 2012 +1000

    Replace PIL dependency with Pillow

commit aa2ee652e6eef863a6c422efbe503ce9fe708870
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:41:46 2012 +1000

    Print image data on a single line.

commit b0dfeaf35f4ec472744cd50b9aa915678be35c98
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:40:56 2012 +1000

    Update the RawImage comments regarding array shape.

commit c9665df9ae5c8749d94b286292f66c399c51d3da
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:37:47 2012 +1000

    Modify numpy array size to match expectations.

    When the format is not specified, we use the last
    dimension of the array shape to determine the number
    of channels.
    The example should show this.

commit 71d456da296144124317f3901a9f4ff1ba915b1a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:32:48 2012 +1000

    Rename PIL_Texture and ArrayTexture.

    The name Texture implies it is already a texture.
    These are now PIL_Image and RawImage.
    RawImage is used for raw data, such as numpy arrays.

commit 982c60314fd240504c4d6a9742efc32847f36bdd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:30:23 2012 +1000

    This example was moved to examples/legacy

commit 1949b7c4803b0d476a379d8f9301f5fc7575644e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:30:06 2012 +1000

    Add missing quad class.

commit efc149cced8e70eda77b09c7ec193abde429cc38
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:29:49 2012 +1000

    Update texture example to latest texture code.

commit 9d1ae3c234c13190db6dbf73b917c9ef1eb898a0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:29:40 2012 +1000

    Add example textures.

commit eaeb434a69c2871a0287f70f13a3c796b9dd6756
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:27:54 2012 +1000

    Major rework of texture classes.

    PIL loading now works for all tested types
    (P, L, LA, RGB, RGBA).
    Texture is now a basic bind/unbind class.
    PIL_Texture and ArrayTexture are used for
    data loading and are able to convert data
    to the specified format.
    TIFF group 4 is still unsupported, this is a
    PIL / Pillow issue.

commit fd9f2cd110695fff81cbee308d8fdb4c4c72f3ab
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Oct 1 01:27:35 2012 +1000

    Update comment in orthogonal_view_matrix.

    Specifies that a parameter is a 2d array.

commit 1e2e3f551ff7d0bca7d92e247635ae0612633c0e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Sep 27 17:49:36 2012 +1000

    Add texturing example.

    Currently only loads numpy data.
    Will load PIL data when texture implements it.

commit fb6c2bc578e6b1a8878491154d85e07be8c8602f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Sep 27 17:49:11 2012 +1000

    Add initial texture class.

    Contains a lot of commented out code.
    Currently loading data from numpy works.

commit e75f59f1db128bfe5f4dab2d413569d64ae77ba6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 14:01:31 2012 +1000

    Update Cocos2D example.

    Use a cleaner example, hello_world.py.
    Currently runs but doesn't render anything on
    my cocos2d install. But neither do their examples
    so assuming something is broken in cocos2d or its
    usage of the new pyglet.

commit 92abd560ebdb330ef5823b668654d9d901d862c1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 13:59:50 2012 +1000

    Update cocos2d layer.

    Remove viewport. It isn't used. Provide your own.
    Rename Layer to PyGLyLayer.
    Fix super calls using CocosLayer as the class name.
    Pass *args and **kwargs from draw method on to
    render_callback function.

commit c03612d57cbcffe6a7c0613a82261f04fe4fd239
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 12:52:37 2012 +1000

    Update cocos2d layer to latest code.

commit 5a3cb8339700b4619849e9ad45f866d4a6865c90
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 02:16:59 2012 +1000

    Remove attic sorting example.

commit 914d80e462186fed0aec4c3b4786571d81c98545
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 02:16:38 2012 +1000

    Add sorting examples for core and legacy.

commit 75f7011a32700675a523ce813d366aa4359bdea6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 02:15:54 2012 +1000

    Pass the camera into render_scene_graph.

    This is to make the sorting example easier.

commit b8668c943f92428e82497022df3d695cea70a0cb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 01:46:13 2012 +1000

    Fix incorrect comment

commit b99fb08b35df1dbbfffe54ebf79e38104556d610
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 01:19:08 2012 +1000

    Pass the camera down to the render functions.

    This makes the sorting example easier.

commit d6b176e7d4e0d772ee3e55bf22f6560961274004
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Sep 24 01:18:07 2012 +1000

    Move cocos2d into attic

commit f9da0633729f885e3bb4d017a998b776dce6567b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Sep 23 23:51:45 2012 +1000

    Migrate orthographic example to latest code.

commit 8b196841a6a7031e477a9c08a6ede1cb863654ee
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 19:27:39 2012 +1000

    Move unported examples into the attic

commit 06d0bc19e5e8d91102ddd908e2383beb7dc74c2d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 19:27:02 2012 +1000

    Port multiple viewport code to core profile.

    Only changes are class inheritance.

commit 6eca968cb0dee6c6e16842171df1492302abf4f9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 19:04:14 2012 +1000

    Remove data.

    These are for components that have been moved
    into Razorback.

commit 468a6ae04384c310c27caf43aa6e194e95fd5941
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:54:26 2012 +1000

    Update multiple viewports.

    Uses the 'simple' example as a base.

commit 002b92054d177bab07e3674ca85fef8fe62575f7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:54:03 2012 +1000

    Enable simple example to be used as a module

commit 721ba7173fb02e7152c72dc75a87a508089de572
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:51:50 2012 +1000

    Remove duplicate gl state.

    This is already set in the core app.

commit e86de411811184952f643f254aa90382630c4380
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:51:16 2012 +1000

    Add array each viewports clear colour

commit e2479fcb88f32061eb621fc82291eb2bc19471b3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:43:48 2012 +1000

    Fix ratio viewport always being at 0,0

commit 8b00919c0d14aa0801fce96bd5f246fbc4cb1898
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:37:46 2012 +1000

    Use astype instead of view with type.

commit d81befaff4d167caec5bd26e14ead81e10da297b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:30:26 2012 +1000

    Enable use of viewport like an array.

    This allows us to mix viewport arrays and
    viewport objects.

commit 36280e4417ffc1e53032e8ac2908a4b2e7031d4f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 18:13:51 2012 +1000

    Add a core and legacy application.

    These are just handling FPS display.
    Legacy displays the FPS on the screen.
    Core prints to console due to pyglet's labels
    using OpenGL legacy functions.

commit afd51090f1dd6c8b908dbcd45627dd52ee47b485
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 17:40:55 2012 +1000

    Make simple examples use common application.

commit a881748b0923606715d2de2a52f8389cadc55d2e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Sep 22 17:40:46 2012 +1000

    Create a new base application template.

commit f395399d88a8ef6c2850a29f210ba832b022b40b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 13:32:05 2012 +1000

    Add an FPS counter to core examples.

    We can't use pyglet's text labels, so just print
    to the console.

commit 5d20ee76eb0106332a47273bf572c6f45b6bfa23
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 12:33:26 2012 +1000

    Remove scene_graph example.

    The 'simple' example does this now.

commit 1fdd1401e7f8977066201951301f917272fd3f18
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:49:00 2012 +1000

    Convert cube from quads to triangles.

    GL_QUADS is no longer supported.

commit de4e198c0b4b15563be90b7f7faba96d482eda9d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:41:44 2012 +1000

    Minor syntax changes to core/cube.py

commit 4cd77583654e5b34e16614522c291f2d9a3b542d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:40:54 2012 +1000

    Fix matrices being multiplied in the wrong order

commit bdd5020554923a2c9ac24727fb82bbe2e0313334
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:39:25 2012 +1000

    Fix object model view being ignored.

commit 039b305ac0c87d4db7bcc666bcd322c08b3dc87f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:32:08 2012 +1000

    Cleanup shader and add matrix2 and matrix3 support

commit 12456d1a12b9a1c65fde62b57e503fd592e329c5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:25:51 2012 +1000

    Remove default shaders.

    This is a faux pas, there aren't really any
    default shaders anymore.

commit ba3f6b6c7ac963be6bc43ce6ad0d30442653b109
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:22:12 2012 +1000

    Add missing __init__.py in legacy examples.

commit f0543a38e25176373c3086f2147badcbf8b5e0dc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:21:54 2012 +1000

    Move cocos2d into legacy

commit 8a998e42c23e3f490c9fa79e6780a57c028c51aa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:21:03 2012 +1000

    Update pyglet, only change is adding .gitignore

commit 239bfa44a53fe37da196c1e268a5a37ed78886fb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:17:34 2012 +1000

    Add customised pyglet.

    This is required for OS-X support of OpenGL Core.

commit 93b9a163cb42d30b571dfeb32b6ab25457b9f3e7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:15:34 2012 +1000

    Add simple core example.

    Currently not rendering correctly.

commit ed3574d126055d5960e537b1ad63b50e32d872fd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:14:41 2012 +1000

    Move cube from examples root into legacy.

    The core will will have to be different because
    pyglet's vertex_list's are not core clean.

commit 54dd7dfeec3f26b2f3df9d01baddaf3061559eab
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:13:19 2012 +1000

    Move core and legacy into a module.

    I'm anticipating having to have multiple
    versions of various modules.

commit 4f58895f2495e78f36794a5b6fff6a331c7ceef8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Sep 21 02:09:34 2012 +1000

    Fix typo, add attribute and frag location.

    Simplify some logic by splitting operations.
    Add glBindAttribLocation.
    Add glBindFragDataLocation.

commit 1edaf4f3b4c824d62a8cdd4072f3c15ab2afc6f4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Sep 20 22:55:03 2012 +1000

    Add missing returns to is_core and is_legacy

commit d98c1f4f1757648a0220b4da4ce8272642f6f3dc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 22:07:44 2012 +1000

    Make cube example require initialisation.

    This is to avoid shadow window issues with
    OpenGL Core profile on OS-X.

commit 98ec81307a99fa829e4f66c4f2f98026e73e9a29
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 22:02:23 2012 +1000

    Update due to attributes being moved to legacy

commit 7861b000fc4749ae7179bdabe46e2ff74397f853
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 22:01:49 2012 +1000

    Move attributes to legacy, it is deprecated.

commit 226fb3ce418f5b9b1d358fadf3baca07a6235b46
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 18:52:37 2012 +1000

    Add OpenGL core window creation example.

commit e483d28c435098775f388b8f3f69544382908577
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 18:52:12 2012 +1000

    Add OpenGL 3 monkey patching of pyglet.

commit a9c3c7ad4a3f031431a76b0c2c9d534f352b1c1f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:34:03 2012 +1000

    Add pyglet submodule to PYTHONPATH

commit 78dd94a5985e0c4be2b9b3603256e99fa1e14739
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:33:54 2012 +1000

    Update feature list

commit 9a663f718a3f92a95522788f322df41f19876927
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:24:44 2012 +1000

    Remove unused import.

    Update comments to specify format.

commit 79fc7c5bfbdf9f431a710d97120f5bc68acea067
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:14:26 2012 +1000

    Fix import of pyglet being gl instead of root

commit e637a7580c5f07071d6fd1e1b7840ca9c7fc449a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:06:03 2012 +1000

    Add gl info print outs

commit a68d7d88e63a999b4310e8ff4b10c7f6edd8c788
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 16:01:38 2012 +1000

    Add functions to get GL and GLSL versions.

commit a4e5a449cc881310aa8588a258b7ace67a1e099c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 15:31:23 2012 +1000

    Create legacy examples and move some into it.

commit 60e81a67e500751ad30b611065ccef83fbbfe28f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 15:27:16 2012 +1000

    Update create window to latest code

commit bbae36d4755246a7baeddaf6ab2e9fc2476735bd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 15:26:45 2012 +1000

    Add multiply_matrix to gl/legacy

commit 71e4ce9a801aa9f518fe11b041eb1fd7f4894c39
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Sep 19 15:25:54 2012 +1000

    Update low_level example to latest code.

    Added a cube renderer for example code.

commit fdfaa83e234cd74a1596855054406691a6013b93
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 20:09:40 2012 +1000

    Fix depth and breadth first searching.

commit a3d66b5d0dc436430a16104311525e4b2be244f7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 19:07:29 2012 +1000

    Remove cython as a requirement, it isn't used yet.

commit fd85078e2139f63d83877a61068bcaf3178cc685
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:48:25 2012 +1000

    Add 'finally' and fix matrix_mode.

    Add finally to contextmanager functions to
    ensure the glPopX occurs.
    Fix matrix_mode not pushing the correct attribute
    bit which would trigger errors when popping.

commit 3cb1bd4006cd2ff5bc0764a31ffd3b87dfda9a04
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:47:38 2012 +1000

    Add 'finally' and rename arguement.

    Add finally to contextmanager functions to
    ensure the glPopX occurs.
    Prevent any comflict with function name
    and arguments that were previously the same.

commit 1cad2d821f3ef2a2948463c810d71d2d178d57db
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:46:56 2012 +1000

    Remove requirement for viewport to be numpy array

commit e795ceb7b86ae3d26b58bc37e9cc9dd2c7cddd11
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:20:54 2012 +1000

    Remove unused import.

commit d224065cc32a738ef7435bc1ebe7464b010bc416
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:20:18 2012 +1000

    Remove unused import

commit c5c367ad7af3feac768fefab8e1edcc5a8075ae8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:10:05 2012 +1000

    Remove push / pop_viewport_attributes.

    Just call glPushAttrib, glPopAttrib or
    'with viewport:' yourself.

commit 1aedde31d13c38729aef87e0dc823a8c4d9696a4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 18:09:03 2012 +1000

    Simplify viewport enter / exit methods.

    Now uses glPush / PopAttrib for viewport and
    scissoring instead of resetting to window.

commit 2cc2264de450f0438eeae6bd4dbe9274fce3453a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:36:27 2012 +1000

    Update comment and remove unused imports.

commit 21500fd3def6f34744e5b0694b3d2e1af3484e96
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:17:05 2012 +1000

    Fix error in load_matrix.

    Remove parameter accidently being passed in
    glPushMatrix.
    Add missing numpy import.

commit 63823e7c9a22fc1252dd96ff6508b9036e974aff
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:14:58 2012 +1000

    Move attributes from legacy to init.

    It is still present in core.

commit 79e33e2649fc483903321309cd64432f91d9342a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:10:00 2012 +1000

    Remove mesh_md2 and mesh_obj.

    These will be moved to Razorback.

commit 5ebb38b83cd847295afad56bc09a6be7756162dd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:09:16 2012 +1000

    Remove fps_camera and six_dof_camera examples.

    These will be moved to Razorback.

commit 6e6e2f45e45f0a5d64275f866df390379050151e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:08:09 2012 +1000

    Remove debux_* imports.

commit 70e0a9735c363f35f12fb54d25da8ca947153b4c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:06:42 2012 +1000

    Split gl functionality into common and legacy.

    gl.py is now gl/__init__.py.
    Any legacy functions (matrix loading, etc) is
    now in gl/legacy.py.

commit 231fecd27d60bafac5210085876d72045dd06801
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:05:49 2012 +1000

    Remove mesh loaders / renderers.

    These belong in PyMesh and Razorback respectively.

commit 555d3eb0d211fffd59270cc83083a93f63cfdec3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:03:58 2012 +1000

    Remove push / pop functionality.

    This doesn't work in OpenGL core profile.
    Just take the matrix and load it yourself.

commit 0012feaf1a20918b57441f499252e0a5309831de
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:03:52 2012 +1000

    Remove unused import.

commit e6fea6471bdbc92b22ba3a627f64ffde33e45314
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:02:52 2012 +1000

    Remove debug_axis and debug_cube.

    These will be moved to razorback.
    It's too hard to render safely with both
    legacy and core OpenGL profiles.

commit 5c405548e5a7b459aff03abd487aeb8332d91082
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:02:22 2012 +1000

    Remove fps_controller and six_dof_controller.

    These will be added to Razorback.

commit 1866bda3f417b3f360f93bf90696d926909b2b6e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:00:56 2012 +1000

    Rename render_mesh and extend callbacks.

    Remove render() code and replace it with the
    empty render_mesh() function (now called render).
    Render callbacks now receive the first argument
    as the RenderNode.
    Render callbacks now receive the **kwargs from the
    render call.

commit 8095db69dc0fd79f042870c6d81316c1a9a0998d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 17:00:44 2012 +1000

    Remove render_debug.

commit a371787479a81751aab68058a5eb42642b04a316
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Sep 18 16:53:37 2012 +1000

    Remove OS-X dependencies.

    Pyglet has removed its PyObjC dependencies.

commit ae341ec935cd3515b3efe0130be6f99195a6b776
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Sep 9 19:16:30 2012 +1000

    Add matrix_mode and matrix functions.

    These provide @contextmanager wrappers for
    glPushMatrix, glPopMatrix and glMatrixMode.

commit f46e7803c9ef72265e62e017e6fad6259125b59d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Sep 9 16:20:14 2012 +1000

    Add attributes and begin to GL.

    These provide a context manager for managing
    glPushAttrib, glPopAttrib, glBegin and glEnd.

commit 139b6d137472f4fea6abdbd90584f40920f72fb1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Sep 6 11:52:10 2012 +1000

    Remove vsync and render at full speed.

    Set vsync = False on window creation.
    Over-ride the update delta to be -1 (always call).

commit bb7d491b0afa141f597f6d1c73a9fd27aa412e70
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 18:42:02 2012 +1000

    Attempt to get logo in again.

commit 8486db601116782fa63e1dba232bbfa9092454fd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 18:40:56 2012 +1000

    Add pygly logo to README.md

commit cd2d00517146dc8d9e521072e902e5cf187e4529
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 18:39:31 2012 +1000

    Add logo to repository.

commit 9c3f2465fc5b1ea70ac243201f92c2903ddb098e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:29:23 2012 +1000

    Add more details source instructions.

commit 5376acba525711037549fa9a527357520f3433f1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:26:29 2012 +1000

    Add note about installing pygly via pip

commit 484c90d489705529e7c939ce9d695c053219b838
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:18:55 2012 +1000

    Remove windows binary creation in upload script

commit 80a9423fdc8cc20935429531ada806b9e8daac74
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:09:36 2012 +1000

    Update .gitignore file.

commit 258efb124aa5558165661584a1f6820acd4632bb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:07:21 2012 +1000

    Add upload_package script.

commit 694a401aa6730dcb5de060fbca32682e7b5fea2c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 17:06:55 2012 +1000

    Fix version import in setup.py

commit e0d7ad3e21b1ae9b7b550bccd75462d521ee03b6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 16:42:00 2012 +1000

    Fix setup.py trying to use pyglet

commit abcfea994997ce6b6051300679349f0aaea1c6a4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 15:52:31 2012 +1000

    Rename PyGLy to pygly in setup.py, add requires.

commit 69da034468c3d055745d5a086bb2a6b75a07676a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 14:58:48 2012 +1000

    Update setup.py and version.

    About to submit to PyPi using this version.

commit d3ea80d6419a45661844e11479d1c3213c1abec9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 16 14:01:18 2012 +1000

    Fix twistedpair link.

commit 71cac5bc88701a232d4d3d47aa2b61aa68e9a8c5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Aug 15 17:38:08 2012 +1000

    Add development dependencies.

commit 7f214963ea41dff83a7be33e4c15f409a240837d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Aug 15 17:37:09 2012 +1000

    Add "Development" section to README.md

commit becc84c7332d505a5bb9dc03583f50f382e479ed
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Aug 15 17:36:09 2012 +1000

    Add twisted pair logo to README.md

commit 9827792713eb5ef3fb670d6c984d2c0387e7cefa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Aug 10 13:29:58 2012 +1000

    Fix __exit__ signature.

    Add spacing to __enter__ / __exit__ parameters

commit 8396c3d9f2131e2ddb7c5823bd941badcd0577f2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Aug 10 13:04:57 2012 +1000

    Fix __enter__ and __exit__ method signatures.

commit 5124ddd48508ac162f71d77d35eaf72d347dcbf4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Aug 2 03:38:14 2012 +1000

    Add _enter and _exit methods to support 'with'

    This lets you apply view matrix, camera model view
    and viewport operations by using the 'with'
    keyword.
    Ie:
    with viewport:
    	render_scene()

commit f9c28cd67c7a480062c309d1149b8321c18c0c3f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jul 31 15:31:27 2012 +1000

    Replace parameter = [] with = None

    I'm paranoid about non primitives in parameter
    lists due to Python's function evaluation.
    I'd sleep better at night with None's in there.

commit d610f9bdb835ec9193fad9c61faa132b8ef03893
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jul 31 15:18:36 2012 +1000

    Add shader wrapper with some minor changes.

    Shader wrapper is from the following URL:
    http://swiftcoder.wordpress.com/2008/12/19/simple-glsl-wrapper-for-pyglet/

commit a50fc7f98ddc128ae564e230f1895cf769fa5be8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 30 15:08:47 2012 +1000

    Add template project to examples.

    This provides an easy to modify template for
    simple PyGLy apps.
    It is not recommended to use this for serious
    applications, it is just for rapid prototyping.

commit 978bebe86095026eaf8f9687c77b408fa0c5982a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jul 26 17:58:49 2012 +1000

    Make pyglet always checkout from the repository

commit af27e09b6340f0a4f7a5c41861fa90e3f1fd7786
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jul 11 10:37:59 2012 +1000

    Add notes on initialising Pyrr

commit d3d024cbbe99a4462112e7b95fdd6ebbf0966cbf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jul 11 10:36:50 2012 +1000

    Update requirements.txt dependency installation.

commit b0cdef0eb076233b38b0a0014332a74fa1a7cfe5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jul 11 10:34:26 2012 +1000

    Make requirements-osx sit ontop requirements.txt

    Use pip install -r requirements.txt && pip install -r requirements-osx.txt

commit cd57324be6e6ea0f966be074800943b87243fe0d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jul 11 10:34:06 2012 +1000

    Rename requirements_osx to use nicer -

commit 1d7e0e39b9c51833ee5c7dae83a6ceecd8c099c0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jul 11 10:32:38 2012 +1000

    Update requirements*.txt

    Remove Pyrr until it is on PyPi.
    Move PyObjC above Pyglet.

commit 4f13c1f226d74f11033be842ec407dd871c8d24d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jul 6 10:42:36 2012 +1000

    Add postactivate script I use for virtualenv

commit d5091308be71fc2239071bbfc989b8ba7cb2c79a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jul 5 22:48:26 2012 +1000

    Move window.flip outside of the on_draw handler.

    on_draw event handlers should just do drawing. It
    is the calling code's responsibility to perform the
    buffer flipping.

commit 9884e9a02694ddeb009c9f54d32d1072f43ce7d5
Merge: b5e9155 bdf0e74
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jul 5 22:40:59 2012 +1000

    Merge branch 'master' of github.com:adamlwgriffiths/PyGLy

commit b5e9155154e48b5c21a0bccbac6d1f9cbb8155ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jul 5 22:39:00 2012 +1000

    Use on_draw event for rendering.

    Instead of calling render() directly, hook into
    the on_draw event for rendering. Just in-case any
    other code / libraries trigger or need on_draw to
    work.
    Remove debug print statement.

commit bdf0e74b02613905f26c8ff68fec6ae69f2e4ce0
Author: Adam Griffiths <adamgriffiths@Cthulhu.(none)>
Date:   Tue Jul 3 23:47:23 2012 +1000

    Add missing __init__ needed for sorting example.

commit daa4395db8ac66e985a4cd5fc701d2e40f0c6536
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:40:09 2012 +1000

    Replace a @see with .. seealso::

commit dd7c564bc5d69ce89c2adba26f46ed819503d55f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:33:51 2012 +1000

    Remove docs, these are moved to github pages.

commit 86f38fbbb522870c184a43cb7ef2c186d0ba7633
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:19:18 2012 +1000

    Add current documentation.

commit 75bbb510ceb707ce355155b1a46553ff9a4dce85
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:19:05 2012 +1000

    Remove existing docs when generating them.

commit 0b4baa9730976a4a3b9a3d3b7f0218fcf5b8595b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:17:50 2012 +1000

    Minor change to index text.

commit b865e48d1d6ab0b15ba32d0b9aa36082dc3c46c8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:16:49 2012 +1000

    Add rendering documentation.

    Includes documentation on sorter.

commit 6725ad6a611ccf994590bb05a115053c5eef020c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:15:29 2012 +1000

    Update sorter to sphinx documentation format.

commit 202c368729bbdc3456c8f89fc0cafcf7c9565e9b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:10:41 2012 +1000

    Add make script for documentation.

commit 68a9f67e4a4bb0295524553c1ccee6b784af3f6f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:07:29 2012 +1000

    Fix monkey_patch documentation not appearing.

commit 934380a920d5e8c94cc15f566bbd9b05dd66fc14
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:06:26 2012 +1000

    Add documentation for core code.

commit 3aff541fae5a9c6fa19a60603375c8700a61f028
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 21:06:11 2012 +1000

    Update docstrings to Sphinx format.

commit 9372736bf9befba9c3e92042adf4f68dd177fc64
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 18:12:12 2012 +1000

    Make __init__ always be documented.

    Code for this from: http://stackoverflow.com/questions/5599254/how-to-use-sphinxs-autodoc-to-document-a-classs-init-self-method

commit 8214775fec73252576f5a66beed44975579f5bec
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 18:09:45 2012 +1000

    Add basic sphinx project

commit dc7ebeec9c6dabdbba7b548aa32644de27653e60
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 15:53:53 2012 +1000

    Colour the axis

    Use standard colours: x=red, y=green, z=blue.
    Split render / initialisation process.
    Add arrow heads to axis arrows.
    Scale down the axis labels.

commit 8d8ade2089d0a0f09318045cefa5c321f7975d32
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 15:52:55 2012 +1000

    Make cube sides match axis colours

commit a0271b59989b932f785ba20ad3e930d48bf63d76
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 14:15:12 2012 +1000

    Update sorting example

    Use the cube module from render_methods.

commit c928b3ede024991d8cef174ace7a69aa438992eb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 14:10:52 2012 +1000

    Add model_view property which returns a matrix.

    Make push_model_view use the model_view matrix.

commit 688d0b2683401c8fd1a4cd4be45116616567c9e8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jul 2 14:10:20 2012 +1000

    Add *.pyo to gitignore

commit 20ddb11a3f55cfcdf84d83d008cf4bc7b1af4421
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jun 25 15:00:43 2012 +1000

    Add missing 'self.' that ignored sorting

commit 928c18ab6de6bb63ab48c9918db851c4c53e3ad7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jun 25 14:59:44 2012 +1000

    Remove rotating cube code, it was commented out

commit 8315fd0d58b6cea8d2b0a06f4ac91a2d3511ab7d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jun 25 14:59:00 2012 +1000

    Dont spin cubes so FPS is purely from rendering

commit 0a28d497226138fdc2c9ddd8c095e31b02b07635
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jun 25 14:38:28 2012 +1000

    Add render_methods example

    Demonstrates immediate mode, display lists
    and pyglet batches.

commit 5415f3974c2409df036396f4d69b420316d2886e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 22 10:14:19 2012 +1000

    Add /static to vertex format

commit 2d6679253ae3bb55f7c5529c78d66cc843f57829
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 22 09:30:39 2012 +1000

    Move camera to more visible location

commit 3bd5e8a79f68b5c2c8c78233ed53cf893f1d3766
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 22 07:46:58 2012 +1000

    Optimise creation of values in transforms.

    Objects are now created on demand and only
    the requested object is created.
    A global dirty flag is no longer used, instead
    we now set the values to None.
    Store the transform.matrix property after it is
    calculated.

commit 327aee95525c7c6248a0dcc76b83cda37f1e0fcd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 22 07:46:31 2012 +1000

    Remove FPS camera and rotate cubes manually.

commit ccc0c3178b403792a4a5bf2efd4de86c2e0b7fd7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 22 07:45:58 2012 +1000

    Fix usage of set_handler.

    Don't use set_handler, it nukes any other
    registered handlers.
    Instead, use push_handlers.

commit cd41ec3eba73d6f513fa714301892b06e0ea5861
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Jun 16 09:00:50 2012 +1000

    Add ability to toggle colours on and off

commit 3b28d095c773ba4b15f02c2dd194427e165f9d37
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 13:40:59 2012 +1000

    Add radius sorting to example.

    Update name of existing functions to new names.

commit 29715f6bfeea73a52fb48eae4f5e382928902030
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 13:40:25 2012 +1000

    Add radius sorting and rename existing to plane

    Radius sorting is better for transparency as
    objects beside one another don't cause issues.
    Probably best to use radius sort always.

commit 19ec7b0e4e3392fc830ac19aef2aae8301bf5979
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 13:33:23 2012 +1000

    Update pyrr version

commit 9ec2270264e4e765a50862ae0455aef06836cbcd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 13:07:04 2012 +1000

    Update sorting example

    Enable ability to disable sorter.
    Change clear colour so that we can read the fps
    display.

commit 452111c80feb37a074e6c1f99b7e16545a7b408d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 12:55:36 2012 +1000

    Space cubes further apart

    This shows the render issues of front/back sorting
    better.

commit 107ef861232f13548000267e5dd6b1fa01bb9069
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 12:51:51 2012 +1000

    Add low level example

    This example uses only base classes to provide
    render functionality.

commit 1015a9e8eb386c05dc2d52c30b2a545f053998a6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 12:49:22 2012 +1000

    Add help text to other examples

commit 3e8df7cda4d8e2d9906e120064eacfa21d11268f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 12:46:50 2012 +1000

    Add help text for mouse movement

commit 772f3a410a2d763e9702e04755c00a3fc1c45104
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 15 12:40:44 2012 +1000

    Overhaul sorting example

    Add transparency to cubes.
    Add colour to cubes.
    Set a non-black background to demonstrate better.
    Add overlay text to example.
    Add ability to switch sorting from front_to_back
    to back_to_front.

commit a783915174f46bef4a19d368af7d5f73d4b9bf28
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jun 13 22:57:39 2012 +1000

    Remove MD2 work arounds due to loading changes

commit d8acb775f299cea8e8321f6621f2698d50f54bd9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jun 13 22:56:44 2012 +1000

    Fix MD2 face ordering and orientation.

    MD2's are oriented with up as +Z. We now
    re-orient the mesh at load time to be up as +Y.
    MD2 face ordering is clock-wise, re-order the
    triangles to be counter-clock-wise.

commit 361ae45155ee873290ca7bbd0b99007e3221c270
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jun 13 02:41:57 2012 +1000

    Trivial whitespace changes

commit 7e6bedf7f6e24eaaa5b204ff3d67dc7d38750731
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jun 13 02:41:33 2012 +1000

    Update fps/six_dof_camera demos to latest code

commit 7e746da5995ec130c68eab0cbc11551b9bd779ff
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Jun 13 02:40:58 2012 +1000

    Controllers use transforms instead of scene nodes

    This decouples scene nodes from more classes.
    Transforms are universal, scene nodes are optional =).

commit 27b95fc3fcef983260102eebc74e167842ff83ed
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:24:01 2012 +1000

    Update TODO

commit 141a5407dfc909e3c6acf5a5fc1f13cfe4168ec3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:14:07 2012 +1000

    Update examples to latest code

commit 3e4a53f020f654a1d01adf741135e2f0fec66a9f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:13:52 2012 +1000

    Remove intermediary variable

commit 48253b10a92e24360a4c88ee67f1b28cd6d1e57c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:13:18 2012 +1000

    Fix float / int conversion issues in RatioViewport

commit f9104833c4e41885323f90b0225f4775c227f8d3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:12:12 2012 +1000

    Update fps / six_dof_controller for latest code

commit 723d33eb677c6e61f475244ef724ad02f873a362
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:11:00 2012 +1000

    Fix issues in world_transform.

    Use getters and setters instead of direct access
    to variables.
    Remove setter checks for same value.
    The way python works for +=, -=, etc means that
    we must not check if the value hasn't changed.
    Python calls the getter, modifies the value then
    passes it back via the setter in these cases.

commit b6d78d7fed71cca0d68bb5fe60cf0fa6b7f93b90
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:10:36 2012 +1000

    Remove setter checks for same value.

    The way python works for +=, -=, etc means that
    we must not check if the value hasn't changed.
    Python calls the getter, modifies the value then
    passes it back via the setter in these cases.

commit 8e04e0e84f73216a46e84236ccc05f19e1e9508e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 17:09:43 2012 +1000

    Remove setter checks for same value.

    The way python works for +=, -=, etc means that
    we must not check if the value hasn't changed.
    Python calls the getter, modifies the value then
    passes it back via the setter in these cases.

commit bf9f81291dc47a45ce46a0164403c57f2046ed7a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 05:04:30 2012 +1000

    Update scene_graph example to latest code

commit 84f8d74c35fc527fea0c6a4d8ded46c7443da535
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 05:03:09 2012 +1000

    Split scene node logic into transform classes

    This enables us to use transforms without requiring
    scene nodes.
    Scene node now has a Transform and WorldTransform
    object.
    These are accessible from the SceneNode.transform
    and SceneNode.world_transform properties.
    Each of these has an object and inertial space
    object which provides the means to modify the transform
    relative to different types of space.

commit 1756e5934a87903e93df901b8a31afd468e94005
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 05:02:55 2012 +1000

    Disable backface culling when rendering debug axis

commit d06a390850ca6fab05386591ebd9b90680f3040c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 04:50:18 2012 +1000

    Add missing sys import

commit 0503a1eec472f906c9ab080b1af134f2633dbf94
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 04:46:13 2012 +1000

    Update creation time on ratio viewport

commit 1d32a6cc14857562c6056bfde99f7ae6cbccf85f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 12 04:35:59 2012 +1000

    Modify tree_node to use pyglet events

    We now send events for child added / removed
    and parent set

commit f83e71c26e22084a87710c9dedaa2bca050eac32
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Jun 11 23:31:09 2012 +1000

    Fix translation and scale checks being incorrect

    Checking for 'not changing' was incorrect. Need
    to check against self values, not fixed values.

commit edf6f7df3f5d551a7e69983b39324a61079f46e4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Jun 9 15:04:35 2012 +1000

    Add missing ratio_viewport module

commit 2f43216268aaaea030ad87aa5a58485d93eb0527
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 03:38:11 2012 +1000

    Remove debug code, add comment

commit a65c5b48fe8a4f28d2ca0d1fcf6158fd2e947861
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 03:23:46 2012 +1000

    Add a sorting example

    This uses the FPS camera demo to let you move around
    the scene.
    It also shades a number of cubes from black to white
    (black being closest, white being furthest) in
    relation to their position in the sorted list.

commit ff076216f204534727c10509f022ce6620a57769
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 03:23:23 2012 +1000

    Add a z sorter

commit 401220daea1f26513c2df204e0003ca8573a4d33
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 03:23:08 2012 +1000

    Make axis methods properties

commit dfb7e4cad1e5e9279a2348756f45fd6376ce9e1f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 02:05:46 2012 +1000

    Add backface culling to examples

commit ae8bc75c68c35f222f14231a9b02ade61efaf508
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 02:05:27 2012 +1000

    Add backface culling to default viewport

commit d1f7f9024266aae38e583acdc8952cdfee3f4364
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 8 01:58:10 2012 +1000

    Cull back faces for debug_cube

    This lets us use the same debug render
    code path for all scene nodes, instead
    of making a special case for the CameraNode
    so that we don't render the cube around it.

commit 5842a44cbe0e62614ed8a081ae2fbd4b21ceac38
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jun 7 04:01:29 2012 +1000

    Remove commented out debug code

commit 7f558df8eac8c9152ee7da5d93fb8b8307cabcd9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jun 7 01:59:03 2012 +1000

    Update example code to work with latest changes.

commit 3782a60fdc32fde34adba7177b8e118967d0e16e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Jun 7 01:55:47 2012 +1000

    Major refactor of PyGLy render functionality

    Scene graph no longer contains render functionality.
    Manually render your own objects.
    PyGLy makes no assumptions about what to render.
    This gives the user full control of the render
    pipe line.
    Rendering is no longer tied to the scene graph.
    This means you don't need to even use one!
    Viewports are not just rectangles (2xvector3).
    Created high level viewport wrapper classes
    called Viewport and RatioViewport.
    Standard Viewport class will not resize itself.
    RatioViewport will automatically resize itself
    when the window changes size.
    Added pyglet events to Viewport and ViewMatrix
    classes for aspect size changing.
    Moved some functions out of viewport and into
    window.
    Created a gl module for stand alone GL functions.
    Removed the dispatcher class. Use pyglet's event
    dispatcher instead.

commit f8d04ccb0d67233a838bc06d6a4afa770dd1bb06
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 5 18:43:02 2012 +1000

    Fix pyglet event usage.

commit 51504e5c11f343d322a3c4b15cfd16b54b385a8c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 5 18:42:35 2012 +1000

    Update input module to use Pyglet events

    This removes the usage of the legacy Dispatcher class.

commit c907c3bbd4bbf915232a4abcf21d33712d634a2a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Jun 5 16:34:52 2012 +1000

    Use glPushAttrib

    This lets us reset the glColor, glLineWidth and
    lighting disable call after rendering the grid.

commit 6bc13df0fa143d8aeb0d5e7e3143583970fb0aac
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Jun 1 02:39:44 2012 +1000

    Replace property with @property decorators

    Simplify push_view_matrix

commit a9575706ca673be6523da31380df6e4ee362e7ed
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 22 13:05:40 2012 +1000

    Rename RenderNode.render to render_mesh

commit e197e0d8ac06f11ad16a44a34e2bfbfbceb9298f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 22 11:48:50 2012 +1000

    Don't use tree_leaf, remove scene_node.debug

    Don't make render_node inherity from tree_leaf,
    why limit ourselves artificially?
    Rendering a scene_node implies rendering
    the debug information.

commit a602a0d4fec6e89904cd5ce6c2317ef26384a7cd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 16 16:47:42 2012 +1000

    Add reference to pyglet docs

    This references the idle loop calling on_draw
    after each run through of the event queue.

commit a0355280ecd9fb20d6a2a7bc1967b7b8ae29e405
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 17:11:30 2012 +1000

    Remove MD2 interpolation / splitting from TODO

commit 77dcca22e73ce705f2b6cde6a6398045647efd2a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 17:09:44 2012 +1000

    Render multiple md2s instead of just one

    This demonstrates the seperation of the md2
    mesh from the renderer / interpolator.
    This update creates a grid of meshes and
    sets their animation to a random state at
    the start.

commit 8dbfc944bd7ec47e9ea0235dc41f9330a4d3e18b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 16:30:08 2012 +1000

    Split frame handling and interpolation

    This lets us load and generate interpolated frames
    once but have multiple meshes sharing this data.

commit 418fdb07ecdb4c7ee371124773c63b62a120068b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 16:18:01 2012 +1000

    Add prebaked interpolation to md2

    This removes on the fly interpolation which
    was insanely slow.
    We now prebake the interpolation at load time.
    Even then, this is slow and should be kept
    between 0 -> 2.

commit 627bdcae4ea9d1cf1dee53f2a284e2fddbed0a0f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 15:49:16 2012 +1000

    Split md2 into loader and mesh.

    MD2 does the loading, MD2_Mesh renders.
    Update example.

commit c08b4d1f2f514e3e8c411acec17a9cd1e7f53245
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 15:01:12 2012 +1000

    Add comments to md2 methods.

commit e1ace4950099f133609b138eccba0254f810efaa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 13:43:38 2012 +1000

    Update pyrr version

commit cd9508f8548131b8583316da460f51e0555772b1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 12:31:30 2012 +1000

    Move into test directory

commit 569fd431718e8a1d67402fd681a4126831667e84
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 10:40:23 2012 +1000

    Remove list test

commit 8b629896dc918f52df106e8e49029115cb752585
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 10:39:31 2012 +1000

    Add tree_node tests.

commit b52cb0fa259ac1b3cc79070a6c8bbd4a06b18bd8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 10:37:17 2012 +1000

    Fix test not removing child before re-adding

commit 37c9cccda2c27361d89e3bba2f47ff60a611cae2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 15 10:35:08 2012 +1000

    Remove list.py, use numpy.array_equal instead

commit a3567bc3d411ea04c098fd6e62d9543281dc64ed
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 14 11:39:50 2012 +1000

    Add render_node.

    Make render_callback_node inherit from render_node.
    Remove obsolete imports from render_callback_node.

commit 7f9fbb28d7da688c402aa081d7c8f6f76cc3d7b7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 14 11:21:48 2012 +1000

    Update examples to use latest scene graph

    Remove / from node names. These can be
    added when printing the node tree out.

commit 66580e0a4930ca21a85c8784b463a91617857284
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 14 11:20:49 2012 +1000

    Rework scene graph

    Move tree logic into tree_node and tree_leaf.
    Make render_callback_node a leaf. It cannot
    have children.
    Remove on_context_lost from scene_graph.
    Make scene_graph check if child has 'children'
    and '_set_dirty' before calling them.

commit 31a5b946e2abe6d6baf97a8f5cbe8792cc76ccf2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 10:11:27 2012 +1000

    Update TODO

commit c2f75e5d137fe3122f9805ad2dc62d4dbca7655a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 10:11:08 2012 +1000

    Shuffle scissor and viewport calls. Update pyrr.

commit c589027c6fff35c782a5e2c9e46a4470a2c9d83e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 10:10:25 2012 +1000

    Update __init__ to use a list instead of 'or's

commit 47ab3b88f39a9cd0dabc3520a8f645d285b7231f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 10:09:46 2012 +1000

    Update examples to manually replace event loop

commit bac5c509e55203140ecbc70b8e60ef59680e9506
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 10:07:09 2012 +1000

    Require a function call to replace the idle loop

    This prevents issues when calling 'from pygly import *'
    without intending to patch the idle loop, for example
    with cocos2d.

commit e16ad4174b1689c5507a19a170137ab5458fe46d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 09:05:41 2012 +1000

    Remove version from submodule __init__.py files

commit fdb7c89bd27121fdf687356a1a07cd194a049af7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 07:47:40 2012 +1000

    Use pyglet labels for the debug_axis

commit 0a553b13e637b9eb3e073d3204d8ee6b1aedcfd5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 06:53:26 2012 +1000

    Update Pyrr

    Update viewport ray casting to latest pyrr
    function names.

commit 33bc88b4bc25d0cec4ec587e9fcbbb2f28df6c8e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 9 06:50:42 2012 +1000

    Add update_dependencies script

commit a5caa588a63c7f22a204f7acb30696f217d1a0e2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 15:17:21 2012 +1000

    Update pyrr version

commit a0358325a68862b10a9d602c1ae6e19ef541c69d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 15:16:10 2012 +1000

    Update setup.py

    Add test_suite directive.
    Remove module paths that don't exist anymore.

commit c7fd37f33d4c1f9e2d5cd34cd6c8329d8a861e1b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 15:02:58 2012 +1000

    Fix license in setup.py

commit 0b39df738cb6f30bfbba42416ec8558ec3552313
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:59:27 2012 +1000

    Move weak_reference_method tests into unit test

commit 44112503a0939b711b039f184c54d94f285fe751
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:41:32 2012 +1000

    Move aa_spherical tests into test_aa_spherical

commit 4bb40e609013a120d0cd89f985816eda07423482
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:40:55 2012 +1000

    Fix class name for test_box_wrap

commit 4415b670475b02a0b6fb5267fd97cef9e12a0c92
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:39:03 2012 +1000

    Move planar tests into test_planar.py

    Fix planar not importing vector

commit 2056669222ce1abe21f5ef606cfad9d1980878fe
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:35:16 2012 +1000

    Move box_wrap tests to test_box_wrap.py

commit 8750387dc66bd1e5640b626f02bfa707167b42d0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:31:30 2012 +1000

    Update planar uv_generator to use latest pyrr

commit ce1c453761e00be441220ebe01e83f8e42d9ed03
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:23:46 2012 +1000

    Move scene_node tests into test_scene_node.py

commit 8bdb9c54e39dcaf24e6148b3b145edacbc652d28
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 14:23:26 2012 +1000

    Fix syntax error in test_obj_mesh.py

commit 7f5eec5f63e66b780735c4666d5d27f019161954
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:23:20 2012 +1000

    Update uv_generators __init__.py

commit be857815becaecba1aa2710e5112bfa6600adec8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:22:57 2012 +1000

    Move uv_generators out of mesh module

commit c9159831a03c83dc9454fa9c46f4b3b8ff8dc27e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:19:48 2012 +1000

    Move obj_mesh tests into test_obj_mesh.py

commit 6eece04292e523d0cbe6937a5dea50e19d3ff3f1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:15:52 2012 +1000

    Fix classnames for tests

commit 7c48e78c471057918a95401ed25f71dc4e18b456
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:12:31 2012 +1000

    Move list tests into test_list.py

commit 1531d2c2e1edc2ba2e8208a2c6a25da68a4d13f1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:08:11 2012 +1000

    Move input.analog tests into test_analog.py

commit ce2ad8603dc4dd5af3518032fd8c7883d39b9674
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:05:41 2012 +1000

    Move input.digital tests into test_digital.py

commit 44bae3f46ffe669d8aff52af579fadace713215f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 13:00:31 2012 +1000

    Move dispatcher tests into test_dispatcher.py

commit c6964c03383a91ff77600d4d70678fe7b0297c10
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:57:48 2012 +1000

    Move viewport tests into test_viewport.py

commit cb49b51607505950191fe42b768caab868056142
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:57:41 2012 +1000

    Add test module

commit 91100d1afbb7ae1e4ff24a8b08d1b91a1266e0eb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:57:12 2012 +1000

    Add run_tests script

commit 277541c8174f0f653c42cb377e0597a7edf2b7af
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:51:29 2012 +1000

    Add setup.py and bash script to make package

commit 383b9e3e659f8a80200e89f9a38c41e9fe5d1282
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:49:32 2012 +1000

    Update __init__.py to provide proper importing

commit bc85516a4a9449e46351b53cbf19c6d70cb4d062
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:46:59 2012 +1000

    Consider frame time when moving viewport

commit be54817106d372996c9def86c9883f1ee01d8d13
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 12:42:58 2012 +1000

    Move /renderer and /scene into the root module

commit bc80dc950871db5d293738d1cfb64ceb45cbccdb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:56:23 2012 +1000

    Move the test node infront of the user.

    This example needs to be changed to be more
    interesting, but this will do for now.

commit 20638cf1a27f19fe728744cfc18c71348f00fca7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:47:49 2012 +1000

    Add .gitmodules for new pyrr submodule

commit 0a83089e7559931fbac0d5296f07fa991e8d10c3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:43:48 2012 +1000

    Add a seperate license file

commit 2984ad94197cd1e9e5886635149058ff5c245272
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:41:24 2012 +1000

    Fix license being incorrect

    Use BSD 2-clause license

commit a61ad52f6166aad6e500e609dd736ee6f2048688
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:37:43 2012 +1000

    Update TODO

commit fa36a2c556f603f5533f8b1e44452220d1f20daf
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:35:49 2012 +1000

    Update example to use pyrr

commit 3242b7d696dfa77d820815c4b183614191a05e8c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 8 09:33:27 2012 +1000

    Move maths functions out and use Pyrr

commit 10bbd9047f1083f464fffece3128fca4711b96bb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 7 07:34:17 2012 +1000

    Remove unnecessary import in dispatcher.

commit b0575d14a3d84ab8e6302ff2910a0189741ec5bd
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 7 07:19:27 2012 +1000

    Add cython and pil to requirements*.txt

commit 220ed21e920aa0402e789aee8f35c785a8595a62
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 7 06:45:04 2012 +1000

    Add newline to end of file

commit 9a35465a5c8a3f8a5220c20017b69ed9c7797a59
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon May 7 06:36:59 2012 +1000

    Add missing newline to end of file

commit d3d60a4307eed43de732957b4fdc7c10432e5f16
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun May 6 06:16:36 2012 +1000

    Add symlink from README to README.md

commit cfbb29810f4f6b09aeae0137498c3fa551d10d2f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun May 6 04:37:37 2012 +1000

    Add pip requirements files.

    Added a unique requirements_osx.txt for os-x users
    due to the latest official pyglet release being
    broken.
    Mentioned using the requirements files in the README.

commit 8bf458134ca33b39846e919e5d6e89bba13038f4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed May 2 07:17:06 2012 +1000

    Update TODO

commit acddd1fe2445268cce4eaaef43e6766ebbec80ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 10:53:16 2012 +1000

    Remove the word "Supports:"

commit 87a364b19ebf5116197023552537ffa5da2bd040
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 10:50:58 2012 +1000

    Update README

    Mention the license is MIT.
    Add Ray to maths types.
    Remove the word "basic" from mesh support feature.
    Fix up some new lines.

commit 4f73b01e94aa47e6605a0b193c3250f649ab429f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 10:40:48 2012 +1000

    Update examples to latest viewport code.

commit 4de4031d7b19f3db15d8aac208995520a558d8ef
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 10:39:33 2012 +1000

    Fix typo that broke scissor_to_viewport

    scissor was calling glViewport accidently.
    Update some comments and fix up some syntax.

commit a3a0b4f0234edd7ddaf1c94ad981d4d5bb0be479
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 10:38:45 2012 +1000

    Update to latest viewport code and improve example

    Update example code to use latest viewport code.
    Example now animates the second viewport.

commit 6eaf71e967bc6bd51ab37e34b515e084b5395d67
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 09:54:03 2012 +1000

    Remove window parameter from aspect_ratio method.

commit 8c2e84a32ba522f70b551581670bb39d6761155e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 09:48:14 2012 +1000

    Change viewport to be pixels instead of ratio.

    The previous 'viewport is a ratio' was helpful
    but it meant window parameters had to be passed
    around to a lot of functions. Now viewports are
    just given an rect in pixels.
    If the window is resized it is up to the application
    to resize the viewport appropriately.
    Updated the viewport ray casting to use the pixel size
    and convert to ratio.
    Also fixed a circular import between viewport -> window
    that made the Cocos2d example fail. Some functions were
    moved back into viewport from window.

commit afb0617829fa13cfdfe8a181b460cd43ec39ac20
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 07:08:55 2012 +1000

    Minor formatting changes.

commit f23a1502bed1859deb9142ddd44563607dc89afe
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 03:40:45 2012 +1000

    Rename object_picking to ray_casting

    Change example to use the debug cube.
    Change the projection matrix to orthogonal.

commit c01856a68a4a48676ff62e22e496aa13c145e353
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 03:39:16 2012 +1000

    Update viewport ray casting

    Ray casting no longer needs the viewport or
    window to perform the casting operation.
    Reworked a few functions.
    Moved some viewport functions into the window
    module.

commit 92fe6dcf5657138bee39f7f3013a9bfb50b20b8b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 03:36:56 2012 +1000

    Fix error with non-numpy lines for ray conversion

commit 5e18c7c1ac56466111ed0f0e0b26e1d8703dad42
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 03:31:33 2012 +1000

    Allow the initialise callback to be None

    Some meshes don't have a seperate initialise callback,
    the debug cube for example, so we should check if the
    initialise callback is None before trying to call it.

commit 268edaf35fa49d6365b3b1fa82b6bbd96afd76f0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue May 1 00:25:07 2012 +1000

    Add descriptions to the matrix scaling methods.

commit 6414ae6b964d7f04adf4294c3bcefcd2fb56f439
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:23:46 2012 +1000

    Calculate our own orthogonal view matrix.

    We no longer use the glOrtho function.

commit 25cac2b4312b00bd6e6b39aa94407fb4744ee3c0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:22:49 2012 +1000

    Add create_orthogonal_view_matrix function

    This compliments the create_projection_view_matrix
    function.

commit 3d46331a05515d867aaa9823163e7b2f76870e67
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:08:08 2012 +1000

    Move calculate_plane_size into maths.trig

commit b638a6e5b4454fe483caf521247490fee7018005
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:07:13 2012 +1000

    Update examples to latest view matrix code.

commit 85693e6a3ae14349fb5fb9ed3b664d28af1fe7ae
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:06:48 2012 +1000

    Add orthographic (2d) example.

commit db897fa8d7245fc1106a4f3bc9ccd20ce9c889b9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 20:05:25 2012 +1000

    Update view matrix flows.

    Most methods are pushed into the based ViewMatrix
    class.
    Update ProjectionViewMatrix to ViewMatrix changes.
    Orthogonal class is still using glOrtho.
    Remove need for viewport and window as parameters to
    ViewMatrix rendering functions. Others will be
    updated soon.

commit ee62d82a610fbdc3bf8b1a23932d618faf7526ab
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 19:41:03 2012 +1000

    Change logic to update when property changes.

    Uses dirty flag logic similar to scene_node.
    This lets you change multiple values without the
    calculations occuring until the values are accessed.

commit 56b1b04d85bb0611948948a26a1abc2d5289c230
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 19:33:59 2012 +1000

    Use manually created matrix instead of Frustrum

    Matrix is now calculated dynamically.
    Aspect ratio is now coupled into frustrum.

commit 1a176a97ba94b102491a86852773a4dc845ea539
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 18:48:28 2012 +1000

    Add create_projection_view_matrix function

    This manually calculates a projection matrix
    and can be used to replace glFrustrum.

commit 25b69ce7597af831b9f0d0bccaf43646e233fdb7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 18:04:40 2012 +1000

    Simplify the matrix scale function.

commit 6971b389e2810541689141282ba118441fd6b129
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 29 17:25:58 2012 +1000

    Add a FOV helper.

    Put this in a trigonometry module.

commit 89c44d48cf19a8c8185ba8a80655834b5c35bda9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 21:06:23 2012 +1000

    Update ray casting code to latest ray format.

    Make ray match the proper ray format (start -> direction)
    instead of old format (start -> end).
    Update comments regarding ray cast format.

commit 481024127ab802221647dfe3c759d276b9e23e09
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 21:04:53 2012 +1000

    Update example to use latest ray format.

commit fef3e8c09db5fa1449393db8d5f9ed7973e2a828
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 20:58:56 2012 +1000

    Add line, ray, geometric tests and move functions

    Create geometric_tests module for all geometric
    testing functions.
    Move geometric test functions from plane into
    new geometric_tests module.
    Add ray and line functions.

commit eda447eb31038f1082ad377e9b25846df95314bb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 20:58:29 2012 +1000

    Add tests for vector.interpolate

    Update TODO comments

commit 562fa9892ef119e390c7d11a0da39c965cad75be
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 19:39:31 2012 +1000

    Add squared_length operator.

    Handy for fast operations that want to avoid
    square root operations.

commit ffd647af53d5b520633d302e1e96e64e88a67fb6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 18:56:40 2012 +1000

    Use numpy array for scale.

commit 327ac377f8e1e27bf58669234ce7c74e5b70d7ae
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 18:56:18 2012 +1000

    Update TODO

commit d4aa358b7d9805175a61003d1b92fb2645702a2c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 18:55:24 2012 +1000

    Update vector maths.

    Fix dot function comments.
    Remove 'out' param in dot function.
    Add test for dot product.
    Add test for cross product.

commit 73d16ed99cc20cb80ab33fafacdd16ce7b258e6b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Apr 20 14:36:43 2012 +1000

    Convert Plane from an object to functions.

commit c9e1a379c1adabf98bbda260afa045a1afb54d02
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 13:43:47 2012 +1000

    Update point_to_ray method for ortho view matrix.

commit 2e9753eede60e789b9f42e95210a88fd74deccf7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:20:31 2012 +1000

    Fix missing parameter in aspect_ratio call

    I have to stop debugging via github.

commit b301f893b64999f68d28a6d78dac2135c140c4e3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:19:20 2012 +1000

    Change orthogonal view matrix size calculation.

commit 4dfca91840bd5bc863b2e4acd21872424deef191
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:10:28 2012 +1000

    Fix even more accidently committed code.

commit ea645e2f0b5e8f4a938db24191d2a374e0e665d3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:09:13 2012 +1000

    Remove accidently committed code.

commit 66698ad30143eac54eaf56e15b8ba5b2ccf2284b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:08:06 2012 +1000

    Add doc string comment.

commit f15cbdb388a06a032cedd6cb208c6ff940b1734d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 12:07:29 2012 +1000

    Change orthographic matrix values.

    Now from -half viewport ratio -> + halfviewport ratio.
    Add a TODO stating that this is temporary.

commit 7ff2d3b95b64d7b660d8f58ebcede68d83f67f46
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 11:07:36 2012 +1000

    Update TODO

commit c25c2bd8c8ee7adf1ee333e637d6de822fdb22bc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 19 11:04:17 2012 +1000

    Fix spelling mistake.

commit d13013a6b705fb35a57ab1cfb2067612eb5d7bae
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 18 17:43:08 2012 +1000

    Remove invalid and unused import

commit dad4dd9cadc68124b5453a823f8dd8cfe9d623ef
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 18 17:20:40 2012 +1000

    Update orthogonal_view_matrix to latest code

    Fixes push_view_matrix not having the 'window' parameter

commit ea23d7331ba99b4d4211c40a0ae7deb6478dcd64
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 18 12:55:53 2012 +1000

    Update imports to use pygly module

    This means you dont need to add pygly
    to the $PYTHONPATH directly, just the parent
    directory.
    Fix a typo in matrix44.
    Update examples to do this.

commit 74e82ba30b930a5bedfd5340b125b469a95d0e50
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 18 12:19:24 2012 +1000

    Add missing __init__.py to pygly module.

commit 16bbd27e709dbaefe9dcdb58c492b8d438461a1a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 09:15:39 2012 +1000

    Add GL_SCISSOR_TEST to viewport setup

commit 5c394cc6b1605135f938d6eae9cb02f99bc7a346
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 09:14:12 2012 +1000

    Split glScissor into its own method.

    Add scissor_to_viewport in Viewport.
    Add scissor_to_window in Window.
    Viewport clear asserts GL_SCISSOR_TEST is enabled.
    GL_SCISSOR_TEST is enabled by default in viewport setup.

commit bd2216fe8ca08bfc1a5b3398052c6b06b75e71b4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 08:57:15 2012 +1000

    Correct and add comments to viewport.

commit 170f55184a0610b8d089c8c7f396136e3882ec3b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 08:15:28 2012 +1000

    Update examples to latest viewport code.

commit c96a3e9bef968d8c16ecc2050c0fdb7ec3ddf3e2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 08:14:04 2012 +1000

    Add maths.rect. Make Viewport code us this.

    This changes the Viewport rect parameter in the
    viewport constructor from shape (4) to (2,2).
    Simplify the viewport ray code to use the maths.rect
    code.
    Update other code to latest viewport code.

commit 1bd33d028930850e01610eb74c1d572b3b50a344
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 06:35:18 2012 +1000

    Replace dtype = numpy.float32 with numpy.float

commit 46cac107f452b06045da1d4d11fb77b19b910b8f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 11 06:34:18 2012 +1000

    Replace dtype = numpy.float32 with numpy.float

commit 076298a9e37075a7a5bfdf92e785c5fe77ec5865
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:57:28 2012 +1000

    Fix typo in last commit breaking viewport clear

commit 4e3dbb9a87a4258e1197431812da6fbb2ae17dcb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:56:31 2012 +1000

    Fix syntax causing errors with variable names

commit e56b1958b0465834feb2ff8f529cf9a9d0fa8637
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:54:22 2012 +1000

    Concatenate size/position_in_pixels into one

    Remove some unused code (size variable)

commit af9c15826aebaa4aceaaf207f6542f36e85886ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:51:08 2012 +1000

    Change fps back to 60 for object picking example

commit 6d65c6ae10d867237f9615baf54793befae31a98
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:42:37 2012 +1000

    Trivial code change.

    Remove unneeded assignment.

commit 381cd3dc554919799c4f617a2b9750771ae95d6b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 12:39:34 2012 +1000

    Add viewport ray casting code.

    Add point_to_ray methods in camera_node,
    view_matrix and viewport.
    Add example that moves a .obj mesh around
    with the mouse.

commit 49529e0419f10fe30d1c19317b4c49dd075d110c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 11:39:49 2012 +1000

    Add interpolated and non-interpolated md2 example

    MD2 interpolation is incredibly slow. So I've
    split the example into interpolated and
    non-interpolated which set a boolean value
    on the main.py module.

commit 7dba04420f9cb514e4733fae6b6a4f5adeef8c63
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 11:29:00 2012 +1000

    Update md2 example.

    Move light creation to setup time.
    Move mesh object creation to setup time.
    Use GL_RESCALE_NORMAL.

commit 7750ff5ad482b5125e6b48b67159cf254c63db67
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 11:26:08 2012 +1000

    Move mesh object creation to setup method.

    Instead of each time the mesh is initialised.
    Use GL_RESCALE_NORMAL instead of GL_NORMALISE.

commit dc0ccd55e5c78d11d0b726a13522e9e466a11bce
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 11:13:08 2012 +1000

    Add a not_equivalent for easy readings sake.

commit a58b14fdf89e0ebafd4df09c6caf767240527ea5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 10:20:48 2012 +1000

    Fix aspect ratio being converted to int

commit 8f3bf918a3b0a3c95b7f6e0f5ec57e6e3e625050
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 10:11:31 2012 +1000

    Return lists not tuples

commit 473137b09bd0f64a2db1e8c674d616b76b922ba2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 10:09:15 2012 +1000

    Rename viewport's width and height

    This is to avoid confusion.
    If I get confused, it's a bad sign. And I got
    confused.
    Add some tests to viewport.
    Remove unused properties.

commit 9285a7deadadeaef4d2842d7e9555d9b19d24d30
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 09:44:27 2012 +1000

    Fix aspect ratio calculation.

    Previously, aspect ratio used the viewport.width
    and viewport.height values. These are actually
    ratios. So I've added a size_in_pixels(...)
    method.

commit ffd2dae47420d80027cde7de7c1fcfb598496a42
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 08:33:32 2012 +1000

    Fix typos in Matrix33 calls

commit b7560df534e3787d51dafa8f23546e5d9ab2f172
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 07:53:09 2012 +1000

    Add test for set_length with 1d array

commit b86e5920614bd94732d2dd2f0464477b1717a64c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 07:52:19 2012 +1000

    Add set_length method to vector

commit c46ea6ab807ccd35d56411c33eec51158175a842
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 07:25:55 2012 +1000

    Update length and normalise to accept Nd arrays

    Add some TODOs regarding missing unit tests.

commit 91807ee8b76d018fc7cbf204ec32ab436f4f5985
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 07:08:14 2012 +1000

    Roll the length and lengths functions into 1

    The one length function now handles 1 and 2d
    vector lists.

commit 73806371a1b13fd6d8b26d5406e49e114d1c3dff
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 06:50:06 2012 +1000

    Ensure far clip is > near clip

commit 066e6be717ddc5160c45b672a8839e20cd50d747
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 10 06:49:19 2012 +1000

    Ensure far clip is > near clip

commit 051c6850191f371aaac8ca3d44972cf38b115b43
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 07:32:27 2012 +1000

    Add better TODO regarding layer translations.

commit 50e7c7f6b41c38a81817ec22c39032fec4287ddc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 07:31:18 2012 +1000

    Store cocos translation changes for later.

commit d87426c23ec1a9d9bd8c60858b64790bfb0a4bcc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 07:30:01 2012 +1000

    Revert "Add cocos layer position handling"

    Better to not do it at all than do
    do it in a hack way.
    This reverts commit 55f73b9332f7ac469ed9294207e60ee5a82254a3.

commit a6415639180908a8e0674d5efea2b609f2d63a90
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 07:29:21 2012 +1000

    Revert "Add viewport hack to support scaling"

    Better to not do it at all than do
    do it in a hack way.
    This reverts commit a8fa63dc974c4bbffa0c781b1569ff2753d018dc.

commit a8fa63dc974c4bbffa0c781b1569ff2753d018dc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 07:14:21 2012 +1000

    Add viewport hack to support scaling

    Implement hack scaling support by scaling the
    viewport. This can cause issues when the
    viewport gets too big.
    Scaling SHOULD be done with view matrix
    modification.

commit 55f73b9332f7ac469ed9294207e60ee5a82254a3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 06:03:08 2012 +1000

    Add cocos layer position handling

commit b6ae643c6ee7d5cecdc8922f3f1738a95923d1b6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 05:47:38 2012 +1000

    Use winder.render for cocos layer

    The window.render call and cocos code now match.

commit 6b0822e4483e45d3f8765aaaeece7253659e5f4a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 05:44:42 2012 +1000

    Set the matrix back to GL_MODELVIEW after render

commit b74fb7799e85f988132a75112b31b5e4b93acc6b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 05:42:46 2012 +1000

    Update examples to manually clear the screen

commit fe447cc14874297a375ba954c1259ca1e89db3c4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Apr 7 05:42:13 2012 +1000

    Remove glClear from window.render

    Don't clear the entire screen, just in-case the user
    wants to send multiple sets of viewports.

commit 0382af8d9f1ee6b575de17a5eeceb79628098bcc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Apr 5 04:22:22 2012 +1000

    Change MD2 mesh to 10fps

    The example code I saw said 10, but the table values
    are all around 7-10fps. And the animation looks less
    psychotic at this rate.

commit dd5a67e4e0b14893b888bc40957cbf216e8b836f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 06:12:41 2012 +1000

    Group mesh and texture loading calls

    Previously mesh and texture were interleaved.

commit 8a19f575ebf59f3d1789d1d6249b60683e504e4f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 05:54:28 2012 +1000

    Undo the texture matrix after rendering md2

    The FPS counter is becoming corrupted because
    of our texture matrix changes.
    Reset the texture matrix to identity after
    rendering the md2.

commit aad4665fe0638a5fbfe25a59678171bfb4da7367
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 05:53:57 2012 +1000

    Add horizontally flipped sydney texture

    Pyglet loads bmp's backward, so we'll use this
    texture instead.

commit 6eada2db867f4fe389a08e827df4cdef4708c442
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 05:48:20 2012 +1000

    Fix texture coordinates for non-power-of-2 texture

    Pyglet scales rectangular textures to be power
    of 2.
    The problem is it doesn't fix the texture
    coordinates for us. So we need to apply a
    texture matrix transformation to work with
    pyglet's scaled textures.

commit fa5e0e34ec80536bf39a9af1f528381433b0c126
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 05:47:34 2012 +1000

    Trivial code changes.

    Remove a debug print of each loaded frame.
    Remove a ; from a copy and paste.

commit e5c31e55df5a6d9a89c129c060f3588d670d964d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:25:37 2012 +1000

    Trivial formatting change.

    Move the FPS display creation out from between a
    group of related calls.

commit 82ad041272af21489f0389519a953790f442e48a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:22:44 2012 +1000

    Trivial commit.

    Remove commented out code.
    Move the FPS display creation out from between a
    group of related calls.

commit ec9aa2ed48c48c75f498efd26e21e32451134cc1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:21:00 2012 +1000

    Pre-extract our TCs instead of doing it each frame

    We can easily convert our TCs from indices to
    the actual TCs during construction. So let's
    just do that.

commit 95b06610b2cc06c929786d385a762acf7cca58ff
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:15:40 2012 +1000

    Minor cleanup of md2

    Remove irrelevant check. If you set an invalid frame,
    you pay.
    Remove commented out debugging code.

commit 74d47a6a611d30e0e605e881c4f69df202757e83
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:03:17 2012 +1000

    Re-write MD2 code and update example

    Remove external 'md2.py' loader in meshes.
    The MD2_Mesh loads the md2 itself, but it provides
    static methods for external usage if needed.
    Don't use the 'optimised' gl_commands part of the
    MD2, as it is faster on modern hardware to send
    a massive array of vertices than to continually
    change GL states.
    Remove external 'md2.py' in example code.
    Still having issues with texture coordinates =(.

commit f70163e65394c9fb1a06137fa7475b9af350447c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:02:53 2012 +1000

    Trivial formatting change.

commit 2f6dd3572b66d0aa3bb611a12e9dd367ee079c24
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 04:01:34 2012 +1000

    Enable GL_RESCALE_NORMAL by default.

    We use glScale for scaling nodes. This affects
    normals. So we must normalise them somehow.
    GL_NORMALISE is slow as it does a manual normalise,
    but GL_RESCALE_NORMAL is faster as it applies
    the inverse of the matrix scale to the normal.

commit 12674c06aef6d4fe23ad2097218cd454b36bbc12
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 03:57:38 2012 +1000

    Add vector interpolation routine.

    The code is horrid but its the only answer I could find.
    Doing it the neat way was causing terrible loss of
    precision because MD2s have such small values and
    deltas.

commit 1417db1f87381c19f3e1bd11ef2dc62947c1f811
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Apr 4 03:50:39 2012 +1000

    Concatenate normalise_list and normalise.

    Only works with numpy arrays at the moment.

commit 3fb65197c60836d10854ab0d101510e6a273f19e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Apr 3 23:17:05 2012 +1000

    Fix spelling mistakes

commit 804e352fc8a5d709fb14605cc0b483d9227211a1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:58:36 2012 +1000

    Added a fps_controller to a test node.

    This demonstrates the fps controller on a
    non-camera node.
    The node moves around the scene pitching
    up and down and always turning left.

commit 3e26845330d3e629c29dec897e9396dfa1dbb20a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:48:15 2012 +1000

    Don't enable lighting by default.

    This is only good if we add lights.
    Derp.

commit 845ec16cda544921f6454b287eee51f4930acafb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:38:18 2012 +1000

    Remove obsolete code comments in camera_node

    Update the debug rendering in camera_node.
    It was still checking the old debug value.
    Change the debug rendering in camera_node to only
    render the debug_axis so we don't blind the camera.

commit c1a6d5baf24b90ac4147711153cd7d44603c53e6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:25:35 2012 +1000

    Update node controllers to latest scene_node code.

    fps_controller and six_dof_controller both access
    the node's orientation directly. These needed to
    be updated to reference object_orientation.

commit 556a49cfea27da3c28ef55d50f7a20a9b5ab41a9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:15:52 2012 +1000

    Remove obsolte .spyderproject file.

commit a702f70d8aa498728121a6fb632cc5c0ccb27387
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:14:34 2012 +1000

    Add some safe defaults to the viewport setup.

    It's good to have some safe defaults, so we'll
    enable depth testing, smooth shading and lighting.

commit 5d575071861861845193f67d23f437450e9d2774
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:10:47 2012 +1000

    Update TODOs

commit 6bcd8154a68aaf36655a28444b54cf1adde482e4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:09:19 2012 +1000

    Update TODOs

commit d542e57f109c641469b6ac499ff59f704f08bc8b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:08:07 2012 +1000

    Remove tear_down_viewport function

    Move light from viewport setup into the main
    setup.
    This is just incase the light is translated by the
    model view. Which is probably is.

commit a4644dd56783000420cc2400aa4720a69b02254d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Apr 1 03:06:54 2012 +1000

    Use glPushAttrib and remove tear_down_viewport.

commit 4efc05faf960c62c8a8c93eb25a0f14c13944f17
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 22:33:06 2012 +1100

    Add multiple viewport example

commit ef380df44447b5242deb549c30b0eeeb3643a921
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 22:23:47 2012 +1100

    Make naming consistant in scene_node.

    Change orientation to object_orientation.
    Change translation to object_translation.
    Add more comments.

commit 1f827d0f04802f09114b56eda11622866a0d4841
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 22:14:44 2012 +1100

    Add more comments to scene_node.

commit 2068da51943b453f7da370cd0327405d04217ebb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:56:34 2012 +1100

    Update examples for fixed scene node rotate code.

commit c588363ab27863103c5be2e17107ce78d2363098
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:54:41 2012 +1100

    Fix scene node rotation for rotate_object methods.

    Previously rotations were applied in the wrong order.
    This caused the child orientation to be correct, but
    further rotation operations would be performed on
    inertial space. Causing the node to be oriented
    correctly, but the child orientations to be
    incorrect.

commit 05b6c72489e0d51790c4775cc85199c28ef62a25
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:43:56 2012 +1100

    Update scene_graph example to latest code.

commit 90e13c58214c872881ff63f591a10418459cb292
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:30:54 2012 +1100

    Update examples to use latest scene_node code.

commit 7f042331982373462732bedeaee7db53fde11453
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:30:16 2012 +1100

    Update fps/6dof controllers to latest scene node.

    Clean-up fps_controller. Remove inertial functions.
    If you want different behavior, make a different class.

commit ae76b56fa8858634e8e9f57ccbc1d0dc77b88c7e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:29:01 2012 +1100

    Clean up scene node.

    Rename translate methods to translate_object
    and translate_inertial.
    Rename rotate methods to rotate_object and
    rotate_inertial.
    Remove unimplemented methods and moved them to
    TODOs.
    Add more tests. More to come.

commit 3341c39e7dd48d43ad18b5f6bc1ec8f76996744b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:26:14 2012 +1100

    Add list comparison function.

    Because python really needs one.

commit 0b4ea633576d162ce45a98914da880765bc0b820
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:23:13 2012 +1100

    Rename setup to zeros.

    Remove the x,y,z indices.

commit ac505315e37df7c055c1603fd664e752d15fb9cc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 21:22:11 2012 +1100

    Update cocos layer to use latest viewport methods.

    Remove manual matrix push / pop.
    Use viewport push/pop model_view / view_matrix.

commit 3fa854a70a9f7ef0540664182f3c5bfae5ab995d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 31 20:50:04 2012 +1100

    Fix critical typo in obj_mesh.

commit e4b8d0e0c003602b213a20f67c87c7397e8bc302
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 02:10:22 2012 +1100

    Add basic scene graph example.

    This actually demonstrates an issue in the
    current scene graph code. The sn1 node
    should not be yawing about the x/z plane.

commit 96e1d24a41b34eaf18fd349f2ca0f7f20450c010
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 02:06:28 2012 +1100

    Fix scene_node scaling

    Scaling was being done incorrectly. We need to perform a
    matrix multiplication, we can't just blindly multiply the
    scaling values.
    Fix the order of operations in the scene_node apply_translations
    method. We need to do orientation / scaling first, then
    translation LAST.

commit 26f0077fcd20568383727d12fea68d9eb0e58eb4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 01:20:55 2012 +1100

    Remove glTranslatef calls in debug_axis

    Instead, just add a simple offset to the vertices.
    This is clearer and faster.

commit 952671e373631e77d60c4d38b3d4cd33509e7cfc
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 01:16:24 2012 +1100

    Update TODO

    Add MD2 suggestions.
    Add OBJ suggestions.
    Add TODO for Text rendering.

commit 3d9bd290748373c313dd94c5030a73c71a28415d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 01:16:01 2012 +1100

    Add vi swap files to gitignore

commit e8672f10a8c84b5db7b0e063a03f461a4a295db1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 01:14:23 2012 +1100

    Fix typo in mesh_obj example

commit 30c1c5628e2e28de012241547f90a2714ceab91b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 01:12:42 2012 +1100

    Fix scale application in scene_node

    Previously scale was applied before orientation.
    This caused the scale to be based on the parent's
    orientation rather than the node itself.
    The scale is now concatenated into the orientation
    matrix and applied at once.
    The results are slightly different than glScalef
    for some reason, but they are what I would expect.

commit 574b9a64d3382d6159dae6f2c280a48abfa9e50e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 00:56:44 2012 +1100

    Change set_scale function to scale

    Scale is additive and does not replace anything.
    So it makes more sense to say 'scale' rather
    than 'set_scale'

commit 7420eaf12e3f507295c0a1f6608ebe5ea5348202
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 00:49:38 2012 +1100

    Add set_scale method to matrix44

commit 04f1978c7e2de4bc15e324b97a578bb9fe5be422
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 00:01:39 2012 +1100

    Remove a ; from a c++ copy and paste.

    Get that crap outta here.

commit 4c381175c32d4d4029db9895c5bb6f9033b1114c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Mon Mar 26 00:00:29 2012 +1100

    Modify debug behavior for scene nodes.

    Rename render_debug_cube to just debug.
    Add a 'debug_axis' module which renders an XYZ
    axis with labels.
    Added some trivial comments.

commit d0ad3c1bf136d0d4e926d83ba22c645f914b4982
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 25 15:57:59 2012 +1100

    Add FPS display to most examples.

    This requires the latest push_view_matrix
    push_model_view changes in pygly.
    Cocos2d example does not have an update callback
    so it has not been added to that example.

commit 99dc8df30e445f3ad3a1f5c3f9f7fe4f332b8fb6
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 25 15:52:02 2012 +1100

    Make view matrix and model view use matrix stack

    Change apply_view_matrix and apply_model_view to
    push_view_matrix and push_model_view.
    Add pop_view_matrix and pop_model_view.
    This lets us store the original view matrix
    (orthogonal) and we can pop back to it after
    rendering.
    Reset the viewport after rendering a window.
    This fixes the pyglet FPS display not rendering.

commit aa8cfd36453641c302697c46b29a646dcf7b39b4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:20:38 2012 +1100

    Remove unused function in obj_mesh

commit 15bd1b10a226fa324747b9f7bd12c2ff38b2c6ba
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:18:10 2012 +1100

    Add TODO for full OBJ spec compliance

commit f99661ef04fb4cf0951fb160241118bc75ecdc02
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:16:16 2012 +1100

    Update reference to the examples directory

commit 7918125adfd9dfc1f51672e767c64640a30d2077
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:15:28 2012 +1100

    Update model format support in README

commit b3d0781ab5864d69b336890d8437a0ddd0bdd1f1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:13:44 2012 +1100

    Add OBJ_Mesh example and example obj files.

commit c1b828c27220b0ebf8a963336c9a76014f0fc8f7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 22:11:54 2012 +1100

    Add basic Wavefront OBJ file format support.

    Supports vertices (v), texture coords (vt),
    normals (vn) and faces (f).
    Supports relative indices (f -1 -2 -3 -4).

commit fb2799e3a7f0027b6baa9741b1f09848621b86d7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 17:15:48 2012 +1100

    Move sydney md2 model to data/md2 directory

    Remove testing textures.
    Update md2 path in example.

commit 71ea7ddc013ea65fa328ab75d4ac6271c8d6611b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 15:56:14 2012 +1100

    Try and fix syntax. fun fun

commit 1f5aea61a30bfd8b139867979010e1d05b304bd9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 15:55:19 2012 +1100

    Update README to be more verbose about goals.

commit 02916add97bc15da46f568bf185c930dab630e8c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 15:43:24 2012 +1100

    Add install file

    Let's try and keep this file small and easy =)

commit 377a2656ca21e194e1dc86351a71c77ee39d7c36
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 15:42:51 2012 +1100

    Update TODO with regards to MD2 work

commit fa65f28cd56e3d1be5c8eca6f646e028e060e272
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 15:39:42 2012 +1100

    Move OAI to attic. It is outdated.

    C++ libs are also a shit to build. I'll probably
    ditch OAI. It's python lib is horrible too.

commit 60f10d6994c989094c5b6e891e7992ef8c526bdb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 14:45:20 2012 +1100

    Move examples outside the pygly module

commit 1cbbfd63c748446c125b697c481a4c2153e69617
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sat Mar 24 13:35:41 2012 +1100

    Remove InvalidMeshException and use ValueError.

    Custom exceptions ftl. Python has plenty, use those.

commit 06275be354001c9ec9cedb172e53f46d2068461a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 14:02:29 2012 +1100

    Use glPushMatrix instead of manually copy it

    We can use glPushMatrix for GL_PROJECTION matrices
    so we should use that instead of getting the values
    manually and storing them. This should be much faster.

commit 6637b54d56eeb1d4e747561302ae48274fefd839
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 13:58:22 2012 +1100

    Use newly separated functions in viewport

    Use apply_view_matrix and apply_model_view instead
    of delving into the camera member and calling them
    manually.

commit 9a50a9bfab0e74506d3b3a1ba9f5643c9dad3e69
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 13:57:46 2012 +1100

    Separate apply_view_matrix and apply_model_view

    Previously, both were performed in apply_view_matrix.

commit 8b16fc9807111146110ac78f1a7bd4c89e44a96b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 02:20:32 2012 +1100

    Add initial cocos2d example.

commit efc59c6662744eb107ac406c2aebf042dc6534ad
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 02:19:18 2012 +1100

    Add initial Cocos2D layer support.

    Currently renders PyGLy layers.
    Does not seem to render ontop of layers behind it.
    Does not support: layer translations, cocos camera
    and many other features.

commit 12743a564ce2bc5703e66e96a60fcba7c6743bee
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 01:04:43 2012 +1100

    Update examples to not use Scene class.

    We just use a SceneNode now. The way it should be.

commit d97d5a22bb97a91037574e2cf00dbe139ffd9b68
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 01:04:29 2012 +1100

    Remove Scene class.

    It is just a wrapper around a SceneNode, why bother.

commit ed619900fcecec7e02e41304f3b2dbe319d6fbdb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:51:35 2012 +1100

    Move TODO comment from example into TODO list

commit 1f57f76d982dcd0126a4375dcf9bfec6c73f149e
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:49:02 2012 +1100

    Update TODO list

commit 4d62b2fb8a9eaa30e5c636db222a0414e0a1b686
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:47:06 2012 +1100

    Add __init__.py to examples

    This will let examples share code

commit e52c75c91469b92496fa1b8670b43d62f5a61888
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:46:24 2012 +1100

    Remove render_node

    It is not needed and is empty.
    Make render_callback_node inherit directly from
    scene_node.

commit cb42c735a8daf913bf7d2153e40ef310e0473ef8
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:45:35 2012 +1100

    Remove import of six_dof_camera

    This is unneeded and is no longer called that anyway.

commit 7ed16bfd52e0629f6f346c418bfd1947a7a5c127
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:43:54 2012 +1100

    Update TODO list

    Remove some completed tasks.

commit 3fba96d097ecb68f1ae1e63c4823c4e6fed3b303
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:39:58 2012 +1100

    Update fps/six_dof_camera examples to latest code

commit ea3eb2e9a55260a9c58123abddeff551a816b81a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:39:26 2012 +1100

    Rename fps/six_dof_camera to fps/six_dof_controller

    Make variable names of these classes more generic.
    As they are not only for cameras.

commit 6f1505f63556de7eb5be0dc355f9b968e5fade40
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:16:59 2012 +1100

    Add six_dof_camera example.

commit b23db2ab7d6e3f8fb1c7f55fd5a34a5dfef81532
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:16:25 2012 +1100

    Remove commented out code in fps_camera example.

commit ba4e9b976633ab92d7865f3b8eb51a1a55483949
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 23 00:15:16 2012 +1100

    Update fps_camera and six_dof_camera

    Add translate_forward and translate_backward
    to fps_camera.
    Added commenting to all functions.

commit f5ffcef83470cc1a0540057e5a6aa7658dae9c3c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:48:43 2012 +1100

    Remove import of debug_cube

commit 48a48f8b714d73323978dc582b7ae71684bea757
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:47:33 2012 +1100

    Add fps_camera example.

    This uses the grid.py file from render_callbacks.

commit 03c24b74f5b5fa75c254914ce3a413c2746de8b4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:47:01 2012 +1100

    Update the examples to latest code.

    Updates to the new window functions.
    Added some more comments to the examples.

commit 9a2adf672c0f7e2d34a500e2aafda2ac9f89d567
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:46:31 2012 +1100

    Remove the useless clear function in window.

    Just call it yourself =P

commit 8f82da5e0de749c1f51605a7eb398fa546877008
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:45:25 2012 +1100

    Rename set_active to switch_to in viewport

    This matches the Pyglet API window call.

commit 4d5150a11a32670d742e924a520c07ec5414c212
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Thu Mar 22 23:44:27 2012 +1100

    Convert renderer.window from a class to functions

    Window was doing nothing, we've replaced it all with
    a single function.

commit 0fcdc087125066a11d0c457f0d82ab38a971c15f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:57:25 2012 +1100

    Trivial updates to examples

    Move window close outside the __del__ operator
    as we can't be guaranteed that self.window = X
    was called, as the operator can be called by
    an exception in the constructor at any time.
    Make it clearer what the window.render
    parameter is by creating a variable called
    'viewports'.

commit 1fffa0401abc797ae901432ac16fce735b74b04d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:34:02 2012 +1100

    Add README for attic

commit f04a101283747486537481c668f598acc82dec19
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:32:02 2012 +1100

    Add shadow and shaders to TODO

commit 26e553301ae8329b48306c638106fce07f3270a2
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:29:50 2012 +1100

    Add current TODO file

commit a02a758957615dc5091fd8ff18d8ff7e9709def0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:25:30 2012 +1100

    Move placeholder code to attic

commit e85a323071fd0cfae2a1fb14b823d36008dcdf5b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:24:46 2012 +1100

    Move mesh.py to attic.

commit cc651783fe5d5d0841df7baa18dc537fcf23eb26
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:24:06 2012 +1100

    Remove placeholder class.

commit 586b4c2af63b72903215dadf0b0c346fcd1badd7
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:22:23 2012 +1100

    Fix init comments for box_wrap uv_generator.

    Remove comments stating parameters MUST be
    numpy arrays. This is not true.

commit edaa5c89abd0f2dedebee25cc272648d71613a6c
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:18:43 2012 +1100

    Move material to attic

commit b464a06d857effc7508a9aadd5d444b2b205af7a
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:17:04 2012 +1100

    Remove commented out function call

    Trivial commit.

commit 272d606271a130162ec37f07605ab4cc60c4cdc9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:06:45 2012 +1100

    Move md2_old to attic

    Just incase it's got something useful.

commit 1b60cfcd768ffbcb42252ae9a719bc7c10649a07
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 18 09:04:51 2012 +1100

    Remove placeholder file.

commit aae4dec237eda3b3ce3d5b0ed69882db72b71e05
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 23:09:46 2012 +1100

    Put up some more propaganda... ahh.. features

commit b5f912e830a5f41da724fa49d8acb692c01bb480
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 22:28:25 2012 +1100

    Fix the Plane class comment up vec definition.

commit 38cb9e12919e008894795c9da89d6fb519ac99c9
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 22:20:11 2012 +1100

    Add more features to README.md

commit 39a47f0613491f40255f485e869824ef6aa1db91
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 22:13:16 2012 +1100

    Fix README.md formatting.

commit fcc4b343d114e0ea1e420dba52d7eba00b38a994
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 03:28:40 2012 +1100

    Fix orthogonal and projection matrix inheritence

    Make OrthogonalViewMatrix and ProjectionViewMatrix
    inherit from ViewMatrix.
    Remove unused import for weakref.

commit eb4eb9449999bee02d1e92988f8129fa3d9cc0f0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 03:25:18 2012 +1100

    Remove unused window callbacks

commit 65e8102b64a37620d0249cc2dd601e063058d8e4
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 03:23:47 2012 +1100

    Remove old spyder project files.

commit eb6890ff90d522d82f7727938f16d9ea40c3d7d5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 03:12:39 2012 +1100

    Fix formatting of README

commit cefb231090c954237972fa4651c766f6a5dd8b92
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 03:11:45 2012 +1100

    Fix formatting in README

commit 4aee4db62b78a30f05c8a2d8a7a3ac562ea6b0c5
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 02:52:29 2012 +1100

    Add README.md and license

commit e6b8ad92d410f8891a42d7452fbfdce249ebd15f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Mar 7 02:41:43 2012 +1100

    Move all modules into the pygly module.

commit ba6ff87536fa29f8cb80fcf3943f3775f9d3ec19
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 4 22:12:17 2012 +1100

    Cleanup the md2 example.

    Rename md2 example to mesh md2.
    Add animation.
    Cleanup the lighting code.
    Add setup_viewport and tear_down_viewport
    methods.
    Simplify the example to be purely md2.
    Remove camera code.
    Remove grid rendering.

commit 58d3c17b23196d1d772b23b532b5a4e23e65d785
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 4 22:11:31 2012 +1100

    Add tear_down_viewport method to viewport.

    This method is used to undo any commands
    made in setup_viewport.

commit fae1d7c377738a35ef81fa2f1ba14786672451e3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 4 00:17:56 2012 +1100

    Added an example for render callbacks.

commit 098eaed7db57859d173ead6d31ede6813f55d338
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 4 00:17:45 2012 +1100

    Added a simple example of creating a window.

commit 015cb39b7f2934dcd497bf3b4683527ec8467c8d
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Sun Mar 4 00:15:13 2012 +1100

    Major restructure of renderer and scene modules.

    Make modules more independent.
    Window does not store viewports.
    Viewport does not store a window.
    The Renderer object was removed.
    The idle method over-ride was put into its own
    module (renderer.idle).
    Added a view_matrix object.
    Camera's now have a view_matrix class.
    Added a projection_view_matrix. This sets up
    a 3d projection matrix.
    Added an orthogonal_view_matrix class. This
    sets up a 2d orthogonal matrix.
    Added a Scene class. Each Scene class has
    a root node. This allows for the rendering
    of multiple scenes.

commit d614968dab0a0c5a65b26c9994e0d02585713214
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 23:00:43 2012 +1100

    Update md2 example to lastest renderer code.

commit 4a3f9ad8382f0026c4ceb3e9831d7e19c1e064c0
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 22:58:58 2012 +1100

    Decouple the window, viewport and renderer.

    You can now have multiple windows and multiple
    viewports per window.

commit b43e98cec14073e69abb95ff82ddfe0595ca3079
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 22:58:04 2012 +1100

    Be more specific about removing event handlers.

commit 4a4e8cb8b7165c8f5ee6976968b5a36b2a5bec5f
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 20:50:48 2012 +1100

    Update viewport to have an X,Y co-ordinate.

commit b5be174ac591fdfd502ddd83fce66c2f8459516b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 20:44:40 2012 +1100

    Use the @property instead of property( get, None )

commit 20a305d045d375a961b424fe6dd1991b5d003fe1
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 17:52:23 2012 +1100

    Fix keyboard key_state not being updated.

    Register key_state seperately to other events.
    Add a test to check for key state changes.

commit fd01e5f59d9350a14852b65be521f0faec0ec696
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 17:47:41 2012 +1100

    Remove debug prints from input.keyboard

commit 34dd2b5fbd9ff16bb292a25b74eafac8b16c3454
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 17:46:27 2012 +1100

    Move some modules around.

    Move renderer.scene to scene
    Move renderer.mesh to mesh
    move renderer.*_camera to scene.*_camera
    Update examples.md2.main to work with these changes.

commit 713d7fbcd4e03b67519c80257dd6a8723404b538
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 03:02:34 2012 +1100

    Explicitely specify events for our mouse and keyboard

    This fixes the keyboard not receiving on_key_press
    and on_key_release events.

commit 7406720d67193815b0be49fa5d5a6654ce22b6ce
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:52:05 2012 +1100

    Update md2 example to use latest input code.

commit 5dc9f35403e189123c9dde7a80198e10c6f21509
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:51:44 2012 +1100

    Update viewport to use standard weakref class.

commit 15b9444781a5408a1e03a0d95d5cca476ea21b3b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:46:10 2012 +1100

    Add test for removing reference from container.

commit a58cd715342fb4bb4c3767b35ba24a00310be8fb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:45:12 2012 +1100

    Add Mouse and Keyboard objects

    Use existing Mouse and Keyboard classes from 'examples'
    but with updates.
    Update syntax.
    Remove attach to / detach from window. A keyboard / mouse
    requires a window at creation time.
    There are no mutual-exclusivity requirements for these
    objects. Ie, Multiple keyboard / mouse objects can exist
    per window, application, etc.
    Use the new Dispatcher to handle event dispatching.
    Use the Analog and Digital objects.

commit ba4285a034dcb7bc0be4da8f431ea906eabb5f01
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:20:01 2012 +1100

    Create Dispatcher object for observer pattern.

    Move handler register / unregister code from
    analog / digital input objects into the
    Dispatcher.

commit ae305ac9acfae0e4053cb3e38fbed243e7d0c341
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 02:11:36 2012 +1100

    Add Analog and Digital input classes.

    These classes wrap access to basic analog and
    digital inputs.
    Provides the ability to register a handler
    function.
    Multiple instances of thee objects may be used
    to represent a physical device.

commit 80ac9690679b96fcb3297d06377988adb960dceb
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Fri Mar 2 01:18:42 2012 +1100

    Fix weak_method_reference.

    Make weak_method_reference work in set([]).
    Add tests to weak_method_reference.
    Add missing __init__ file.

commit 00c881d97718637e87cf6e4f40194c9e66de4f54
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 29 18:10:37 2012 +1100

    Rename weak_reference to weak_method_reference.
    Move weak_method_reference to new 'common' module.
    Change weak_method_reference to be a wrapper for
    taking references of object methods.
    Added a test to show why the code is necessary.

commit 6c8e527bf867d8d2c2bedbe574cd14ab83a0c832
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 29 10:40:58 2012 +1100

    Add examples. Currently only has MD2 example
    which needs cleaning up.

commit 1c4645c79adf95fb97126afab1af91c73b96bfaa
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 29 10:38:04 2012 +1100

    Rename Loader.py to loader.py, this requires 2
    commits due to case insensitive file system.

commit d496d46365d19788b59d57db158c9cdd8dacdc4b
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Wed Feb 29 10:37:30 2012 +1100

    Rename Loader.py to loader.py, this requires 2
    commits due to case insensitive file system.

commit 3bb4a4a4a6537f3bc5856c7c155866d9961334da
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 23:18:30 2012 +1100

    Fix code to work with new structure.
    Update syntax to use word_word for function / variables
    instead of camel-case.
    Move uv_generator implementations into the uv_generator root.

commit 00c9a388c25add0f7d82c7eee1908c0ad4bb62a3
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 21:07:33 2012 +1100

    Update md2.py to have new code formatting.

commit 88e3da5eb024f4d7a7d9c7568b651ef8040499ca
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 18:29:20 2012 +1100

    Move code out of seperate modules and into a more
    coherent structure organised under the "pygly"
    project.
    Code has not been updated and will not work until
    changes are made to reflect the new paths.

commit 774f38b307f72995ecf03e91189bbe2230f08b80
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 18:00:48 2012 +1100

    Fix gitignore reference for .DS_Store

commit f4ec29dec6b2d02e92a2fe49220db23d082e8b12
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 15:01:04 2012 +1100

    Add Pyrr and PyMesh projects.

commit 9cc2148855dbb395473cf803adb18a77f3924476
Author: Adam Griffiths <adam.lw.griffiths@gmail.com>
Date:   Tue Feb 28 14:59:41 2012 +1100

    Initial PyGLy commit.
- Buffer is now a subclass of BufferRegion
- Changed Buffer.__init__ signature to be more explicit
reversed order of Buffer and BufferRegion in code to satisfy inheritance dependency
Merge branch 'master' into pygly