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,
22 var dali = require('dali')( options );
26 var dali = require('../build/Release/dali')( options );
31 daliApp.createMeshActor = function() {
35 "attribute mediump vec2 aInitPos;\
36 attribute mediump vec2 aFinalPos;\
37 attribute mediump vec3 aColor;\
38 uniform mediump mat4 uMvpMatrix;\
39 uniform mediump vec3 uSize;\
40 uniform mediump float uDelta;\
41 uniform lowp vec4 uColor;\
42 varying lowp vec4 vColor;\
45 mediump vec4 vertexPosition = vec4(mix(aInitPos, aFinalPos, uDelta), 0.0, 1.0);\
46 vertexPosition.xyz *= uSize;\
47 vertexPosition = uMvpMatrix * vertexPosition;\
48 gl_Position = vertexPosition;\
49 vColor = vec4(aColor, 0.) * uColor;\
53 "varying lowp vec4 vColor;\
56 gl_FragColor = vColor;\
60 vertexShader : vertShader,
61 fragmentShader : fragShader
64 var shader = new dali.Shader(shaderOptions);
66 // Create vertex buffer for initial positions
67 var initialPositionVertexFormat = { "aInitPos" : dali.PROPERTY_VECTOR2 };
69 var initialPositionVertexData = [
112 var initialPositionVertexDataArray = new Float32Array(initialPositionVertexData.length);
113 initialPositionVertexDataArray.set(initialPositionVertexData, 0);
114 var initialPositionVertices = new dali.PropertyBuffer(initialPositionVertexFormat);
115 initialPositionVertices.setData(initialPositionVertexDataArray, 27);
117 // Create vertex buffer for final positions
118 var finalPositionVertexFormat = { "aFinalPos" : dali.PROPERTY_VECTOR2 };
120 var bigSide = 0.707106781;
121 var side = bigSide * 0.5;
123 var finalPositionVertexData = [
126 side, 0.25 + bigSide, // pB
127 side - bigSide, 0.25 + bigSide, // pC
130 side - 0.50, -0.25, // pD
132 side - 0.50, 0.75, // pE
135 side - 0.50, -0.75, // pJ
136 side - 0.50, -0.25, // pD
137 side - 0.75, -0.50, // pI
140 side - 0.75, -0.50, // pI
141 side - 0.50, -0.25, // pD
142 side - 0.75, 0.0, // pG
143 side - 0.75, 0.0, // pG
144 side - 1.0, -0.25, // pH
145 side - 0.75, -0.50, // pI
148 side - 0.75, -0.50, // pI
149 side - 1.0, -0.25, // pH
150 side - 1.0, -0.75, // pK
153 side, 0.25 + bigSide - side, // pL
154 side * 2.0, 0.25 + bigSide - side * 2.0, // pM
155 side * 2.0, 0.25 + bigSide - side, // pN
156 side * 2.0, 0.25 + bigSide - side, // pN
157 side, 0.25 + bigSide, // pB
158 side, 0.25 + bigSide - side, // pL
161 side - 0.50, -0.25, // pD
162 side - 0.50, -0.25 + bigSide, // pF2
163 - 0.50, -0.25 + side // pF
166 var finalPositionVertexDataArray = new Float32Array(finalPositionVertexData.length);
167 finalPositionVertexDataArray.set(finalPositionVertexData, 0);
168 var finalPositionVertices = new dali.PropertyBuffer(finalPositionVertexFormat);
169 finalPositionVertices.setData(finalPositionVertexDataArray, 27);
171 // Create vertex buffer for color
172 var colorVertexFormat = { "aColor" : dali.PROPERTY_VECTOR3 };
174 var colorVertexData = [
217 var colorVertexDataArray = new Float32Array(colorVertexData.length);
218 colorVertexDataArray.set(colorVertexData, 0);
219 var colorVertices = new dali.PropertyBuffer(colorVertexFormat);
220 colorVertices.setData(colorVertexDataArray, 27);
223 var geometry = new dali.Geometry();
224 geometry.addVertexBuffer( initialPositionVertices );
225 geometry.addVertexBuffer( finalPositionVertices );
226 geometry.addVertexBuffer( colorVertices );
228 var renderer = new dali.Renderer(geometry, shader);
229 renderer.depthIndex = 0;
232 var meshActor = new dali.Actor();
233 meshActor.addRenderer( renderer );
234 meshActor.size = [400, 400, 0];
235 meshActor.parentOrigin = dali.CENTER;
236 meshActor.anchorPoint = dali.CENTER;
237 meshActor.registerAnimatableProperty("uDelta", 0.0);
239 dali.stage.add( meshActor );
241 // Animate the mesh actor
242 var animation = new dali.Animation(5);
244 var animOptions = { alpha:dali.ALPHA_FUNCTION_SIN, delay:0, duration:5};
246 animation.animateTo( meshActor, "uDelta", 1.0, animOptions );
247 animation.setLooping(true);
256 daliApp.init = function()
258 daliApp.createMeshActor();