aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/canvas-runtime.js4
-rw-r--r--assets/descriptor.json6
-rw-r--r--assets/images/bluesky.png (renamed from assets/images/paris.png)bin4108 -> 4108 bytes
-rw-r--r--assets/images/darkblur.png (renamed from assets/images/raiders.png)bin5674 -> 5674 bytes
-rw-r--r--assets/shaders/Paris.frag.glsl68
-rwxr-xr-xjs/controllers/styles-controller.js51
-rwxr-xr-xjs/helper-classes/3D/draw-utils.js658
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js4
-rwxr-xr-xjs/helper-classes/3D/view-utils.js99
-rw-r--r--js/io/system/ninjalibrary.json2
-rwxr-xr-xjs/lib/geom/geom-obj.js4
-rw-r--r--js/lib/rdge/materials/radial-blur-material.js14
-rw-r--r--js/lib/rdge/materials/water-material.js14
-rwxr-xr-xjs/mediators/keyboard-mediator.js14
-rwxr-xr-xjs/models/app-model.js13
-rwxr-xr-xjs/models/materials-model.js18
-rwxr-xr-xjs/ninja.reel/ninja.html3
-rwxr-xr-xjs/ninja.reel/ninja.js47
-rw-r--r--js/panels/Materials/materials-data.json18
-rwxr-xr-xjs/panels/Materials/materials-library-panel.reel/materials-library-panel.js14
-rwxr-xr-xjs/panels/Splitter.js2
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html25
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js31
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/css/TimelinePanel.css81
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/scss/TimelinePanel.scss26
-rw-r--r--js/panels/css-panel/styles-view-delegate.js3
-rwxr-xr-xjs/stage/layout.js58
-rwxr-xr-xjs/stage/stage.reel/stage.js352
-rwxr-xr-xjs/tools/Rotate3DToolBase.js1
-rwxr-xr-xjs/tools/SelectionTool.js2
-rwxr-xr-xjs/tools/Translate3DToolBase.js1
-rwxr-xr-xjs/tools/modifier-tool-base.js3
32 files changed, 862 insertions, 774 deletions
diff --git a/assets/canvas-runtime.js b/assets/canvas-runtime.js
index 4ab377c6..4181dd89 100644
--- a/assets/canvas-runtime.js
+++ b/assets/canvas-runtime.js
@@ -635,11 +635,11 @@ NinjaCvsRt.RuntimeGeomObj = Object.create(Object.prototype, {
635 case "plasma": mat = Object.create(NinjaCvsRt.RuntimePlasmaMaterial, {}); break; 635 case "plasma": mat = Object.create(NinjaCvsRt.RuntimePlasmaMaterial, {}); break;
636 case "taper": mat = Object.create(NinjaCvsRt.RuntimeTaperMaterial, {}); break; 636 case "taper": mat = Object.create(NinjaCvsRt.RuntimeTaperMaterial, {}); break;
637 637
638 case "paris": 638 case "blueSky":
639 case "water": mat = Object.create(NinjaCvsRt.RuntimeWaterMaterial, {}); break; 639 case "water": mat = Object.create(NinjaCvsRt.RuntimeWaterMaterial, {}); break;
640 640
641 case "deform": 641 case "deform":
642 case "raiders": 642 case "darkBlur":
643 case "tunnel": 643 case "tunnel":
644 case "reliefTunnel": 644 case "reliefTunnel":
645 case "squareTunnel": 645 case "squareTunnel":
diff --git a/assets/descriptor.json b/assets/descriptor.json
index d9d74e6b..db824387 100644
--- a/assets/descriptor.json
+++ b/assets/descriptor.json
@@ -20,9 +20,9 @@
20 "images/cubelight.png", 20 "images/cubelight.png",
21 "images/random_normal.png", 21 "images/random_normal.png",
22 "images/white.png", 22 "images/white.png",
23 "images/paris.png", 23 "images/bluesky.png",
24 "images/powderblue.png", 24 "images/powderblue.png",
25 "images/raiders.png", 25 "images/darkblur.png",
26 "images/us_flag.png", 26 "images/us_flag.png",
27 "shaders/Basic.frag.glsl", 27 "shaders/Basic.frag.glsl",
28 "shaders/TwistVert.vert.glsl", 28 "shaders/TwistVert.vert.glsl",
@@ -34,9 +34,9 @@
34 "shaders/linearGradient.frag.glsl", 34 "shaders/linearGradient.frag.glsl",
35 "shaders/linearGradient.vert.glsl", 35 "shaders/linearGradient.vert.glsl",
36 "shaders/plasma.frag.glsl", 36 "shaders/plasma.frag.glsl",
37 "shaders/Paris.frag.glsl",
38 "shaders/plasma.vert.glsl", 37 "shaders/plasma.vert.glsl",
39 "shaders/Pulse.frag.glsl", 38 "shaders/Pulse.frag.glsl",
39 "shaders/radialBlur.frag.glsl",
40 "shaders/radialGradient.frag.glsl", 40 "shaders/radialGradient.frag.glsl",
41 "shaders/radialGradient.vert.glsl", 41 "shaders/radialGradient.vert.glsl",
42 "shaders/test_fshader.glsl", 42 "shaders/test_fshader.glsl",
diff --git a/assets/images/paris.png b/assets/images/bluesky.png
index b7ef6c7b..b7ef6c7b 100644
--- a/assets/images/paris.png
+++ b/assets/images/bluesky.png
Binary files differ
diff --git a/assets/images/raiders.png b/assets/images/darkblur.png
index 64c39c89..64c39c89 100644
--- a/assets/images/raiders.png
+++ b/assets/images/darkblur.png
Binary files differ
diff --git a/assets/shaders/Paris.frag.glsl b/assets/shaders/Paris.frag.glsl
deleted file mode 100644
index 690b1453..00000000
--- a/assets/shaders/Paris.frag.glsl
+++ /dev/null
@@ -1,68 +0,0 @@
1#ifdef GL_ES
2precision highp float;
3#endif
4
5uniform sampler2D u_tex0;
6uniform float u_time;
7uniform vec2 u_resolution;
8const float PI = 3.1415926535897932;
9
10//speed
11
12const float speed = 0.1;
13const float speed_x = 0.075;
14const float speed_y = 0.000;
15
16// geometry
17const float intensity = 1.5;
18const int steps = 8;
19//const float frequency = 4.0;
20const float frequency = 2.0;
21const int angle = 7; // better when a prime
22
23// reflection and emboss
24const float delta = 20.;
25const float intence = 400.;
26const float emboss = 0.3;
27
28//---------- crystals effect
29
30 float col(vec2 coord)
31 {
32 float delta_theta = 2.0 * PI / float(angle);
33 float col = 0.0;
34 float theta = 0.0;
35 for (int i = 0; i < steps; i++)
36 {
37 vec2 adjc = coord;
38 theta = delta_theta*float(i);
39 adjc.x += cos(theta)*u_time*speed + u_time * speed_x;
40 adjc.y -= sin(theta)*u_time*speed - u_time * speed_y;
41 col = col + cos( (adjc.x*cos(theta) - adjc.y*sin(theta))*frequency)*intensity;
42 }
43
44 return cos(col);
45 }
46
47//---------- main
48
49void main(void)
50{
51vec2 p = (gl_FragCoord.xy) / u_resolution.xy, c1 = p, c2 = p;
52float cc1 = col(c1);
53
54c2.x += u_resolution.x/delta;
55float dx = emboss*(cc1-col(c2))/delta;
56
57c2.x = p.x;
58c2.y += u_resolution.y/delta;
59float dy = emboss*(cc1-col(c2))/delta;
60
61c1.x += dx;
62c1.y = -(c1.y+dy);
63
64float alpha = 1.+dot(dx,dy)*intence;
65gl_FragColor = texture2D(u_tex0,c1)*(alpha);
66// gl_FragColor = vec4(col(p),0,0,1);
67
68}
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js
index 89a389a4..b0db1b6a 100755
--- a/js/controllers/styles-controller.js
+++ b/js/controllers/styles-controller.js
@@ -1292,33 +1292,68 @@ var stylesController = exports.StylesController = Montage.create(Component, {
1292 1292
1293 ///// Get Matrix From Element 1293 ///// Get Matrix From Element
1294 ///// Returns the matrix from an element's -webkit-transform 1294 ///// Returns the matrix from an element's -webkit-transform
1295 //// TODO - This routine should eventually check for other transform styles, i.e., rotateX, translateZ, etc.
1296 1295
1297 getMatrixFromElement : { 1296 getMatrixFromElement : {
1298 value: function(element, isStage) { 1297 value: function(element, isStage) {
1299 isStage = false; 1298 isStage = false;
1300 var xformStr = this.getElementStyle(element, "-webkit-transform", true, isStage), 1299 var xformStr = this.getElementStyle(element, "-webkit-transform", true, isStage),
1301 mat; 1300 mat,
1301 index1,
1302 index2,
1303 substr,
1304 numArray,
1305 nNums,
1306 i;
1302 1307
1303 if (xformStr) { 1308 if (xformStr) {
1304 var index1 = xformStr.indexOf( "matrix3d("); 1309 // Check for 3d matrix
1310 index1 = xformStr.indexOf( "matrix3d(");
1311 // If style does not contain 'matrix3d', try computed matrix/matrix3d from rotateY, translateZ, etc.
1312 if((index1 === -1) && element.ownerDocument.defaultView) {
1313 xformStr = element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue("-webkit-transform");
1314 index1 = xformStr.indexOf( "matrix3d(");
1315 }
1305 if (index1 >= 0) { 1316 if (index1 >= 0) {
1306 index1 += 9; // do not include 'matrix3d(' 1317 index1 += 9; // do not include 'matrix3d('
1307 var index2 = xformStr.indexOf( ")", index1 ); 1318 index2 = xformStr.indexOf( ")", index1 );
1308 if (index2 >= 0) { 1319 if (index2 >= 0) {
1309 var substr = xformStr.substr( index1, (index2-index1)); 1320 substr = xformStr.substr( index1, (index2-index1));
1310 if (substr && (substr.length > 0)) { 1321 if (substr && (substr.length > 0)) {
1311 var numArray = substr.split(','); 1322 numArray = substr.split(',');
1312 var nNums = numArray.length; 1323 nNums = numArray.length;
1313 if (nNums == 16) { 1324 if (nNums == 16) {
1314 // gl-matrix wants row order 1325 // gl-matrix wants row order
1315 mat = numArray; 1326 mat = numArray;
1316 for (var i=0; i<16; i++) { 1327 for (i=0; i<16; i++) {
1317 mat[i] = Number( mat[i] ); 1328 mat[i] = Number( mat[i] );
1318 } 1329 }
1319 } 1330 }
1320 } 1331 }
1321 } 1332 }
1333 } else {
1334 // Check for 2d matrix
1335