Flow3D

tnow bnow New Release V1.075    December 10th, 2009

Introduction


Flow’s primary function is to provide Blitzmax users with a bleeding edge 3D render engine. With some consideration we have decided  in the mature and professionally developed Ogre3D. Flow3D empowers the developer with the Newton Game Dynamics Engine to handle collisions and physics, CEGUI skinnable and scriptable GUI library for 2D UI and game HUD elements.

As an alternative to CEGUI Blitzmax users can also use the MaxGUI or WxMax modules to provide a standard OS native graphical user interface.

Minimum Requirements
Supported Operating Systems:
Windows 98 , Windows 2000 , Windows XP , Windows Vista , Windows 7

Processor Requirements:
300mhz Pentium II or Higher

RAM Requirements:
32MB of RAM Minimum
128MB Recommended

Disk Space Requirements:
100MB Minimum

Video Card Requirements:
8MB 3D Accelerated Graphics Adapter
Note: Using shaders in HLSL, GLSL or CG require your card to support the shader targets you are trying to use.

Rendering

Rendering

Flow uses the highly regarded Ogre 3D render engine, Offering a broad range of cutting edge features, power, flexibility and compatibility across multiple platforms on a broad range of hardware. Includes the following features:

Productivity features

  • Simple, easy to use OO interface designed to minimise the effort required to render 3D scenes, and to be independent of 3D implementation i.e. Direct3D/OpenGL.
  • Extensible example framework makes getting your application running is quick and simple
  • Common requirements like render state management, spatial culling, dealing with transparency are done for you automatically saving you valuable time
  • Clean, uncluttered design and full documentation of all engine classes
  • Proven, stable engine used in several commercial products

Platform & 3D API support

  • Direct3D and OpenGL support
  • Windows (all major versions), Linux and Mac OSX support

Material / Shader support

  • Powerful material declaration language allows you to maintain material assets outside of your code
  • Supports vertex and fragment programs (shaders), both low-level programs written in assembler, and high-level programs written in Cg, DirectX9 HLSL, or GLSL and provides automatic support for many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc
  • Supports the complete range of fixed function operations such as multitexture and multipass blending, texture coordinate generation and modification, independent colour and alpha operations for non-programmable hardware or for lower cost materials
  • Multiple pass effects, with pass iteration if required for the closest ‘n’ lights
  • Support for multiple material techniques means you can design in alternative effects for a wide range of cards and OGRE automatically uses the best one supported
  • Material LOD support; your materials can reduce in cost as the objects using them get further away
  • Load textures from PNG, JPEG, TGA, BMP or DDS files, including unusual formats like 1D textures, volumetric textures, cubemaps and compressed textures (DXT/S3TC)
  • Textures can be provided and updated in realtime by plugins, for example a video feed
  • Easy to use projective texturing support

Meshes

  • Flexible mesh data formats accepted, separation of the concepts of vertex buffers, index buffers, vertex declarations and buffer mappings
  • Biquadric Bezier patches for curved surfaces
  • Progressive meshes (LOD), manual or automatically generated
  • Static geometry batcher

Animation

  • Sophisticated skeletal animation support
    • blending of multiple animations with variable weights
    • variable/multiple bone weight skinning
    • software and hardware-accelerated skinning pipelines with intelligent buffer sharing
    • manual bone control
    • Configurable interpolation modes, accuracy vs speed tradeoffs
  • Flexible shape animation support
    • Morph animation for legacy applications where you wish to perform simple linear blends between shape snapshots
    • Pose animation for modern shape animation, allowing you to blend many poses at variable weights along a timeline, for example expression / mouth shapes to perform facial animation
    • Both techniques can be implemented in hardware and software depending on hardware support
  • Animation of SceneNodes for camera paths and similar techniques, using spline interpolation where needed
  • Generic animation tracks can accept pluggable object adaptors to enable you to animate any parameter of any object over time

Scene Features

  • Highly customisable, flexible scene management, not tied to any single scene type. Use predefined classes for scene organisation if they suit or plug in your own subclass to gain full control over the scene organisation
  • Several example plugins demonstrate various ways of handling the scene specific to a particular type of layout (e.g. BSP, Octree)
  • Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc
  • Multiple shadow rendering techniques, both modulative and additive techniques, stencil and texture based, each highly configurable and taking full advantage of any hardware acceleration available.
  • Scene querying features

Special Effects

  • Compositor system, allowing for full-screen postprocessing effects to be defined easily, via scripts if desired
  • Particle Systems, including easily extensible emitters, affectors and renderers (customisable through plugins). Systems can be defined in text scripts for easy tweaking. Automatic use of particle pooling for maximum performance
  • Support for skyboxes, skyplanes and skydomes, very easy to use
  • Billboarding for sprite graphics
  • Ribbon trails
  • Transparent objects automatically managed (rendering order & depth buffer settings all set up for you)

Misc features

  • Common resource infrastructure for memory management and loading from archives (ZIP, PK3)
  • Flexible plugin architecture allows engine to be extended without recompilation
  • ‘Controllers’ allow you to easily organise derived values between objects e.g. changing the colour of a ship based on shields left
  • Debugging memory manager for identifying memory leaks
  • ReferenceAppLayer provides an example of how to combine OGRE with other libraries, for example ODE for collision & physics
  • XMLConverter to convert efficient runtime binary formats to/from XML for interchange or editing

Physics

PhysicsNewton Game Dynamics 2.0

Flow incorporates the excellent Newton Game Dynamincs physics library. A mature cross platform solution with many powerfull features.

Newton Game dynamics engine implements a deterministic solver, which is not based on traditional LCP or iterative methods, but possesses the stability and speed of both respectively. This feature makes our product a tool not only for games, but also for any real-time physics simulation.

Newton Game Dynamics is integrated into Flow to allow you to manage scenes in your projects with ease. With this technology you only need to know basic physics principles to produce realistic physics behavior. Tuning time is reduced to a minimum because you don’t need to wrestle the targeted hardware nor set up esoteric parameters to get the correct timing for your simulation. Newton physics engine behaves naturally.

Newton Game Dynamics is an integrated solution for real time simulation of physics environments. The API provides scene management, collision detection, dynamic behavior and yet it is small, fast, stable and easy to use.

GUI

GUI Graphical User Interface

Flow offers two robust GUI solutions to choose from CEGUI or MaxGUI depending on your applications specific needs. CEGUI is a skinnable, scriptable cross platform GUI system. It’s XML based scripts offer offer a great deal of flexibility without having to rely on hard coding. Simple enough for artists, and benefited by extensive support tools including Layout editor. The imageset editor and font text tool.

The Developers of CEGUI provide editors to streamline the process of creating skinnable UI’s.

The Imageset editor allows you to place all your widget graphics on a single texture page and quickly and easily define your widget components with a simple WYSIWYG click and drag interface. On saving your project the .imageset scripts are automaticly created for you saving Artists hours of time and frustration.

The Layout editor compliments the Imageset editor allowing you to layout your GUI in a WYSIWYG fashion. With support for either or both  absolute (pixel perfect) or relative (scaled) ui elements in the same screen, along with extensive formatting options that support for all commonly used parameters. Laying out a UI is relatively easy compared to most solutions out there empowering your artist with simple, powerful tools removing much of the burden from what would normaly be coders hands.

The alternative is MaxGUI. Offering OS native widgets, this GUI system is best suited to developing  Tools and Utilities requiring an OS native look and feel. You can combine both to give you the benefits of full control of your windows and easy access to OS native dialogues and colour pickers.


Looking for something?

Use the form below to search the site: