minko stage3d 20130222

Post on 15-Jul-2015

770 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

top related