[ Architecture ]
- Proprietary File Format
-
-Secure Dist. Package (Encrypted)
-
-OpenGL ES v1.1 Compatible
-
-Written in pure C
[ Architecture ]
- Proprietary File Format
-Secure Dist. Package (Encrypted)
-OpenGL ES v1.1 Compatible
-Written in pure C
[ Tool Chain ]
- Built around Blender (WYSIWYG)
-Exporter & Optimizer
-Auto Texture Bake Script
-Animation Exporter
[ Real Time Physic ]
- Rigid Body
- Collision Detection
- Soft Body
- Particle System
- Fog
[ Texturing ]
- Multi-Texturing
- Texture Filtering
- Anisotropic Filtering
- Transparent
- Semi-Transparent
[ Multimedia & Special Effects ]
- Ambient & FX Sound
- Real 3D Stereo & Surround
- Realtime MP3 Playback
- Realtime MPEG 4 Playback
[ Scene Management ]
- Fast Sorting & Culling System
- Event & Trigger System
- Scripting Support (Level & UI)
- Network Support (TCP/IP)
- Touch Screen & Accelerometer
[ Lighting & Shadow ]
- Per-Vertex
- Light Mapping
- Projected Shadow
- Projected Geometry
[ Animation ]
- Full IPO Support
- Hybrid Skeletal Animation
- Keyframe Animation
[ Tutorial 01 ]
Learn how to setup SIO2 for rendering on an iPhone or iPod Touch. It is the most basic example, for beginner you should start here. You will get familiar with the initialization method as well as event callback and drawing in 2D
New Functions: sio2Init, sio2InitGL, sio2InitAL, sio2ErrorGL, sio2ErrorAL, sio2CameraInit, sio2WindowUpdate, sio2CameraSetPerspective, sio2WindowShutdown, sio2ResourceDispatchEvents, sio2WindowEnter2D, sio2WindowLeave2D, sio2ResourceUnloadAll, sio2Shutdown, sio2WindowSwapBuffers, sio2ResourceInit, sio2WindowInit, sio2ResourceFree, sio2WindowFree
[ Tutorial 02 ]
Learn how to use Blender to export 3D models and rendering them into your iPhone or iPod Touch and interact in 3D using the touch screen.
New Functions: sio2ResourceCreateDictionary, sio2ResourceGet, sio2WindowEnterLandscape3D, sio2CameraRender, sio2ResourceRender, sio2WindowLeaveLandscape3D, sio2ResourceOpen, sio2ResourceExtract, sio2ResourceClose, sio2ResourceGenId, sio2OjbectBindAllMatrix, sio2ObjectBindMatrix, sio2ResourceResetState, sio2WindowAddTouch, sio2ResourceDispatchEvents, sio2WindowResetTouch
[ Tutorial 03 ]
Learn how to use textures and multiple UV channels. You can use the technique show in this tutorial to apply texture on your models and use the second texture channel for shadow map.
New Functions: sio2ResourceBindAllImages, sio2ResourceBindAllMaterials, sio2CameraSetPerspective
[ Tutorial 04 ]
Start creating a basic 3D world. This tutorial introduce basic camera movements as well as a quick look on how to integrate a sky dome and show you how to use alpha textures, an overview of the material blending mode, screen aligned billboards and axis aligned billboard, material alpha level property, object culling etc... In addition to this tutorial, you can find a technique to add planar shadow to your scene at the cost of an extra rendering pass. Also this tutorial is a good starting point to learn about SIO2 drawing sequences of the sio2ResourceRender function, and is definitely a first step to a brand new world... enjoy!
New Functions: sio2CameraMove, sio2CameraUpdateDir, sio2CameraRotateZ, sio2CameraUpdateFrustum, sio2ResourceCull, sio2MaterialReset, sio2ObjectReset
[ Tutorial 05 ]
Teaches you how render different type of font from texture, and briefly introduce the capabilities of the font system. It also shows you how to manually load textures, materials and fonts as well as printing information on the screen related to the touch position, touch movements, number of taps and accelerometers axis values.
New Functions: sio2FontInit, sio2FontPrint, sio2FontReset, sio2WindowEnter2D, sio2WindowLeave2D, sio2WindowEnterLandscape2D, sio2WindowLeaveLandscape2D, sio2StreamOpen, sio2ImageInit, sio2ImageLoad, sio2ImageGenId, sio2StreamClose, sio2MaterialInit, sio2FontBuild
[ Tutorial 06_1 & Tutorial 06_2 ]
Now that all the basics have been mastered we can start creating decent worlds in 3D. This tutorial introduce the physic system of SIO2 (powered by Bullet), a first person camera with collision, 3D picking, pseudo instancing, collision shapes, physic material properties, how to create a collision map and a simple implementation of a progressive loading screen, and how to duplicate object in realtime.
In addition another variant using a separate thread for the physic and culling.
New Functions: sio2PhysicInit, sio2PhysicRender, sio2PhysicSetGravity,
sio2ObjectRender, sio2ObjectReset, sio2Sleep, sio2ResourceBindAllInstances, sio2ResourceBindAllPhysicObjects, sio2PhysicAddCamera, sio2PhysicPlay, sio2ResourceSelect3D, sio2ResourceGet, sio2GetElapsedTime, sio2ThreadInit, sio2ThreadCreate, sio2ThreadPlay, sio2ThreadFree, sio2ObjectDuplicate, sio2WindowDebugTouch
[ Tutorial 07 ]
This tutorial introduce how to play MPG4 quality video inside your 3D application. As well as basic video control such as play, pause and stop using the touch screen interface. This code sample if ideal for an opening splash screen and should be the code reference to use to integrate your own [Powered by] introduction.
New Functions: sio2VideoGetFrame, sio2WidgetRender, sio2WidgetReset, sio2MaterialFree, sio2WidgetFree, sio2VideoFree, sio2VideoInit, sio2VideoLoad, sio2EnableState, sio2VideoPlay, sio2VideoPause, sio2VideoStop, sio2InitWidget, sio2ShutdownWidget, sio2WidgetDebug

[ Tutorial 08 ]
In this tutorial Im introducing how to use lights with Blender & SIO2, for demonstration purpose I only use the type Lamp, but all Blender type lights are supported and behave just like in Blender. However you might notice a small difference in the coloring, that is because Blender is using the GL_separate_specular_ext extension which is not available on iPhone and iPod touch, except that difference, you can get a good preview of how your lights are going to look like in the engine from Blender. In addition since theses lights are OpenGL lights, the first 8 light visible and available to the SIO2 resource manager will be rendered, place your lights carefully!
New Functions: sio2MistInit, sio2MistRender, sio2Orbit, sio2LampSetAmbient, sio2LampEnableLight, sio2LampResetLight, sio2MistReset

[ Tutorial 09 ]
This tutorial introduce how to integrate OGG sound into your SIO2 application with the help of Blender. It shows you everything that you need to know to add 3D positional sound or ambient (music) sound and control them at runtime using the SIO2 API. In addition this tutorial demonstrate how to implement a third person camera with collision using the accelerometer as an analog stick to rotate your camera, and uses the touch screen to navigate into 3D space, as well as how to integrate a custom parser callback to retrieve user defined properties set in Blender.
New Functions: sio2InitAL, sio2ShutdownAL, sio2ResourceBindAllSoundBuffers, sio2ResourceBindAllSounds, sio2ResourceSetAmbientVolume, sio2ResourceSetFxVolume, sio2Normalize, sio2CameraUpdateListener, sio2Vec3Diff

[ Tutorial 10 ]
Finally this tutorial is out there... It introduce how to use LUA with the SIO2, OpenGL and OpenAL API within your application. Please take a good look at the source code as well as the .lua inside the SIO2 archive. Sky is the limit with this technique so make sure that you master it well before you implement scripting within your 3D apps. Watch the video tutorial closely for more info. about how to link scripts to your 3D object and have them executed dynamically at run time.
New Functions: sio2ExecLUA, sio2StreamOpenText, sio2ScriptInit, sio2ScriptLoad, sio2ScriptFree, sio2InitLUA, sio2ShutdownLUA

[ Tutorial 11 ]
This tutorial demonstrate how to use the bake.py script that comes with the SDK to bake full render textures or shadow maps. Take a look at the videos to learn how to use this really useful technique within your application to increase the level of realism of your scene.
New Functions: SIO2_IMAGE_FILTERING_TYPE, SIO2_IMAGE_ANISOTROPIC_TYPE

[ Tutorial 12 ]
Quick introduction to particle system. This demo explain how to dynamically initialize emitter as well as how to control the emitted particles. This tutorial also introduce you how to implement effect such as fire, snow, fountain, smoke and other effects ready to be integrated into your 3D apps.
New Functions: sio2EmitterInit, sio2EmitterResetParticles, sio2EmitterSetupParticles, sio2EmitterBindMatrix, sio2Distance
[ Tutorial 13_1 & Tutorial 13_2 ]
This tutorial introduce how to use SIO2socket, there is two part to this tutorial. The first one meant to run on the device and act as a remote control (such as the Wii mote) and send by TCP/IP all the events to the second application (the client) running in the simulator. This is ideal to debug games using the accelerometer without having to always upload your game on the device. With this implementation simply run the server on your device, change the IP address from the client to point to the IP of your device and click “Build and Go”!
In addition this tutorial introduce in detail how to establish a communication protocol between client / server and a robust structure to use for multi-player games.
New Functions: sio2SocketInit, sio2SocketListen, sio2SocketFree, sio2SocketSend, sio2SocketAccept, sio2SocketConnect, sio2SocketReceive
[ Tutorial 14 ]
Introduction to keyframe animation using a format such as MD2 ~ SIO2md2 using a system to smoothly interpolate between animation sequence as well as creating your own action list. The tutorial also introduce the parent / child relationship implemented with SIO2transform, as well as the necessary settings to use rigid body physic and collision detection using custom bounds. In addition this tutorial demonstrate how to use and render a skybox using SIO2, animate a camera path using IPO, as well as clouds / volumetric fog with scroll effect, sun and flares as well as many other functions.
New Functions: sio2Md2Init, sio2Md2Load, sio2Md2ClearAllAction, sio2Md2BuildAction, sio2Md2SetFps, sio2Md2SetAction, sio2Md2Play,
sio2Md2SetNextAction, sio2Md2Free, sio2Md2Render, sio2ResourceBindAllIpos, sio2RGBtoFloat, sio2ResourceGetVRAMSize, sio2EnableState, sio2DisableState, sio2ResourceGetLamp, sio2DotProductToDeg, sio2CameraGetProjectionMatrix, sio2CameraGetModelviewMatrix, sio2WindowGetViewportMatrix, sio2Project, sio2IpoPlay
[ Tutorial 15 ]
Demo introducing how to use the SIO2 bone animation hybrid method. This tutorial show you how to create multiple actions, interpolate between them and add physic to the animated character. It also demonstrate how to double buffer ambient music using OpenAL.
New Functions: sio2ObjectClearAllAction, sio2ObjectBuildAction, sio2ObjectSetAction, sio2ObjectPlay, sio2ObjectSetNextAction
[ Tutorial 16 ]
Show you how to use soft body physic on SIO2object using Bullet and Blender.

Copyright © 2009 SIO2 Interactive. All rights reserved. Comments questions or suggestions? sio2interactive@gmail.com
Please take note that the video tutorials are also available in high res. version, simply right click save as on the iPhone thumbnail (when available) to start downloading the video file.
In addition not all tutorials have video attached to them, when a tutorial do not have a video it means that all the work is done in code. Simply study the source code of the tutorial located in the SIO2_SDK directory to have more information about the technique demonstrated.
[ Tutorial 17 ]
How to create an official SIO2 splash to integrate within your app.