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,
21 //var dali = require('../build/Release/dali')( options );
24 var dali = require('dali')( options );
28 daliApp.createMeshActor = function() {
32 "attribute mediump vec2 aInitPos;\
33 attribute mediump vec2 aFinalPos;\
34 attribute mediump vec3 aColor;\
35 uniform mediump mat4 uMvpMatrix;\
36 uniform mediump vec3 uSize;\
37 uniform mediump float uDelta;\
38 uniform lowp vec4 uColor;\
39 varying lowp vec4 vColor;\
42 mediump vec4 vertexPosition = vec4(mix(aInitPos, aFinalPos, uDelta), 0.0, 1.0);\
43 vertexPosition.xyz *= uSize;\
44 vertexPosition = uMvpMatrix * vertexPosition;\
45 gl_Position = vertexPosition;\
46 vColor = vec4(aColor, 0.) * uColor;\
50 "varying lowp vec4 vColor;\
53 gl_FragColor = vColor;\
57 vertexShader : vertShader,
58 fragmentShader : fragShader
61 var shader = new dali.Shader(shaderOptions);
63 var material = new dali.Material( shader );
65 // Create vertex buffer for initial positions
66 var initialPositionVertexFormat = { "aInitPos" : dali.PROPERTY_VECTOR2 };
68 var initialPositionVertexData = [
111 var initialPositionVertexDataArray = new Float32Array(initialPositionVertexData.length);
112 initialPositionVertexDataArray.set(initialPositionVertexData, 0);
113 var initialPositionVertices = new dali.PropertyBuffer(initialPositionVertexFormat, 27);
114 initialPositionVertices.setData(initialPositionVertexDataArray);
116 // Create vertex buffer for final positions
117 var finalPositionVertexFormat = { "aFinalPos" : dali.PROPERTY_VECTOR2 };
119 var bigSide = 0.707106781;
120 var side = bigSide * 0.5;
122 var finalPositionVertexData = [
125 side, 0.25 + bigSide, // pB
126 side - bigSide, 0.25 + bigSide, // pC
129 side - 0.50, -0.25, // pD
131 side - 0.50, 0.75, // pE
134 side - 0.50, -0.75, // pJ
135 side - 0.50, -0.25, // pD
136 side - 0.75, -0.50, // pI
139 side - 0.75, -0.50, // pI
140 side - 0.50, -0.25, // pD
141 side - 0.75, 0.0, // pG
142 side - 0.75, 0.0, // pG
143 side - 1.0, -0.25, // pH
144 side - 0.75, -0.50, // pI
147 side - 0.75, -0.50, // pI
148 side - 1.0, -0.25, // pH
149 side - 1.0, -0.75, // pK
152 side, 0.25 + bigSide - side, // pL
153 side * 2.0, 0.25 + bigSide - side * 2.0, // pM
154 side * 2.0, 0.25 + bigSide - side, // pN
155 side * 2.0, 0.25 + bigSide - side, // pN
156 side, 0.25 + bigSide, // pB
157 side, 0.25 + bigSide - side, // pL
160 side - 0.50, -0.25, // pD
161 side - 0.50, -0.25 + bigSide, // pF2
162 - 0.50, -0.25 + side // pF
165 var finalPositionVertexDataArray = new Float32Array(finalPositionVertexData.length);
166 finalPositionVertexDataArray.set(finalPositionVertexData, 0);
167 var finalPositionVertices = new dali.PropertyBuffer(finalPositionVertexFormat, 27);
168 finalPositionVertices.setData(finalPositionVertexDataArray);
170 // Create vertex buffer for color
171 var colorVertexFormat = { "aColor" : dali.PROPERTY_VECTOR3 };
173 var colorVertexData = [
216 var colorVertexDataArray = new Float32Array(colorVertexData.length);
217 colorVertexDataArray.set(colorVertexData, 0);
218 var colorVertices = new dali.PropertyBuffer(colorVertexFormat, 27);
219 colorVertices.setData(colorVertexDataArray);
222 var geometry = new dali.Geometry();
223 geometry.addVertexBuffer( initialPositionVertices );
224 geometry.addVertexBuffer( finalPositionVertices );
225 geometry.addVertexBuffer( colorVertices );
227 var renderer = new dali.Renderer(geometry, material);
228 renderer.depthIndex = 0;
231 var meshActor = new dali.Actor();
232 meshActor.addRenderer( renderer );
233 meshActor.size = [400, 400, 0];
234 meshActor.parentOrigin = dali.CENTER;
235 meshActor.anchorPoint = dali.CENTER;
236 meshActor.registerAnimatableProperty("uDelta", 0.0);
238 dali.stage.add( meshActor );
240 // Animate the mesh actor
241 var animation = new dali.Animation(5);
243 var animOptions = { alpha:"sin", delay:0, duration:5};
245 animation.animateTo( meshActor, "uDelta", 1.0, animOptions );
246 animation.setLooping(true);
255 daliApp.init = function()
257 daliApp.createMeshActor();