3D Navigation in the Miniork Editor
This kind of demonstrates how you can navigate in 3D within the MiniOrk editor. You can set your ‘hotspot’ by right-left clicking on an object. A pick buffer is used, so vertex shader displacements will be accounted for, also you can pick through transparent pixels on polygons correctly. Generally speaking, navigation is Maya-like, but I have made a few modifications that I think make it easier, examples are screen space z-rotate, strafing, etc..
Dataflow based particle system
Dataflow/GPGPU based procedural texture system
Dataflow/GPGPU based procedural terrain system
These 4 showing GPGPU generated terrain
The terrain generation system is also dataflow(and GPGPU) based,
but these screen shots were shot before the dataflow graph editor was working,
they will get updated soon
The terrain is built by this sequence:
1. sum a base map layer with an octave based noise layer.
2. erode with stochastic fluvial erosion (based on code from John P. Beale).
3. Generate normals.
4. Ambient Occlusion via depth map shadows and image (spherical mapped) based lighting.
96 accumulated/averaged shadow passes at random camera angles.
The camera angle determines the uv lookup into the sphere map.
5. Transfer position and color data to vertex buffers.
Steps 1-4 are all performed on the GPU in DX9.0c via render targets and SM3.0
All of these 4 images generated at 1024×1024 heightfield resolution in 15 seconds or less on a GeForce8800GTX.
Here is a diagram of the asset pipeline I designed for PC/XB360/ and Wii games
MiniOrk Tool for Igor PC and Wii (2008)
Here we are viewing different components of entities via an introspective property editor rendered in a dx9 viewport.
Note that the game actually runs in the editor.
MiniOrk LightBaker V1 (2007)
Here is a video of a light baking asset filter in MiniOrk (which called into NVidia’s Gelato API). There is no actual color texture other than the baked subsurface scattering lightmap. It could also bake to vertex colors. You could bake almost anything you wanted that Gelato supported. I have since moved away from Gelato since it was buggy, inefficient at baking, and is no longer supported. I had replaced Gelato at one point with the open-source Pixie and also had similar troubles with it. I am currently working on my own renderer with baking as a high priority focus, you can see progress on that here .
Download local 1280×720 AVI so you can loop the turntable cycle
MiniOrk – Orkid variant (2006-2007)
This version of miniork was used for 2D NintendoDS games.
Maya WYSIWYG pipeline (2004/2005)
This is a WYSIWYG (what you see is what you get) shader preview pipeline based on Nvidia’s CGFX.
This is not NVIDIA’s prebuilt CGFX plugin, it is a custom DG node (MPxHwShaderNode) which uses the CG library.
Here are some features:
1. Tightly coupled to the internal art pipeline.
2. Multithreaded Texture compression panel (set and preview DXT compression settings on the fly, and preview in the maya modeling viewport)
3. Custom MPxSurfaceShape DG node for high quality binormal/tangent generation and billboard previews.
4. Shader Types include Terrain Blending, Water/Liquid, Anisotropic, MultiChannel (DiffuseMap, Bump Or Normal Map, GlossMap)
This is a Finite State Machine editing tool.
The FSM is executing live while being edited.
This was written in WxWidgets and SOE’s upgraded “EQOA” engine.
Used on ET for Sony Playstation One.
Manages cel(geometry unit) placement, cel animations, sound emitters.
Actor placement and world attribute database editing.
OpenGL / FLTK based GUI.
ADB (Animation Database) (1999/2000)
Used on HBO Boxing for Sony Playstation.
Animation FSM / Blend tree editor for the PS One!
Enabled operator to completely define a boxer’s “style” including offense, defense and movement.
Compiled all animations (hundreds) and transitions (thousands) into a compact binary form factor.
Maps user input to animations.
OpenGL / FLTK based GUI.
The ADB V1 GUI (boxing) was very messy. (It was hand coded and a rush job).
Surf Demo (1999-2000)
This demo helped Osiris sign surfing project with Acclaim.
I was barely involved with production of Osiris Big Wave Surfing
I Just did the demo. (With one other coder)
This was around sept 1999
Its basically an animated/extruded realtime tesselated catmull rom spline curve, with the extrusion dimension under the influence of a time offset.
Shading occurs in 3 passes. (before i learned register combiners)
Pass1 – lay down alpha and ‘chop’ texture
Pass2 – foam layer (additive)
Pass3 – specular (masked through alpha)
SDB (Streaming Database) (2000)
Used on HBO Boxing for Sony Playstation
Manages audio commentary database
Lets operator set up ingame data structures
Converts all WAV files to VAG (Sony ADPCM) on export
Compiles all Audio Files (thousands) into a much more managable package
OpenGL / FLTK based GUI
miscellaneous FLTK/OpenGL GUI widgets I was working on