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 // Create vertex buffer for initial positions
64 var initialPositionVertexFormat = { "aInitPos" : dali.PROPERTY_VECTOR2 };
66 var initialPositionVertexData = [
109 var initialPositionVertexDataArray = new Float32Array(initialPositionVertexData.length);
110 initialPositionVertexDataArray.set(initialPositionVertexData, 0);
111 var initialPositionVertices = new dali.PropertyBuffer(initialPositionVertexFormat);
112 initialPositionVertices.setData(initialPositionVertexDataArray, 27);
114 // Create vertex buffer for final positions
115 var finalPositionVertexFormat = { "aFinalPos" : dali.PROPERTY_VECTOR2 };
117 var bigSide = 0.707106781;
118 var side = bigSide * 0.5;
120 var finalPositionVertexData = [
123 side, 0.25 + bigSide, // pB
124 side - bigSide, 0.25 + bigSide, // pC
127 side - 0.50, -0.25, // pD
129 side - 0.50, 0.75, // pE
132 side - 0.50, -0.75, // pJ
133 side - 0.50, -0.25, // pD
134 side - 0.75, -0.50, // pI
137 side - 0.75, -0.50, // pI
138 side - 0.50, -0.25, // pD
139 side - 0.75, 0.0, // pG
140 side - 0.75, 0.0, // pG
141 side - 1.0, -0.25, // pH
142 side - 0.75, -0.50, // pI
145 side - 0.75, -0.50, // pI
146 side - 1.0, -0.25, // pH
147 side - 1.0, -0.75, // pK
150 side, 0.25 + bigSide - side, // pL
151 side * 2.0, 0.25 + bigSide - side * 2.0, // pM
152 side * 2.0, 0.25 + bigSide - side, // pN
153 side * 2.0, 0.25 + bigSide - side, // pN
154 side, 0.25 + bigSide, // pB
155 side, 0.25 + bigSide - side, // pL
158 side - 0.50, -0.25, // pD
159 side - 0.50, -0.25 + bigSide, // pF2
160 - 0.50, -0.25 + side // pF
163 var finalPositionVertexDataArray = new Float32Array(finalPositionVertexData.length);
164 finalPositionVertexDataArray.set(finalPositionVertexData, 0);
165 var finalPositionVertices = new dali.PropertyBuffer(finalPositionVertexFormat);
166 finalPositionVertices.setData(finalPositionVertexDataArray, 27);
168 // Create vertex buffer for color
169 var colorVertexFormat = { "aColor" : dali.PROPERTY_VECTOR3 };
171 var colorVertexData = [
214 var colorVertexDataArray = new Float32Array(colorVertexData.length);
215 colorVertexDataArray.set(colorVertexData, 0);
216 var colorVertices = new dali.PropertyBuffer(colorVertexFormat);
217 colorVertices.setData(colorVertexDataArray, 27);
220 var geometry = new dali.Geometry();
221 geometry.addVertexBuffer( initialPositionVertices );
222 geometry.addVertexBuffer( finalPositionVertices );
223 geometry.addVertexBuffer( colorVertices );
225 var renderer = new dali.Renderer(geometry, shader);
226 renderer.depthIndex = 0;
229 var meshActor = new dali.Actor();
230 meshActor.addRenderer( renderer );
231 meshActor.size = [400, 400, 0];
232 meshActor.parentOrigin = dali.CENTER;
233 meshActor.anchorPoint = dali.CENTER;
234 meshActor.registerAnimatableProperty("uDelta", 0.0);
236 dali.stage.add( meshActor );
238 // Animate the mesh actor
239 var animation = new dali.Animation(5);
241 var animOptions = { alpha:dali.ALPHA_FUNCTION_SIN, delay:0, duration:5};
243 animation.animateTo( meshActor, "uDelta", 1.0, animOptions );
244 animation.setLooping(true);
253 daliApp.init = function()
255 daliApp.createMeshActor();