minko stage3d 20130222
TRANSCRIPT
Jean-Marc Le Roux promethe42 httpblogsaerysinjeanmarc-leroux
Resources
Sources httpsgithubcomaerysminko
Forum httpanswersaerysin
Samples httpgithubcomaerysminko-examples
Documentation httphubaerysinindexphpMinkoTutorials httphubaerysinminkoreferenceindexhtml
Minko SDKs
Community SDK Free and open
source framework Free tools
Minko SDKs
Professional SDK Advanced Features
Community SDK Free and open
source framework Free tools
PART 1 SCRIPTING Community SDK
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Resources
Sources httpsgithubcomaerysminko
Forum httpanswersaerysin
Samples httpgithubcomaerysminko-examples
Documentation httphubaerysinindexphpMinkoTutorials httphubaerysinminkoreferenceindexhtml
Minko SDKs
Community SDK Free and open
source framework Free tools
Minko SDKs
Professional SDK Advanced Features
Community SDK Free and open
source framework Free tools
PART 1 SCRIPTING Community SDK
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Minko SDKs
Community SDK Free and open
source framework Free tools
Minko SDKs
Professional SDK Advanced Features
Community SDK Free and open
source framework Free tools
PART 1 SCRIPTING Community SDK
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Minko SDKs
Professional SDK Advanced Features
Community SDK Free and open
source framework Free tools
PART 1 SCRIPTING Community SDK
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PART 1 SCRIPTING Community SDK
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
The bigger the app the cleaner you want to be
should
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
I ndash or someone else ndash already did this I want to re-use the existing code
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
ISceneNode
Mesh Camera Group Light
AbstractController
ISceneNodeaddController()
AnimationController AbstractScriptController
DataProvider
ISceneNodebindingsaddDataProvider()
CameraDataProvider LightDataProvider M
odel
Co
ntro
ller
View
Material
MyScript
To create a script Extend AbstractScriptController Override the update() method
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
You can keep working the way you want You donrsquot have to use scripts or controllers
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
But with scripts amp controllershellip
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Re-usable loosely coupled code Target multiple scene nodes with a single script Easily build and share your own library of useful scripts Easily fetch and use the communities code snippets
only 1 script var kbScript KeyboardMoveScript = new KeyboardMoveScript() but it controls 2 targets cubeaddController(kbScript) sphereaddController(kbScript)
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Easy access to Mousekeyboard properties and signals time deltaTime Scene A lot of other properties useful to script stuffhellip
if the right arrow key is downhellip if (keyboardkeyIsDown(KeyboardRIGHT)) targettransformappendTranslation(1)
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Similar to EventENTER_FRAME but Lighter Customisable per-script laquo frame rate raquo
execute this script only once per second thisframerate = 1
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Example move objects with the keyboard
public class KeyboardMoveController extends AbstractScriptController override protected function update(target ISceneNode) void
if (keyboardkeyIsDown(KeyboardRIGHT))
targettransformappendTranslation(1)
if (keyboardkeyIsDown(KeyboardLEFT))
targettransformappendTranslation(-1)
if (keyboardkeyIsDown(KeyboardUP))
targettransformappendTranslation(0 1)
if (keyboardkeyIsDown(KeyboardDOWN))
targettransformappendTranslation(0 -1)
if (keyboardkeyIsDown(KeyboardPAGE_UP))
targettransformappendTranslation(0 0 1)
if (keyboardkeyIsDown(KeyboardPAGE_DOWN))
targettransformappendTranslation(0 0 -1)
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Usage
instanciate the script var kbScript KeyboardMoveScript = new KeyboardMoveScript()
add the script to a target
cubeaddController(kbScript)
remove the script from a target
cuberemoveController(kbScript)
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
More about scripts and controllershellip
Write your first controller A Script To Move Objects With The Keyboard Handle Mouse Focus With A Script Switching Material With a Controller Create Procedural 3D Animations
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PART 2 SHADERS AND GPU PROGRAMMING
Community SDK
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
HDR Rendering Dynamic lights
Static lights Dynamic shadows
Static shadows Diffuse texture
Noise
Diffuse texture
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Kids this is the story of how I met your shaderhellip
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Evolution of shader languages
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
What about AGAL
1992 2001 2004 2011
Mortal Kombat GTA III Doom 3 Crysis 2
1996
Language Features
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
In 1992 Flash was called FutureSplash Animator and written by a single man Jonathan Gay
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
learning AGAL = learning GPU programming AGAL is awesome for 3D engines developers Low-level binary assembly code Cross-platform
AGAL is a nightmare for 3D applications
developers
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
With Minko you can program the GPU using ActionScript 30
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Minko embedded JIT Compiler
Shader ByteCode ActionScript Shader Code
public class MyShader public function getVertexPosition() SFloat return localToScreen(vertexXYZ) public function getPixelColor() SFloat return sampleTexture( meshBindingsgetTextureParameter(lsquotexturersquo) interpolate(vertexUV) )
m44 vt0 va0 vc0 m44 vt0 vt0 vc5 mov oc vt0 mov v0 va1 tex ft0 v0 ltlinear2dgt mov oc ft0
at runtime compilation
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
ActionScript Shader
bullUse all ActionScript 30 features bullgetOutputPosition =gt Vertex Shader bullgetOutputColor =gt Fragment Shader bullOOP style bullCPUGPU balancing
ASG
bullAbstract Shader Graph bullOptimizations bullConstants and temporary registers allocation bullOperations re-ordering for faster execution and optimal use of temporary registers
AGAL
bullDirect bytecode generation at runtime bullCustom compiler bullOptional debug data bullAGAL assembly output bullShader graph output bullMemory allocation map
Exec
utio
n
Full AS3 workflow Conditionnals and loops Classes and methods Dynamic OOP coding style
Exhaustive AGAL implementation
Extra high-level operations set Re-usable laquo shader parts raquo
Shaders compiled at-runtime
Just like any other AS3 code
Dynamic according to The scene properties The mesh propertiesmaterial Any constant variable etchellip
Redistributable as SWFSWC files
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
AC TIONSCRIPT IS NOW THE MOST POWERFUL S H A D E R L A N G U A G E
(as a language but not GPU feature wise because of Stage3D limitations )
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
More about shadershellip
JIT shaders for better performance Create your first shader Understanding vertex to fragment
interpolation Get ActionScript shaders compilations logs Create a shader rendering per-pixel normals Create a laquo black and white raquo post-processing
effect
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PART 3 SCENE EDITOR Community SDK
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
WYSIWYG Editor
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Fine tuning
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Flash Pro-like symbols
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
dae 3ds obj hellip
Common File Formats
Publish MK Scenes
hellip
editor
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
MK File Format
Fully optimized for Minko More suitable for webmobile apps in general Binary Light Zip deflate or LZMA
Readable with AS3 PHP C++ and JavaScript
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
More about the editorhellip
Normal mapping and specular maps Importing Collada files
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PROFESSIONAL SDK
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Minko SDKs
Professional SDK
Community SDK
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
After this slide nothing is neither free nor open source (for nowhellip )
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PART 1 PHYSICS Professional SDK
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Fast robust and extensible Create new kind of forces force fieldshellip Add specialized shapes and collision detection
algorithms
Comprehensive set of shapes Box sphere cone cylinderhellip Triangle mesh Convex hull Heightmap
Triggers for scripting
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
listen to the CollidercollisionStarted signal redGoalCollidercollisionStartedadd( function (collision CollisionStarted) void _numPointB++ resetBall() ) do the same for CollidercollisionStoppedhellip
Working with triggers
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Best practice implement triggers using scripts You will soon be able to bind them directly in the editor
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
PART 2 OPTIMIZATIONS FOR THE WEB AND MOBILE DEVICES
Professional SDK
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
MK Optimizations A new file format for 3D content Readable with AS3 PHP C++ and JavaScript
Optimized for the web Lossy and lossless 3D compression 3D streaming (WIP)
Optimized for mobile devices Automated shape-conservative 3D simplification Fast implementation Automated ATF compression for textures
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
dae 3ds obj hellip
Common File Formats
Publish Optimized MK Scenes
hellip
editor Automated optimizations
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
0
5000
10000
15000
20000
25000
30000
35000 dae
dae (rar)
obj
obj (rar)
3ds
mk
mk (simplification)
mk (compression)
mk (compression +simplification)
3D formats size comparison (lower is better)
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
3D formats comparison
0
20
40
60
80
100
120
140
File Size (MB) Downloading Time(seconds)
Parsing Time(seconds)
OriginalMK
(lower is better)
Collada
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
3D Scene Automated optimizations
ATF compression Texture resizing 3D simplification 3D compression
Publish
x10 faster rendering
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
3D Scene Automated optimizations
ATF compression 3D compression 3D streaming (WIP)
Publish
x20 faster download
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
3D Scene
Build your scene once publish it for each device automatically
myScenemks
myMobileScenemk
myWebScenemk
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Simplification is also very cool to create multiple level of details for the same scene
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
Next
Public beta next week Everything for free (for nowhellip) Give us feedback
ShaderLab integration
httpwwwyoutubecomwatchv=yuR1e1PjU8Y
Editor plugins
Artificial intelligence frameworkeditor
Particles frameworkeditor
Animations editor
Terrain editor
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-
MERCI
- Slide Number 1
- Resources
- Minko SDKs
- Minko SDKs
- Part 1 scripting
- Slide Number 6
- Slide Number 7
- Slide Number 8
- Slide Number 9
- Slide Number 10
- Slide Number 11
- Slide Number 12
- Slide Number 13
- Slide Number 14
- Slide Number 15
- Example move objects with the keyboard
- Usage
- More about scripts and controllershellip
- Part 2 Shaders and GPU programming
- Slide Number 20
- Slide Number 21
- Evolution of shader languages
- What about AGAL
- Slide Number 24
- Slide Number 25
- Slide Number 26
- Slide Number 27
- Slide Number 28
- Slide Number 29
- Slide Number 30
- Slide Number 31
- More about shadershellip
- Part 3 Scene Editor
- WYSIWYG Editor
- Fine tuning
- Flash Pro-like symbols
- Slide Number 37
- Slide Number 38
- Slide Number 39
- MK File Format
- More about the editorhellip
- Professional sdk
- Minko SDKs
- Slide Number 44
- Part 1 Physics
- Slide Number 46
- Slide Number 47
- Slide Number 48
- Slide Number 49
- Slide Number 50
- Slide Number 51
- Slide Number 52
- Working with triggers
- Slide Number 54
- Part 2 Optimizations for the web and mobile devices
- MK Optimizations
- Slide Number 57
- 3D formats size comparison
- 3D formats comparison
- Slide Number 60
- Slide Number 61
- Slide Number 62
- Slide Number 63
- Next
- Merci
-