11 'stereoscopic-mode':'mono', // stereo-horizontal, stereo-vertical, stereo-interlaced,
12 'stereo-base': 65 // Distance in millimeters between left/right cameras typically between (50-70mm)
17 'view-mode': viewMode,
20 var dali = require('./build/Release/dali')( options );
24 daliApp.createMeshActor = function() {
28 "attribute mediump vec2 aPosition1;\
29 attribute mediump vec2 aPosition2;\
30 uniform mediump mat4 uMvpMatrix;\
31 uniform mediump vec3 uSize;\
32 uniform mediump float uMorphAmount;\
35 mediump vec2 morphPosition = mix(aPosition1, aPosition2, uMorphAmount);\
36 mediump vec4 vertexPosition = vec4(morphPosition, 0.0, 1.0);\
37 vertexPosition.xyz *= uSize;\
38 vertexPosition = uMvpMatrix * vertexPosition;\
39 gl_Position = vertexPosition;\
43 "uniform lowp vec4 uColor;\
44 uniform sampler2D sTexture;\
47 gl_FragColor = uColor;\
51 vertexShader : vertShader,
52 fragmentShader: fragShader
55 var shader = new dali.Shader(shaderOptions);
57 var material = new dali.Material( shader );
59 // Create vertex buffer
60 var pentagonVertexFormat ={ "aPosition1" : dali.PROPERTY_VECTOR2 };
62 var pentagonVertexData = [ 0, 1,
68 var pentagonVertexDataArray = new Float32Array(pentagonVertexData.length);
69 pentagonVertexDataArray.set(pentagonVertexData, 0);
70 var pentagonVertices = new dali.PropertyBuffer(pentagonVertexFormat, 5);
71 pentagonVertices.setData(pentagonVertexDataArray);
73 var pentacleVertexFormat ={ "aPosition2" : dali.PROPERTY_VECTOR2};
75 var pentacleVertexData = [ 0, -1,
81 var pentacleVertexDataArray = new Float32Array(pentacleVertexData.length);
82 pentacleVertexDataArray.set(pentacleVertexData, 0);
83 var pentacleVertices = new dali.PropertyBuffer(pentacleVertexFormat, 5);
84 pentacleVertices.setData(pentacleVertexDataArray);
86 var indexFormat ={ "indices" : dali.PROPERTY_INTEGER };
88 var indexData = [0, 1, 1, 2, 2, 3, 3, 4, 4, 0];
90 var indexDataArray = new Uint32Array(indexData.length);
91 indexDataArray.set(indexData, 0);
92 var indices = new dali.PropertyBuffer(indexFormat, 10);
93 indices.setData(indexDataArray);
96 var geometry = new dali.Geometry();
97 geometry.addVertexBuffer( pentagonVertices );
98 geometry.addVertexBuffer( pentacleVertices );
99 geometry.setIndexBuffer( indices );
100 geometry.setGeometryType( dali.GEOMETRY_LINES );
102 var renderer = new dali.Renderer(geometry, material);
103 renderer.depthIndex = 0;
106 var meshActor = new dali.Actor();
107 meshActor.addRenderer( renderer );
108 meshActor.size = [300, 300, 0];
109 meshActor.parentOrigin = dali.CENTER;
110 meshActor.anchorPoint = dali.CENTER;
111 meshActor.registerAnimatableProperty("uMorphAmount", 0.0);
113 dali.stage.add( meshActor );
115 // Animate the mesh actor
116 var animation = new dali.Animation(5);
118 var keyFramesIndex = [{progress:0.0, value: 0.0}, {progress:1.0, value:1.0}];
119 var animOptions = { alpha:"sin", delay:0, duration:5};
121 animation.animateBetween( meshActor, "uMorphAmount", keyFramesIndex, animOptions );
122 animation.setLooping(true);
131 daliApp.init = function()
133 daliApp.createMeshActor();