Archive for December, 2009
A Flow3D Update!
The holidays are upon us, as well as another Flow3D update! With the latest 1.075 update, Flow3D is as good a gift as any to buy for a friend or loved one! What could be more compelling and thoughtful than giving someone something that they will probably never understand or care about? I thought so!
This update provides some much-needed functionality and some important fixes to both fG and Flow3D in general. This update is in effect for both the Demo and Retail versions of Flow3D. You can get the updated .exe in the Member’s section if you’ve purchased Flow3D previously. Hope you enjoy the update and the holidays as well!
Flow3D 1.075 Changelog
- Added simple text output using the TTextManager
- TtextManager.init() and TtextManager.uninit() for initialising/destroying.
- TtextManager.addTextBox(…) to add text boxes to the screen.
- See http://flow3d.boxsnap.com/FlowDocs/FlowDocs.htm#TTextManager
- See fG_Using TtextManager.bmx for a working example.
- Added fG.SetOption( “name” , “value” ) for user to specify options on fg creation.
- “vsync” , “true”/”false” added, for setting up vsync outside of config window.
- “logging” , “true”/”false” added, for disabling writing logs to a file.
“scenetype” , ST_GENERIC/ST_INTERIOR/ST_EXTERIOR_* - For enabling different scenemanagers through fG. - “useResourceCFG” , “true”/”false” - Sets whether or not to load data from the /conf/resources.cfg file.
- Added class to handle DLL loading and provide more useful error messages and checking
- Fixed issue where some function references were Null
- Added two basic shaders to facilitate learning how to program Ogre3D Shaders
- Shaders located in /Samples/media/BasicShaders
- Corresponding Wiki articles located in http://flow3d.boxsnap.com/wiki/index.php5?title=Tutorials
- Added ability to push data into shaders ( vec3 , vec4 , int , float , matrix4×4 )
- Added required interfaces to allow for full manual mesh creation and animation via skeleton. See fG_Manual Skeletal Animated Mesh. This should allow you to write importers for most 3d model data types.
- Fixed fG rendersystem issue where rendersystem would not properly select without the config window.
- Added full iteration support to TrenderSystemList
- Added params to TMesh.generateTangentVectors for more robust tangent/binormal/etc calculations. (splitMirrored , splitRotated , storeParityInW )
- Added Visibility masks for 2d objects thru adding visibility masks to viewports
- Removed some old OgreNewt DLL Code ( No interface breaking changes )
- Fixed issue where log output was pushed to stdout. This fixes the compiler errors generated in the BlitzMax IDE and the general slowdowns associated with executing programs in the BlitzMax IDE or BliDE.
- Fixed issue where F10 would cause program to lose focus.
- In FG - Set up all parenting to use TMovableObject instead of Tentity.
- Added parenting options for fG.createCube(…) and fG.createSphere(…)
- Ensured that lights created with fG.createLight were created with parent nodes
- Added helper method TMovableObject.attachTo for attaching TMovableObjects to one another. ( TEntity s, TCamera s , TLight s , TParticleSystem s ,etc )
- Added fG.createSkyBox(…) , fG.disableSkyBox() , fG.isSkyBoxEnabled() and wiki article (http://flow3d.boxsnap.com/wiki/index.php5?title=Building_a_Basic_SkyBox)
- Added fG.createSkYPlane , fG.disableSkyPlane , fG.isSkyPlaneEnabled() and wiki article (http://flow3d.boxsnap.com/wiki/index.php5?title=Building_a_Scrolling_Sky_Plane)
- Added functionality to allow a more manual rendering process
- Added wiki article: http://flow3d.boxsnap.com/wiki/index.php5?title=Manual_Buffer_Flipping
- Added Quat(…) helper function for quickly creating quaternion values.
- Added ability to scale texture maps/texture unit state uvs.
- New Skeleton and HardwareBuffer managers added to allow creation of skeletons , vertex and index buffers.
- Updated to latest Ogre version ( 1.6.4 )
- Tested and working with latest BlitzMax ( 1.36 )

