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,
24 //var dali = require('./build/Release/dali')( options );
27 var dali = require('dali')( options );
31 daliApp.createMeshActor = function() {
35 "attribute mediump vec2 aPosition;\
36 attribute highp float aHue;\
37 varying mediump vec2 vTexCoord;\
38 uniform mediump mat4 uMvpMatrix;\
39 uniform mediump vec3 uSize;\
40 uniform mediump float uPointSize;\
41 uniform lowp vec4 uFadeColor;\
42 varying mediump vec3 vVertexColor;\
43 varying mediump float vHue;\
46 vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\
47 vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\
48 return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\
52 mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);\
53 vertexPosition.xyz *= (uSize-uPointSize);\
54 vertexPosition = uMvpMatrix * vertexPosition;\
55 vVertexColor = hsv2rgb( vec3( aHue, 0.7, 1.0 ) );\
57 gl_PointSize = uPointSize;\
58 gl_Position = vertexPosition;\
62 "varying mediump vec3 vVertexColor;\
63 varying mediump float vHue;\
64 uniform lowp vec4 uColor;\
65 uniform sampler2D sTexture1;\
66 uniform sampler2D sTexture2;\
67 uniform lowp vec4 uFadeColor;\
70 mediump vec4 texCol1 = texture2D(sTexture1, gl_PointCoord);\
71 mediump vec4 texCol2 = texture2D(sTexture2, gl_PointCoord);\
72 gl_FragColor = vec4(vVertexColor, 1.0) * ((texCol1*vHue) + (texCol2*(1.0-vHue)));\
76 vertexShader : vertShader,
77 fragmentShader: fragShader
80 var shader = new dali.Shader(shaderOptions);
82 var material = new dali.Material( shader );
83 var image = new dali.ResourceImage( {url: imageDir + "image-1.jpg"} );
84 material.addTexture(image, "sTexture");
86 // Create vertex buffer
87 var polyhedraVertexFormat ={ "aPosition" : dali.PROPERTY_VECTOR2,
88 "aHue" : dali.PROPERTY_FLOAT };
92 var sectorAngle = 2.0 * Math.PI / numSides;
94 var polyhedraVertexData = [];
95 for(i=0; i<numSides; ++i)
97 var positionX = Math.sin(angle) * 0.5;
98 var positionY = Math.cos(angle) * 0.5;
99 var hue = angle / ( 2.0 * Math.PI);
101 polyhedraVertexData[i*3+0] = positionX;
102 polyhedraVertexData[i*3+1] = positionY;
103 polyhedraVertexData[i*3+2] = hue;
105 angle += sectorAngle;
108 var polyhedraVertexDataArray = new Float32Array(polyhedraVertexData.length);
109 polyhedraVertexDataArray.set(polyhedraVertexData, 0);
110 var polyhedraVertices = new dali.PropertyBuffer(polyhedraVertexFormat, numSides);
111 polyhedraVertices.setData(polyhedraVertexDataArray);
114 var geometry = new dali.Geometry();
115 geometry.addVertexBuffer( polyhedraVertices );
116 geometry.setGeometryType( dali.GEOMETRY_POINTS );
118 var renderer = new dali.Renderer(geometry, material);
119 renderer.registerAnimatableProperty("uFadeColor", [1.0, 0.0, 1.0, 1.0]); // Green
120 renderer.registerAnimatableProperty("uPointSize", 80.0);
121 renderer.depthIndex = 0;
124 var meshActor = new dali.Actor();
125 meshActor.addRenderer( renderer );
126 meshActor.size = [400, 400, 0];
127 meshActor.parentOrigin = dali.CENTER;
128 meshActor.anchorPoint = dali.CENTER;
129 meshActor.registerAnimatableProperty("uFadeColor", [0.0, 1.0, 0.0, 1.0]); // Magenta
131 dali.stage.add( meshActor );
133 // Animate the mesh actor
134 var animation = new dali.Animation(5);
135 var animOptions = { alpha:"linear", delay:0, duration:5};
136 var rotation = new dali.Rotation(360,0,0,1);
137 animation.animateBy( meshActor, "orientation", rotation, animOptions );
138 animation.setLooping(true);
147 daliApp.init = function()
149 daliApp.createMeshActor();