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('./build/Release/dali')( options );
25 var dali = require('dali')( options );
29 daliApp.createMeshActor = function() {
33 "attribute mediump vec2 aInitPos;\
34 attribute mediump vec2 aFinalPos;\
35 attribute mediump vec3 aColor;\
36 uniform mediump mat4 uMvpMatrix;\
37 uniform mediump vec3 uSize;\
38 uniform mediump float uDelta;\
39 uniform lowp vec4 uColor;\
40 varying lowp vec4 vColor;\
43 mediump vec4 vertexPosition = vec4(mix(aInitPos, aFinalPos, uDelta), 0.0, 1.0);\
44 vertexPosition.xyz *= uSize;\
45 vertexPosition = uMvpMatrix * vertexPosition;\
46 gl_Position = vertexPosition;\
47 vColor = vec4(aColor, 0.) * uColor;\
51 "varying lowp vec4 vColor;\
54 gl_FragColor = vColor;\
58 vertexShader : vertShader,
59 fragmentShader : fragShader
62 var shader = new dali.Shader(shaderOptions);
64 var material = new dali.Material( shader );
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, 27);
115 initialPositionVertices.setData(initialPositionVertexDataArray);
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, 27);
169 finalPositionVertices.setData(finalPositionVertexDataArray);
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, 27);
220 colorVertices.setData(colorVertexDataArray);
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, material);
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:"sin", delay:0, duration:5};
246 animation.animateTo( meshActor, "uDelta", 1.0, animOptions );
247 animation.setLooping(true);
256 daliApp.init = function()
258 daliApp.createMeshActor();