SDL-Tutorial-3DWorld

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	  more general sounding ::Actor::Debug.
	- We don't need to clear the color buffer when we have a skybox.
	  Clearing only the depth buffer will have the exact same effect.
	- Adding support for a ->{hidden} property on actors that allows
	  them to intentionally make themselves invisible.
	- Left CTRL now provides negative lift to the God-mode camera.
	  i.e. It makes you go vertically downwards.
	- Added F1 toggle to enable/disable debuging actors
	- Added F2 toggle to enable/disable abusively expensive actors

0.21 Tue 28 Dec 2010
	- Adding directory-based asset support, which is needed for linking
	  model files to their supporting texture (etc) files.
	- Reorganised the file parsers into the ::Asset::* namespace.
	- Adding a basic MTL file parser to add materials to OBJ models.
	- Added an actor for showing the contents of a MTL file
	- Added support for transparent materials in MTL files
	- Actor display order is now sorted by descending distance from the camera
	  to allow the alpha blending of transparent and anti-aliased objects
	  to render correctly and prevent objects behind them "dissapearing".
	- Added angle and elevation to the diagnostic console.
	- Rewrote all my camera movement math as it was rotten. The new version is
	  much easier to read and supports holding space down to go "up" in a camera
	  angle relative direction.
	- Added support for bounding boxes to actors.
	- Added a bounding box actor, which is a semi-transparent white line cube
	  that follows another actor around and highlights their bounding box.
	- Added support for loading materials in OBJ files automatically from their
	  respective MTL files.
	- Added a plain => 1 option for disabling automatic MTL loading in cases
	  where there is no MTL file and you just want a plain OBJ model.
	- Added a herd of dangerous wild toilet plungers.
	- Added a simple demonstration of actor-culling optimisation that skips
	  drawing any actor that is behind the camera. This is nowhere near as good
	  as frustrum culling (culling to the cemera's observation pyramid) but is
	  simpler to implement and does the job for now.

0.20 Mon 20 Dec 2010
	- Apparently OpenGL convention dictates that all polygons have their
	  points declared counter-clockwise to the "front" of the polygon.
	  Once turning on face culling to save GL work, it turns out that
	  all my shapes would inside out. Oops :)
	- Importing a local fork of OpenGL::RWX
	- Adding a life-sized nutcracker doll to help test RWX support.
	- Expanded OpenGL::RWX's per-face surface normals to face-averaged
	  per-vertex surface normals, allowing OpenGL to currectly smooth the
	  polygons (important on polished wood toys)
	- Added preliminary support for OBJ models (only with per-face surface
	  normals at this point).
	- Added a superbly detailed and giant freaking table to demonstrate the
	  greater quality of objects you tend to be able to find for obj files.

0.19 Mon 20 Dec 2010
	- Added a "God Mode" flying camera which uses the left shift key
	  as an exponential speed accelerator, and make it the default.
	- Added ->current static method to ::3DWorld to get currently
	  world. Removes the need to pass things like the camera around
	  everywhere all the time.
	- The skybox now locates the camera via ->current->camera instead
	  having to be passed the camera.
	- Added a console for overlaying the world with diagnostic text.
	- Set min_t to zero to push frames per second as high as possible.
	- Correcting some broken versions

0.18 Sun 19 Dec 2010
	- Moving the landscape to a typical 2000-era infinite ground plane,
	  but with a more detailed texture than in that era.
	  Unfortunately, the new ground plane means our skybox looks wrong
	  now, as it was never designed for use with a ground plane.
	- Reorganised some internals so we don't need to export from OpenGL
	  so much. This will be removed later, once OpenGL fixes it constants.
	- Added support for tiling textures with SDL::Tutorial::3DWorld::Tile

0.17 Sat 18 Dec 2010
	- Added preliminary support for loading models from RWX files

0.16 Sat 18 Dec 2010
	- Switch from manual GL display list code to OpenGL::List
	- Implemented left shift for "running"

0.15 Fri 17 Dec 2010
	- Because we can be fairly certain that TextureCube (i.e. crates)
	  will be popular, use that class to demonstrate the use of OpenGL
	  display lists via glGenLists(), glNewList(), and glCallList().
	- Noting that, of all things, glLineWidth() is insanely expensive.

0.14 Fri 17 Dec 2010
	- Actors are now rendered in random order to expose any places
	  where material property state management is being done badly.
	- Added some simple utility methods for getting paths to files
	  and directories in the share directory.
	- Added a TextureCube package for creating floor-origin rotatable
	  resizable cubes with the same (and correctly oriented) texture
	  on each face. Which is to say...
	- Fear the mighty Crate! Weep! Swoon!

0.13 Fri 17 Dec 2010
	- Factored the teapot-specific logic into a separate class
	- Added a new "grid cube" actor which demonstrates points, lines,
	  multiple element actors and grid-snapping for worlds which
	  inherently consist of a cube space (think original Wolfenstein).
	- When a texture is displayed it now inherently defends itself
	  against being altered by previous alpha channel settings of
	  other objects.
	- The 3dworld launcher now supports a --window option to disable
	  fullscreen in places where it's weird (like on my giant portrait
	  orientation monitors at $work)

0.12 Fri 17 Dec 2010
	- Increase default (only) resolution to 1024x768
	- Turned on double buffering to prevent mouselook flicker

0.11 Fri 17 Dec 2010
	- OpenGL::GL_LINEAR_MIPMAP_LINEAR definitely looks better, especially
	  when it has text on it.
	- Change the skybox overlap to a minimum amount for slightly tighter
	  welding of the skybox edges.
	- Change to 24 bit colour depth so we don't get colour gradient steps

0.10 Fri 17 Dec 2010
	- The three teapots now match the official colours for the three axis



( run in 1.796 second using v1.01-cache-2.11-cpan-39bf76dae61 )