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 aInitPos;\
29 attribute mediump vec2 aFinalPos;\
30 attribute mediump vec3 aColor;\
31 uniform mediump mat4 uMvpMatrix;\
32 uniform mediump vec3 uSize;\
33 uniform mediump float uDelta;\
34 uniform lowp vec4 uColor;\
35 varying lowp vec4 vColor;\
38 mediump vec4 vertexPosition = vec4(mix(aInitPos, aFinalPos, uDelta), 0.0, 1.0);\
39 vertexPosition.xyz *= uSize;\
40 vertexPosition = uMvpMatrix * vertexPosition;\
41 gl_Position = vertexPosition;\
42 vColor = vec4(aColor, 0.) * uColor;\
46 "varying lowp vec4 vColor;\
49 gl_FragColor = vColor;\
53 vertexShader : vertShader,
54 fragmentShader : fragShader
57 var shader = new dali.Shader(shaderOptions);
59 var material = new dali.Material( shader );
61 // Create vertex buffer for initial positions
62 var initialPositionVertexFormat = { "aInitPos" : dali.PROPERTY_VECTOR2 };
64 var initialPositionVertexData = [
107 var initialPositionVertexDataArray = new Float32Array(initialPositionVertexData.length);
108 initialPositionVertexDataArray.set(initialPositionVertexData, 0);
109 var initialPositionVertices = new dali.PropertyBuffer(initialPositionVertexFormat, 27);
110 initialPositionVertices.setData(initialPositionVertexDataArray);
112 // Create vertex buffer for final positions
113 var finalPositionVertexFormat = { "aFinalPos" : dali.PROPERTY_VECTOR2 };
115 var bigSide = 0.707106781;
116 var side = bigSide * 0.5;
118 var finalPositionVertexData = [
121 side, 0.25 + bigSide, // pB
122 side - bigSide, 0.25 + bigSide, // pC
125 side - 0.50, -0.25, // pD
127 side - 0.50, 0.75, // pE
130 side - 0.50, -0.75, // pJ
131 side - 0.50, -0.25, // pD
132 side - 0.75, -0.50, // pI
135 side - 0.75, -0.50, // pI
136 side - 0.50, -0.25, // pD
137 side - 0.75, 0.0, // pG
138 side - 0.75, 0.0, // pG
139 side - 1.0, -0.25, // pH
140 side - 0.75, -0.50, // pI
143 side - 0.75, -0.50, // pI
144 side - 1.0, -0.25, // pH
145 side - 1.0, -0.75, // pK
148 side, 0.25 + bigSide - side, // pL
149 side * 2.0, 0.25 + bigSide - side * 2.0, // pM
150 side * 2.0, 0.25 + bigSide - side, // pN
151 side * 2.0, 0.25 + bigSide - side, // pN
152 side, 0.25 + bigSide, // pB
153 side, 0.25 + bigSide - side, // pL
156 side - 0.50, -0.25, // pD
157 side - 0.50, -0.25 + bigSide, // pF2
158 - 0.50, -0.25 + side // pF
161 var finalPositionVertexDataArray = new Float32Array(finalPositionVertexData.length);
162 finalPositionVertexDataArray.set(finalPositionVertexData, 0);
163 var finalPositionVertices = new dali.PropertyBuffer(finalPositionVertexFormat, 27);
164 finalPositionVertices.setData(finalPositionVertexDataArray);
166 // Create vertex buffer for color
167 var colorVertexFormat = { "aColor" : dali.PROPERTY_VECTOR3 };
169 var colorVertexData = [
212 var colorVertexDataArray = new Float32Array(colorVertexData.length);
213 colorVertexDataArray.set(colorVertexData, 0);
214 var colorVertices = new dali.PropertyBuffer(colorVertexFormat, 27);
215 colorVertices.setData(colorVertexDataArray);
218 var geometry = new dali.Geometry();
219 geometry.addVertexBuffer( initialPositionVertices );
220 geometry.addVertexBuffer( finalPositionVertices );
221 geometry.addVertexBuffer( colorVertices );
223 var renderer = new dali.Renderer(geometry, material);
224 renderer.depthIndex = 0;
227 var meshActor = new dali.Actor();
228 meshActor.addRenderer( renderer );
229 meshActor.size = [400, 400, 0];
230 meshActor.parentOrigin = dali.CENTER;
231 meshActor.anchorPoint = dali.CENTER;
232 meshActor.registerAnimatableProperty("uDelta", 0.0);
234 dali.stage.add( meshActor );
236 // Animate the mesh actor
237 var animation = new dali.Animation(5);
239 var animOptions = { alpha:"sin", delay:0, duration:5};
241 animation.animateTo( meshActor, "uDelta", 1.0, animOptions );
242 animation.setLooping(true);
251 daliApp.init = function()
253 daliApp.createMeshActor();