├── img
├── grid.png
├── light.png
├── scale.png
├── rotation.png
├── unselect.png
├── translate.png
├── rotation_min2.png
├── rotation_min3.png
└── translate_min2.png
├── assets
└── textures
│ ├── texture
│ ├── lee.jpg
│ ├── cloud.png
│ ├── grass.jpg
│ ├── lava.jpg
│ ├── leaf.png
│ ├── noise.png
│ ├── snow.jpg
│ ├── lee_spec.jpg
│ ├── lee_normal.jpg
│ ├── perlin_noise.jpg
│ ├── ancientbrick_albedo.jpg
│ ├── ancientbrick_height.jpg
│ ├── ancientbrick_normal.jpg
│ ├── ocean_waves_normal1.jpg
│ ├── ocean_waves_normal2.jpg
│ └── list.txt
│ └── cubemap
│ ├── cube_default.jpg
│ ├── miramar_large.jpg
│ ├── grimmnight_large.jpg
│ ├── list.txt
│ ├── stormydays_large.jpg
│ ├── interstellar_large.jpg
│ ├── violentdays_large.jpg
│ ├── cube_default_column.jpg
│ ├── thumb_miramar_large.jpg
│ ├── thumb_grimmnight_large.jpg
│ ├── thumb_stormydays_large.jpg
│ ├── thumb_violentdays_large.jpg
│ └── thumb_interstellar_large.jpg
├── graphs
├── list.txt
├── empty_graph.json
├── leaf.json
├── reflection.json
├── lee3.json
├── simple_smoothstep.json
├── glass.json
├── lee.json
└── complex.json
├── css
├── external
│ ├── font-awesome-4.3.0
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ │ ├── less
│ │ │ ├── fixed-width.less
│ │ │ ├── bordered-pulled.less
│ │ │ ├── larger.less
│ │ │ ├── list.less
│ │ │ ├── font-awesome.less
│ │ │ ├── core.less
│ │ │ ├── stacked.less
│ │ │ ├── rotated-flipped.less
│ │ │ ├── path.less
│ │ │ ├── animated.less
│ │ │ ├── mixins.less
│ │ │ └── variables.less
│ │ └── scss
│ │ │ ├── _fixed-width.scss
│ │ │ ├── _bordered-pulled.scss
│ │ │ ├── _larger.scss
│ │ │ ├── _list.scss
│ │ │ ├── font-awesome.scss
│ │ │ ├── _core.scss
│ │ │ ├── _stacked.scss
│ │ │ ├── _rotated-flipped.scss
│ │ │ ├── _path.scss
│ │ │ ├── _animated.scss
│ │ │ ├── _mixins.scss
│ │ │ └── _variables.scss
│ ├── litegraph.css
│ └── highlight
│ │ ├── monokai_sublime.css
│ │ └── default.css
└── style.css
├── readme.MD
├── readme.html
├── index.html
└── js
└── external
├── ez.render.min.js
└── highlight.pack.js
/img/grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/grid.png
--------------------------------------------------------------------------------
/img/light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/light.png
--------------------------------------------------------------------------------
/img/scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/scale.png
--------------------------------------------------------------------------------
/img/rotation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/rotation.png
--------------------------------------------------------------------------------
/img/unselect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/unselect.png
--------------------------------------------------------------------------------
/img/translate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/translate.png
--------------------------------------------------------------------------------
/img/rotation_min2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/rotation_min2.png
--------------------------------------------------------------------------------
/img/rotation_min3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/rotation_min3.png
--------------------------------------------------------------------------------
/img/translate_min2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/img/translate_min2.png
--------------------------------------------------------------------------------
/assets/textures/texture/lee.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/lee.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/cloud.png
--------------------------------------------------------------------------------
/assets/textures/texture/grass.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/grass.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/lava.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/lava.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/leaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/leaf.png
--------------------------------------------------------------------------------
/assets/textures/texture/noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/noise.png
--------------------------------------------------------------------------------
/assets/textures/texture/snow.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/snow.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/lee_spec.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/lee_spec.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/lee_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/lee_normal.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/cube_default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/cube_default.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/miramar_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/miramar_large.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/perlin_noise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/perlin_noise.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/grimmnight_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/grimmnight_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/list.txt:
--------------------------------------------------------------------------------
1 | grimmnight_large.jpg
2 | miramar_large.jpg
3 | interstellar_large.jpg
4 | stormydays_large.jpg
5 | violentdays_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/stormydays_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/stormydays_large.jpg
--------------------------------------------------------------------------------
/graphs/list.txt:
--------------------------------------------------------------------------------
1 | Lee
2 | Reflection
3 | Water
4 | Glass
5 | Material
6 | Lava
7 | Rim_lighting
8 | Animated_Material
9 | Leaf
10 | Lava_blocks
--------------------------------------------------------------------------------
/assets/textures/cubemap/interstellar_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/interstellar_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/violentdays_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/violentdays_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/cube_default_column.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/cube_default_column.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/thumb_miramar_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/thumb_miramar_large.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/ancientbrick_albedo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/ancientbrick_albedo.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/ancientbrick_height.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/ancientbrick_height.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/ancientbrick_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/ancientbrick_normal.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/ocean_waves_normal1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/ocean_waves_normal1.jpg
--------------------------------------------------------------------------------
/assets/textures/texture/ocean_waves_normal2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/texture/ocean_waves_normal2.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/thumb_grimmnight_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/thumb_grimmnight_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/thumb_stormydays_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/thumb_stormydays_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/thumb_violentdays_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/thumb_violentdays_large.jpg
--------------------------------------------------------------------------------
/assets/textures/cubemap/thumb_interstellar_large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/assets/textures/cubemap/thumb_interstellar_large.jpg
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/css/external/font-awesome-4.3.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/victhorlopez/ez-shader-editor/HEAD/css/external/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/assets/textures/texture/list.txt:
--------------------------------------------------------------------------------
1 | lee.jpg
2 | lee_normal.jpg
3 | lee_spec.jpg
4 | grass.jpg
5 | ancientbrick_albedo.jpg
6 | ancientbrick_height.jpg
7 | ancientbrick_normal.jpg
8 | lava.jpg
9 | cloud.png
10 | ocean_waves_normal1.jpg
11 | ocean_waves_normal2.jpg
12 | perlin_noise.png
13 | leaf.png
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 |
13 | .@{fa-css-prefix} {
14 | &.pull-left { margin-right: .3em; }
15 | &.pull-right { margin-left: .3em; }
16 | }
17 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .pull-right { float: right; }
11 | .pull-left { float: left; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.pull-left { margin-right: .3em; }
15 | &.pull-right { margin-left: .3em; }
16 | }
17 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/css/external/litegraph.css:
--------------------------------------------------------------------------------
1 | /* this CSS contains only the basic CSS needed to run the app and use it */
2 |
3 | .lgraphcanvas {
4 | cursor: crosshair;
5 | user-select: none;
6 | -moz-user-select: none;
7 | -webkit-user-select: none;
8 | }
9 |
10 | .litecontextualmenu {
11 | padding: 4px;
12 | min-width: 100px;
13 | }
14 |
15 | .litemenu-entry {
16 | box-sizing: border-box;
17 | margin: 2px;
18 | padding-left: 20px;
19 | user-select: none;
20 | -moz-user-select: none;
21 | -webkit-user-select: none;
22 | transition: * linear 0.5s;
23 | }
24 |
25 | .litemenu-entry.disabled {
26 | opacity: 0.3;
27 | }
28 |
29 | .litemenu-entry.submenu {
30 | border-right: 2px solid #EEE;
31 | }
32 |
33 |
34 | .litemenu-entry:hover {
35 | background-color: #555;
36 | }
37 |
38 | .litemenu-entry.separator {
39 | background-color: #111;
40 | border-bottom: 1px solid #666;
41 | height: 1px;
42 | width: calc( 100% - 20px );
43 | -moz-width: calc( 100% - 20px );
44 | -webkit-width: calc( 100% - 20px );
45 | }
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox
12 |
13 | }
14 |
15 | .fa-icon-rotate(@degrees, @rotation) {
16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
17 | -webkit-transform: rotate(@degrees);
18 | -ms-transform: rotate(@degrees);
19 | transform: rotate(@degrees);
20 | }
21 |
22 | .fa-icon-flip(@horiz, @vert, @rotation) {
23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
24 | -webkit-transform: scale(@horiz, @vert);
25 | -ms-transform: scale(@horiz, @vert);
26 | transform: scale(@horiz, @vert);
27 | }
28 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox
12 |
13 | }
14 |
15 | @mixin fa-icon-rotate($degrees, $rotation) {
16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
17 | -webkit-transform: rotate($degrees);
18 | -ms-transform: rotate($degrees);
19 | transform: rotate($degrees);
20 | }
21 |
22 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
24 | -webkit-transform: scale($horiz, $vert);
25 | -ms-transform: scale($horiz, $vert);
26 | transform: scale($horiz, $vert);
27 | }
28 |
--------------------------------------------------------------------------------
/graphs/empty_graph.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":[],"iteration":19,"last_node_id":6,"last_link_id":1,"links":{},"config":{},"nodes":[{"id":5,"title":"Output","type":"core/Output","pos":[850,285],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":null,"types":{"float":1}},{"name":"gloss","type":"float","link":null,"types":{"float":1}},{"name":"alpha","type":"float","link":null,"types":{"float":1}},{"name":"alpha clip","type":"float","link":null,"types":{"float":1}},{"name":"refraction","type":"float","link":null,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"shader_piece":{},"codes":[],"T_out_types":{},"T_in_types":{},"properties":{"is_global":false,"global_name":"Output"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}}],"node_flags":{"flip_normals":false,"depth_test":true,"depth_write":true,"blending":false,"blending_mode":"additive","two_sided":false,"blend":false},"scene_properties":{"color":"#ffffff","light_dir_x":1,"light_dir_y":1,"light_dir_z":1,"light_mode":"phong","alpha_threshold":0.5}}
--------------------------------------------------------------------------------
/readme.MD:
--------------------------------------------------------------------------------
1 | Node-Based Shader Editor
2 | =========
3 |
4 | Node based Shader Editor in webGL done as my final degree's project, a demo can be checked online on http://victhorlopez.github.io/editor/.
5 | Many thanks to my tutor, Javier Agenjo (https://github.com/jagenjo) who advised me throughout the entire project and also provided me with very useful libraries to develop this project.
6 |
7 | * Litegl.js(https://github.com/jagenjo/litegl.js) is a library that wraps WebGL to make it more user-friendly.
8 | * Litegraph.js(https://github.com/jagenjo/litegraph.js) is the core library of the project used to create graphs and nodes visually.
9 |
10 | Other libraries
11 | -----
12 | The project includes some other libraries to fulfill other requirements
13 |
14 | For the UI:
15 | * Dat.gui (https://code.google.com/p/dat-gui/)
16 | * w2ui (http://w2ui.com/web/)
17 | For the icons:
18 | * Font-awesome: (http://fortawesome.github.io/Font-Awesome/)
19 | General utility:
20 | * Jquery: (https://jquery.com/).
21 |
22 | Assets
23 | -----
24 | The assets for the project all are extracted from the following links.
25 |
26 | * http://artsaucebyjesse.blogspot.com.es/2015/02/zbrush-tiling-seamless-texture.html
27 | * http://graphics.cs.williams.edu/data/meshes.xml
28 | * https://forums.epicgames.com/threads/506748-My-skies-and-and-cliff-textures-(large-images
29 | * http://www.humus.name/index.php?page=Textures
30 | * http://irrlicht.sourceforge.net/forum//viewtopic.php?t=21057
31 | * http://unigine.com/articles/130605-procedural-content-generation/
--------------------------------------------------------------------------------
/readme.html:
--------------------------------------------------------------------------------
1 |
2 |
42 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Node Based Shader Editor in WebGL
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
37 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/css/external/highlight/monokai_sublime.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #333;/*#23241f;*/
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs,
16 | .hljs-tag,
17 | .css .hljs-rules,
18 | .css .hljs-value,
19 | .aspectj .hljs-function,
20 | .css .hljs-function
21 | .hljs-preprocessor,
22 | .hljs-pragma {
23 | color: #f8f8f2;
24 | }
25 |
26 | .hljs-strongemphasis,
27 | .hljs-strong,
28 | .hljs-emphasis {
29 | color: #a8a8a2;
30 | }
31 |
32 | .hljs-bullet,
33 | .hljs-blockquote,
34 | .hljs-horizontal_rule,
35 | .hljs-number,
36 | .hljs-regexp,
37 | .alias .hljs-keyword,
38 | .hljs-literal,
39 | .hljs-hexcolor {
40 | color: #ae81ff;
41 | }
42 |
43 | .hljs-tag .hljs-value,
44 | .hljs-code,
45 | .hljs-title,
46 | .css .hljs-class,
47 | .hljs-class .hljs-title:last-child {
48 | color: #a6e22e;
49 | }
50 |
51 | .hljs-link_url {
52 | font-size: 80%;
53 | }
54 |
55 | .hljs-strong,
56 | .hljs-strongemphasis {
57 | font-weight: bold;
58 | }
59 |
60 | .hljs-emphasis,
61 | .hljs-strongemphasis,
62 | .hljs-class .hljs-title:last-child,
63 | .hljs-typename {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-keyword,
68 | .ruby .hljs-class .hljs-keyword:first-child,
69 | .ruby .hljs-function .hljs-keyword,
70 | .hljs-function,
71 | .hljs-change,
72 | .hljs-winutils,
73 | .hljs-flow,
74 | .nginx .hljs-title,
75 | .tex .hljs-special,
76 | .hljs-header,
77 | .hljs-attribute,
78 | .hljs-symbol,
79 | .hljs-symbol .hljs-string,
80 | .hljs-tag .hljs-title,
81 | .hljs-value,
82 | .alias .hljs-keyword:first-child,
83 | .css .hljs-tag,
84 | .css .unit,
85 | .css .hljs-important {
86 | color: #f92672;
87 | }
88 |
89 | .hljs-function .hljs-keyword,
90 | .hljs-class .hljs-keyword:first-child,
91 | .hljs-aspect .hljs-keyword:first-child,
92 | .hljs-constant,
93 | .hljs-typename,
94 | .css .hljs-attribute {
95 | color: #66d9ef;
96 | }
97 |
98 | .hljs-variable,
99 | .hljs-params,
100 | .hljs-class .hljs-title,
101 | .hljs-aspect .hljs-title {
102 | color: #f8f8f2;
103 | }
104 |
105 | .hljs-string,
106 | .css .hljs-id,
107 | .hljs-subst,
108 | .hljs-type,
109 | .ruby .hljs-class .hljs-parent,
110 | .hljs-built_in,
111 | .django .hljs-template_tag,
112 | .django .hljs-variable,
113 | .smalltalk .hljs-class,
114 | .django .hljs-filter .hljs-argument,
115 | .smalltalk .hljs-localvars,
116 | .smalltalk .hljs-array,
117 | .hljs-attr_selector,
118 | .hljs-pseudo,
119 | .hljs-addition,
120 | .hljs-stream,
121 | .hljs-envvar,
122 | .apache .hljs-tag,
123 | .apache .hljs-cbracket,
124 | .tex .hljs-command,
125 | .hljs-prompt,
126 | .hljs-link_label,
127 | .hljs-link_url {
128 | color: #e6db74;
129 | }
130 |
131 | .hljs-comment,
132 | .hljs-javadoc,
133 | .hljs-annotation,
134 | .hljs-decorator,
135 | .hljs-pi,
136 | .hljs-doctype,
137 | .hljs-deletion,
138 | .hljs-shebang,
139 | .apache .hljs-sqbracket,
140 | .tex .hljs-formula {
141 | color: #75715e;
142 | }
143 |
144 | .coffeescript .javascript,
145 | .javascript .xml,
146 | .tex .hljs-formula,
147 | .xml .javascript,
148 | .xml .vbscript,
149 | .xml .css,
150 | .xml .hljs-cdata,
151 | .xml .php,
152 | .php .xml {
153 | opacity: 0.5;
154 | }
155 |
--------------------------------------------------------------------------------
/css/external/highlight/default.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #f0f0f0;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst,
17 | .hljs-tag .hljs-title,
18 | .nginx .hljs-title {
19 | color: black;
20 | }
21 |
22 | .hljs-string,
23 | .hljs-title,
24 | .hljs-constant,
25 | .hljs-parent,
26 | .hljs-tag .hljs-value,
27 | .hljs-rules .hljs-value,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .haml .hljs-symbol,
31 | .ruby .hljs-symbol,
32 | .ruby .hljs-symbol .hljs-string,
33 | .hljs-template_tag,
34 | .django .hljs-variable,
35 | .smalltalk .hljs-class,
36 | .hljs-addition,
37 | .hljs-flow,
38 | .hljs-stream,
39 | .bash .hljs-variable,
40 | .apache .hljs-tag,
41 | .apache .hljs-cbracket,
42 | .tex .hljs-command,
43 | .tex .hljs-special,
44 | .erlang_repl .hljs-function_or_atom,
45 | .asciidoc .hljs-header,
46 | .markdown .hljs-header,
47 | .coffeescript .hljs-attribute {
48 | color: #800;
49 | }
50 |
51 | .smartquote,
52 | .hljs-comment,
53 | .hljs-annotation,
54 | .diff .hljs-header,
55 | .hljs-chunk,
56 | .asciidoc .hljs-blockquote,
57 | .markdown .hljs-blockquote {
58 | color: #888;
59 | }
60 |
61 | .hljs-number,
62 | .hljs-date,
63 | .hljs-regexp,
64 | .hljs-literal,
65 | .hljs-hexcolor,
66 | .smalltalk .hljs-symbol,
67 | .smalltalk .hljs-char,
68 | .go .hljs-constant,
69 | .hljs-change,
70 | .lasso .hljs-variable,
71 | .makefile .hljs-variable,
72 | .asciidoc .hljs-bullet,
73 | .markdown .hljs-bullet,
74 | .asciidoc .hljs-link_url,
75 | .markdown .hljs-link_url {
76 | color: #080;
77 | }
78 |
79 | .hljs-label,
80 | .hljs-javadoc,
81 | .ruby .hljs-string,
82 | .hljs-decorator,
83 | .hljs-filter .hljs-argument,
84 | .hljs-localvars,
85 | .hljs-array,
86 | .hljs-attr_selector,
87 | .hljs-important,
88 | .hljs-pseudo,
89 | .hljs-pi,
90 | .haml .hljs-bullet,
91 | .hljs-doctype,
92 | .hljs-deletion,
93 | .hljs-envvar,
94 | .hljs-shebang,
95 | .apache .hljs-sqbracket,
96 | .nginx .hljs-built_in,
97 | .tex .hljs-formula,
98 | .erlang_repl .hljs-reserved,
99 | .hljs-prompt,
100 | .asciidoc .hljs-link_label,
101 | .markdown .hljs-link_label,
102 | .vhdl .hljs-attribute,
103 | .clojure .hljs-attribute,
104 | .asciidoc .hljs-attribute,
105 | .lasso .hljs-attribute,
106 | .coffeescript .hljs-property,
107 | .hljs-phony {
108 | color: #88f;
109 | }
110 |
111 | .hljs-keyword,
112 | .hljs-id,
113 | .hljs-title,
114 | .hljs-built_in,
115 | .css .hljs-tag,
116 | .hljs-javadoctag,
117 | .hljs-phpdoc,
118 | .hljs-dartdoc,
119 | .hljs-yardoctag,
120 | .smalltalk .hljs-class,
121 | .hljs-winutils,
122 | .bash .hljs-variable,
123 | .apache .hljs-tag,
124 | .hljs-type,
125 | .hljs-typename,
126 | .tex .hljs-command,
127 | .asciidoc .hljs-strong,
128 | .markdown .hljs-strong,
129 | .hljs-request,
130 | .hljs-status {
131 | font-weight: bold;
132 | }
133 |
134 | .asciidoc .hljs-emphasis,
135 | .markdown .hljs-emphasis {
136 | font-style: italic;
137 | }
138 |
139 | .nginx .hljs-built_in {
140 | font-weight: normal;
141 | }
142 |
143 | .coffeescript .javascript,
144 | .javascript .xml,
145 | .lasso .markup,
146 | .tex .hljs-formula,
147 | .xml .javascript,
148 | .xml .vbscript,
149 | .xml .css,
150 | .xml .hljs-cdata {
151 | opacity: 0.5;
152 | }
153 |
--------------------------------------------------------------------------------
/graphs/leaf.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":[],"iteration":233,"last_node_id":14,"last_link_id":12,"links":{"1":{"id":1,"origin_id":6,"origin_slot":1,"target_id":5,"target_slot":0,"data":null,"color":null},"2":{"id":2,"origin_id":8,"origin_slot":2,"target_id":5,"target_slot":3,"data":null,"color":null},"3":{"id":3,"origin_id":7,"origin_slot":1,"target_id":5,"target_slot":1,"data":null,"color":null},"4":{"id":4,"origin_id":9,"origin_slot":0,"target_id":5,"target_slot":4,"data":null,"color":null},"5":{"id":5,"origin_id":10,"origin_slot":1,"target_id":5,"target_slot":0,"color":null,"data":null},"6":{"id":6,"origin_id":11,"origin_slot":1,"target_id":5,"target_slot":1,"color":null,"data":null},"7":{"id":7,"origin_id":12,"origin_slot":2,"target_id":5,"target_slot":3,"color":null,"data":null},"8":{"id":8,"origin_id":9,"origin_slot":0,"target_id":5,"target_slot":4,"color":null,"data":null},"9":{"id":9,"origin_id":10,"origin_slot":5,"target_id":5,"target_slot":6,"color":null,"data":null},"10":{"id":10,"origin_id":11,"origin_slot":1,"target_id":5,"target_slot":1,"color":null,"data":null},"11":{"id":11,"origin_id":13,"origin_slot":0,"target_id":5,"target_slot":3,"color":null,"data":null}},"config":{},"nodes":[{"id":13,"title":"Number","type":"constants/Number","pos":[613,368],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[11],"label":"0.300"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"fragment":{"header":{},"body_hash":{"-1037395830":{"str":"float float_13 = 0.300;\n","order":0}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"output_var":"float_13"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":0.3,"is_global":false,"global_name":"Number"},"options":{"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal","hidden":true},"global_name":{"hidden":true}}},{"id":9,"title":"Number","type":"constants/Number","pos":[614,445],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[8],"label":"73.000"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{},"body_hash":{"-955043874":{"str":"float float_9 = 73.000;\n","order":1}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"float_9"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":73,"is_global":false,"global_name":"Number"},"options":{"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"},"global_name":{"hidden":true}}},{"id":5,"title":"Output","type":"core/Output","pos":[852,248],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":5,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":11,"types":{"float":1}},{"name":"gloss","type":"float","link":8,"types":{"float":1}},{"name":"alpha","type":"float","link":null,"types":{"float":1}},{"name":"alpha clip","type":"float","link":9,"types":{"float":1}},{"name":"refraction","type":"float","link":null,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"outputs":null,"shader_piece":{},"codes":[],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"is_global":false,"global_name":"Output"},"options":{"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"},"global_name":{"hidden":true}}},{"id":10,"title":"TextureSample","type":"texture/TextureSample","pos":[489,165],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[5]},{"name":"R","type":"float","types":{"float":1},"links":null},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":[9]}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1,"TBN":0}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"fragment":{"header":{"354319333":"uniform sampler2D u_leaf_texture;\n"},"body_hash":{"-256552825":{"str":"vec4 color_10 = texture2D(u_leaf_texture, v_coord);\n","order":2}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"output_var":"color_10"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"fragment":{"header":{"354319333":"uniform sampler2D u_leaf_texture;\n"},"body_hash":{"-256552825":{"str":"vec4 color_10 = texture2D(u_leaf_texture, v_coord);\n","order":2}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"output_var":"color_10.r"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"fragment":{"header":{"354319333":"uniform sampler2D u_leaf_texture;\n"},"body_hash":{"-256552825":{"str":"vec4 color_10 = texture2D(u_leaf_texture, v_coord);\n","order":2}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"output_var":"color_10.g"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"fragment":{"header":{"354319333":"uniform sampler2D u_leaf_texture;\n"},"body_hash":{"-256552825":{"str":"vec4 color_10 = texture2D(u_leaf_texture, v_coord);\n","order":2}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"output_var":"color_10.b"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"fragment":{"header":{"354319333":"uniform sampler2D u_leaf_texture;\n"},"body_hash":{"-256552825":{"str":"vec4 color_10 = texture2D(u_leaf_texture, v_coord);\n","order":2}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":2},"output_var":"color_10.a"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"leaf","texture_url":"assets/textures/texture/leaf.png","texture_type":"Color","normal_map_type":"Tangent space","is_global":true,"global_name":"TextureSample"},"options":{"is_global":{"hidden":false,"reloadonchange":1,"callback":"callbackIsGlobal"},"texture_url":{"hidden":1},"texture_type":{"multichoice":["Color","Normal map"],"reloadonchange":1,"callback":"toggleNormalMap"},"normal_map_type":{"multichoice":["Tangent space","Model space","Bump map"],"hidden":1},"global_name":{"hidden":false}},"color":"#AFA"}],"mesh":"plane","node_flags":{"flip_normals":false,"depth_test":true,"depth_write":true,"blending":false,"blending_mode":"additive","two_sided":false,"blend":false},"scene_properties":{"color":"#ffffff","light_dir_x":1,"light_dir_y":1,"light_dir_z":1,"light_mode":"phong","alpha_threshold":0.5102311985118256,"environment_name":"default"}}
--------------------------------------------------------------------------------
/graphs/reflection.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":[],"iteration":266,"last_node_id":19,"last_link_id":20,"links":{"1":{"id":1,"origin_id":6,"origin_slot":1,"target_id":5,"target_slot":0,"data":null,"color":null},"2":{"id":2,"origin_id":8,"origin_slot":2,"target_id":5,"target_slot":3,"data":null,"color":null},"3":{"id":3,"origin_id":7,"origin_slot":1,"target_id":5,"target_slot":1,"data":null,"color":null},"4":{"id":4,"origin_id":9,"origin_slot":0,"target_id":5,"target_slot":4,"data":null,"color":null},"5":{"id":5,"origin_id":10,"origin_slot":1,"target_id":5,"target_slot":0,"color":null,"data":null},"6":{"id":6,"origin_id":11,"origin_slot":0,"target_id":12,"target_slot":0,"color":null,"data":null},"7":{"id":7,"origin_id":10,"origin_slot":1,"target_id":12,"target_slot":1,"color":null,"data":null},"8":{"id":8,"origin_id":12,"origin_slot":0,"target_id":5,"target_slot":0,"color":null,"data":null},"9":{"id":9,"origin_id":11,"origin_slot":0,"target_id":13,"target_slot":0,"color":null,"data":null},"10":{"id":10,"origin_id":10,"origin_slot":1,"target_id":13,"target_slot":1,"color":null,"data":null},"11":{"id":11,"origin_id":13,"origin_slot":0,"target_id":5,"target_slot":0,"color":null,"data":null},"12":{"id":12,"origin_id":14,"origin_slot":0,"target_id":16,"target_slot":0,"color":null,"data":null},"13":{"id":13,"origin_id":15,"origin_slot":0,"target_id":16,"target_slot":1,"color":null,"data":null},"14":{"id":14,"origin_id":16,"origin_slot":0,"target_id":10,"target_slot":0,"color":null,"data":null},"15":{"id":15,"origin_id":16,"origin_slot":0,"target_id":17,"target_slot":0,"color":null,"data":null},"16":{"id":16,"origin_id":17,"origin_slot":1,"target_id":13,"target_slot":1,"color":null,"data":null},"17":{"id":17,"origin_id":11,"origin_slot":0,"target_id":18,"target_slot":0,"color":null,"data":null},"18":{"id":18,"origin_id":17,"origin_slot":1,"target_id":18,"target_slot":1,"color":null,"data":null},"19":{"id":19,"origin_id":18,"origin_slot":0,"target_id":5,"target_slot":0,"color":null,"data":null}},"config":{},"nodes":[{"id":5,"title":"Output","type":"core/Output","pos":[850,285],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":19,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":null,"types":{"float":1}},{"name":"gloss","type":"float","link":4,"types":{"float":1}},{"name":"alpha","type":"float","link":null,"types":{"float":1}},{"name":"alpha clip","type":"float","link":null,"types":{"float":1}},{"name":"refraction","type":"float","link":null,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"outputs":null,"shader_piece":{},"codes":[],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"is_global":false,"global_name":"Output"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":9,"title":"Number","type":"constants/Number","pos":[554,479],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[4],"label":"41.300"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"fragment":{"header":{},"body_hash":{"634222914":{"str":"float float_9 = 41.300;\n","order":0}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"output_var":"float_9"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":41.3,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":11,"title":"Color","type":"constants/Color","pos":[459,120],"size":{"0":70,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"color","type":"vec4","types":{"vec4":1},"links":[17]}],"shader_piece":{"type":"vec4","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{"1665449466":"uniform vec4 vec4_11;\n"},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"1665449466":"uniform vec4 vec4_11;\n"},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"vec4_11"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"color":"#1313ff","is_global":true,"global_name":"Color"},"options":{"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"},"global_name":{"hidden":false}},"bgcolor":"#1313ff","boxcolor":"#ffffff"},{"id":17,"title":"TextureSampleCube","type":"texture/TextureSampleCube","pos":[449,247],"size":[170,165],"flags":{},"inputs":[{"name":"vec3","type":"vec3","link":null,"types":{"vec3":1}}],"outputs":[{"name":"Cubemap","type":"Cubemap","types":{},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[18]}],"shader_piece":{"id":"texture_sample_cube","includes":{}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal"},"scope":"","order":2},"fragment":{"header":{"1934770139":"uniform samplerCube u_cube_default_texture;\n"},"body_hash":{"1705970408":{"str":"vec4 color_17 = textureCube(u_cube_default_texture, reflected_vector);\n","order":2},"-860329552":{"str":"vec3 pixel_normal_ws = normal;\n vec3 reflected_vector = reflect(view_dir,pixel_normal_ws);\n","order":1}},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal"},"scope":"","order":2},"output_var":"color_17"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"cube_default","texture_url":"assets/textures/cubemap/miramar_large.jpg","is_global":false,"global_name":"TextureSampleCube"},"options":{"texture_url":{"hidden":1},"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":18,"title":"Mix","type":"math/Mix","pos":[680,191],"size":{"0":140,"1":48},"data":null,"flags":{},"inputs":[{"name":"A","type":"","link":17,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"B","type":"","link":18,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"C","type":"","link":null,"types":{"float":1},"label":"alpha=0.629"}],"outputs":[{"name":"Result","type":"","types":{"vec4":1},"links":[19],"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1}],"shader_piece":{"name":"mix","id":"3paramfunc","includes":{}},"codes":[{"vertex":{"header":{"1665449466":"uniform vec4 vec4_11;\n"},"body_hash":{},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":3},"fragment":{"header":{"1665449466":"uniform vec4 vec4_11;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n"},"body_hash":{"634222914":{"str":"float float_9 = 41.300;\n","order":0},"1705970408":{"str":"vec4 color_17 = textureCube(u_cube_default_texture, reflected_vector);\n","order":2},"-1322708362":{"str":"vec4 mix_18 = mix(vec4_11,color_17,float_18);\n","order":3},"-1429379239":{"str":"float float_18 = 0.629;\n","order":2},"-860329552":{"str":"vec3 pixel_normal_ws = normal;\n vec3 reflected_vector = reflect(view_dir,pixel_normal_ws);\n","order":1}},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":3},"output_var":"mix_18","order":3}],"T_out_types":{"vec4":1},"T_in_types":{"vec4":1},"in_conected_using_T":2,"properties":{"alpha":0.62931815241299,"is_global":false,"global_name":"Mix"},"options":{"alpha":{"min":0,"max":1,"step":0.01},"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal","hidden":true}}}],"mesh":"sphere","node_flags":{"flip_normals":false,"depth_test":true,"depth_write":true,"blending":false,"blending_mode":"additive","two_sided":false,"blend":false},"scene_properties":{"color":"#ffffff","light_dir_x":1,"light_dir_y":1,"light_dir_z":1,"light_mode":"phong","alpha_threshold":0.5,"environment_name":"stormydays_large"}}
--------------------------------------------------------------------------------
/graphs/lee3.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":["lee","lee_normal","lee_spec"],"iteration":127,"last_node_id":9,"last_link_id":9,"links":{"1":{"id":1,"origin_id":5,"origin_slot":1,"target_id":4,"target_slot":0,"data":null},"2":{"id":2,"origin_id":5,"origin_slot":1,"target_id":4,"target_slot":1,"data":null},"3":{"id":3,"origin_id":6,"origin_slot":1,"target_id":4,"target_slot":0,"data":null},"4":{"id":4,"origin_id":7,"origin_slot":2,"target_id":4,"target_slot":3,"data":null},"5":{"id":5,"origin_id":5,"origin_slot":1,"target_id":4,"target_slot":1,"data":null},"6":{"id":6,"origin_id":6,"origin_slot":1,"target_id":8,"target_slot":0,"data":null},"7":{"id":7,"origin_id":5,"origin_slot":1,"target_id":8,"target_slot":1,"data":null},"8":{"id":8,"origin_id":7,"origin_slot":2,"target_id":8,"target_slot":3,"data":null}},"config":{},"nodes":[{"id":8,"title":"Output","type":"core/Output","pos":[649,278],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":6,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":7,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":8,"types":{"float":1}},{"name":"gloss","type":"float","link":null,"types":{"float":1}},{"name":"alpha","type":"float","link":null,"types":{"float":1}},{"name":"alpha clip","type":"float","link":null,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"shader_piece":{},"codes":[],"properties":{"color":"#ffffff","gloss":4,"displacement_factor":1,"light_dir_x":1,"light_dir_y":1,"light_dir_z":1}},{"id":6,"title":"TextureSample","type":"texture/TextureSample","pos":[273,112],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[6]},{"name":"R","type":"float","types":{"float":1},"links":null},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":0},"fragment":{"header":{"uniform sampler2D u_lee_texture;\n":1,"uniform sampler2D u_lee_normal_texture;\n":1,"uniform sampler2D u_lee_spec_texture;\n":1,"uniform samplerCube u_cube_default_texture;\n":1},"body_hash":{"-543907110":{"str":"vec4 color_6 = texture2D(u_lee_texture, v_coord);\n","order":0},"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999},"-1437606165":{"str":"normal = normalize(color_5.xyz);\n","order":-5},"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505,-1437606165,-487740388,-543907110],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":0},"output_var":"color_6"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_texture;\n":1},"body_hash":{"-543907110":{"str":"vec4 color_6 = texture2D(u_lee_texture, v_coord);\n","order":0}},"body_ids":[-543907110],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_6.r"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_texture;\n":1},"body_hash":{"-543907110":{"str":"vec4 color_6 = texture2D(u_lee_texture, v_coord);\n","order":0}},"body_ids":[-543907110],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_6.g"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_texture;\n":1},"body_hash":{"-543907110":{"str":"vec4 color_6 = texture2D(u_lee_texture, v_coord);\n","order":0}},"body_ids":[-543907110],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_6.b"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_texture;\n":1},"body_hash":{"-543907110":{"str":"vec4 color_6 = texture2D(u_lee_texture, v_coord);\n","order":0}},"body_ids":[-543907110],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_6.a"}],"properties":{"name":"lee","texture_url":"assets/textures/texture/lee.jpg","texture_type":"Color"}},{"id":7,"title":"TextureSample","type":"texture/TextureSample","pos":[267,524],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":null},{"name":"R","type":"float","types":{"float":1},"links":[8]},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":2},"fragment":{"header":{"uniform sampler2D u_lee_spec_texture;\n":1},"body_hash":{"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":2},"output_var":"color_7"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_spec_texture;\n":1},"body_hash":{"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_7.r"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_spec_texture;\n":1},"body_hash":{"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_7.g"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_spec_texture;\n":1},"body_hash":{"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_7.b"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_spec_texture;\n":1},"body_hash":{"-1482398505":{"str":"vec4 color_7 = texture2D(u_lee_spec_texture, v_coord);\n","order":2}},"body_ids":[-1482398505],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_7.a"}],"properties":{"name":"lee_spec","texture_url":"assets/textures/texture/lee_spec.jpg","texture_type":"Color"}},{"id":5,"title":"TextureSample","type":"texture/TextureSample","pos":[268,322],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[7]},{"name":"R","type":"float","types":{"float":1},"links":null},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":-999},"fragment":{"header":{"uniform sampler2D u_lee_normal_texture;\n":1},"body_hash":{"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999},"-1437606165":{"str":"normal = normalize(color_5.xyz);\n","order":-5}},"body_ids":[-1437606165,-487740388],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":-999},"output_var":"color_5"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_normal_texture;\n":1},"body_hash":{"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999}},"body_ids":[-487740388],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_5.r"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_normal_texture;\n":1},"body_hash":{"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999}},"body_ids":[-487740388],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_5.g"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_normal_texture;\n":1},"body_hash":{"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999}},"body_ids":[-487740388],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_5.b"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_coord":1},"scope":"","order":1.7976931348623157e+308},"fragment":{"header":{"uniform sampler2D u_lee_normal_texture;\n":1},"body_hash":{"-487740388":{"str":"vec4 color_5 = texture2D(u_lee_normal_texture, v_coord);\n color_5 = (2.0 * color_5 )-1.0;\n","order":-999}},"body_ids":[-487740388],"includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1},"scope":"","order":1.7976931348623157e+308},"output_var":"color_5.a"}],"properties":{"name":"lee_normal","texture_url":"assets/textures/texture/lee_normal.jpg","texture_type":"Normal map","normal_map_type":"Model space"}}],"mesh":"lee"}
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | body #layout{
2 | background-color: #222222;
3 | margin: 0px;
4 | }
5 |
6 | #layout_main_layout_panel_left div.w2ui-panel-content {
7 | padding: 6px;
8 | }
9 | #layout_main_layout_panel_main div.w2ui-panel-content {
10 | padding: 5px;
11 | }
12 | .litemenubar-panel{
13 | z-index: 123;
14 | color: #aaa !important;
15 | border-bottom-color: #555 !important;
16 | }
17 |
18 | /*body #layout .dg .c,*/
19 | /*body #layout .dg .cr.function,*/
20 | /*body #layout .dg .c select,*/
21 | /*body #layout .dg .property-name,*/
22 | /*body #layout .dg .title {*/
23 | /*-webkit-touch-callout: none;*/
24 | /*-webkit-user-select: none;*/
25 | /*-khtml-user-select: none;*/
26 | /*-moz-user-select: none;*/
27 | /*-ms-user-select: none;*/
28 | /*user-select: none;*/
29 | /*}*/
30 |
31 |
32 | /* only for the right column panel of dat guio */
33 | body #layout #palette .property-name{
34 | width :100%;
35 | }
36 |
37 | body #layout .dg .property-name{
38 | padding-left: 12px;
39 | }
40 |
41 | body #layout #palette .dg.main {
42 | box-shadow: 0 0 8px rgba(0,0,0,0.7);
43 | overflow: auto;
44 | }
45 |
46 | /*@media only screen and (max-width : 1350px) {*/
47 | /*body #layout.gui-auto-hide .dg.ac {*/
48 | /*right: -233px;*/
49 | /*}*/
50 |
51 | /*body #layout .dg.ac:hover,*/
52 | /*body #layout.gui-show .dg.ac {*/
53 | /*right: 0px;*/
54 | /*}*/
55 |
56 | /*body #layout.gui-auto-hide.gui-transitions .dg.ac {*/
57 | /*-webkit-transition: all 500ms cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
58 | /*-moz-transition: all 500ms cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
59 | /*-o-transition: all 500ms cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
60 | /*transition: all 500ms cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
61 |
62 | /*-webkit-transition-timing-function: cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
63 | /*-moz-transition-timing-function: cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
64 | /*-o-transition-timing-function: cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
65 | /*transition-timing-function: cubic-bezier(0.965, 0.025, 0.735, 0.415);*/
66 |
67 | /*transition-delay: 3s;*/
68 | /*-webkit-transition-delay: 3s;*/
69 | /*}*/
70 |
71 | /*body #layout.gui-transitions .dg.ac:hover,*/
72 | /*body #layout.gui-show.gui-transitions .dg.ac {*/
73 | /*-webkit-transition: all 500ms cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
74 | /*-moz-transition: all 500ms cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
75 | /*-o-transition: all 500ms cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
76 | /*transition: all 500ms cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
77 |
78 | /*-webkit-transition-timing-function: cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
79 | /*-moz-transition-timing-function: cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
80 | /*-o-transition-timing-function: cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
81 | /*transition-timing-function: cubic-bezier(0.095, 0.665, 0.400, 0.835);*/
82 |
83 | /*transition-delay: 0;*/
84 | /*-webkit-transition-delay: 0;*/
85 | /*}*/
86 | /*}*/
87 |
88 | body #layout .dg.main.taller-than-window .close-button {
89 | border-top: 1px solid #444;
90 | border-right: 4px solid #444;
91 | }
92 |
93 | body #layout .dg.main .close-button {
94 | background-color: #444;
95 | display:none !important; /*we want the close button always hidden*/
96 | }
97 |
98 | body #layout .dg.main .close-button:hover {
99 | background-color: #555;
100 | }
101 |
102 | body #layout .dg.main::-webkit-scrollbar {
103 | background: #3d3d3d;
104 | width: 11px;
105 | }
106 |
107 | body #layout .dg.main::-webkit-scrollbar-thumb {
108 | background: transparent;
109 | width: 5px;
110 | border-left: 5px solid rgba(0,0,0,0.2);
111 | border-right: 6px solid rgba(0,0,0,0.2);
112 | border-radius: 0;
113 | }
114 |
115 | body #layout .dg {
116 | color: #aaa;
117 | text-shadow: none !important;
118 | }
119 |
120 | /*body #layout .dg ul{*/
121 | /*padding: 0px 4px 0px 0px;*/
122 | /*}*/
123 |
124 | body #layout .dg li:not(.folder) {
125 | background: #3d3d3d;
126 | border-bottom: 0px;
127 | padding: 0;
128 | }
129 |
130 | body #layout .dg li.save-row .button {
131 | text-shadow: none !important;
132 | }
133 |
134 | body #layout .dg li.title {
135 | padding-left: 22px;
136 | border-bottom: 1px solid #555;
137 | background: #444 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 10px 10px no-repeat;
138 | }
139 |
140 | body #layout .dg ul .boolean:hover {
141 | background: #3d3d3d;
142 | }
143 |
144 | body #w2ui-popup .dg .cr.function,
145 | body #layout .dg .cr.function {
146 | border-top: 1px solid #444;
147 | background: #333;
148 | color: #aaa;
149 | border-bottom: 1px solid #333;
150 | border-left: none;
151 | }
152 |
153 | body #w2ui-popup .dg ul .function:hover,
154 | body #layout .dg ul .function:hover {
155 | background: #3a3a3a;
156 | border-bottom: 1px solid #2fa1d6;
157 | }
158 |
159 | body #w2ui-popup .dg .cr.function:active
160 | body #layout .dg .cr.function:active {
161 | border-top: 2px solid #444;
162 | border-bottom: 0;
163 | background: #2e2e2e;
164 | }
165 |
166 | /*body #layout .dg .c select {*/
167 | /*margin-top: 2px;*/
168 | /*margin-left: 3px;*/
169 | /*padding: 3px 5px;*/
170 | /*}*/
171 |
172 | body #layout .dg .c select,
173 | body #layout .dg .c input[type=text],
174 | body #layout .dg .cr.number input[type=text] {
175 | background: #333;
176 | color: #999;
177 | border: 0;
178 | font-size: 10px;
179 | }
180 |
181 | body #layout .dg .c select,
182 | body #layout .dg .c select:focus {
183 | width: 99%;
184 | outline: 0;
185 | }
186 |
187 | body #layout .dg .c input[type=text]:hover {
188 | background: #444;
189 | }
190 |
191 | body #layout .dg .c input[type=text]:focus {
192 | background: #444;
193 | color: #fff;
194 | }
195 |
196 | body #layout .dg .c .slider {
197 | background: #555;
198 | }
199 |
200 | body #layout .dg .c .slider:hover {
201 | background: #666;
202 | }
203 |
204 | body #layout .dg .c .slider-fg {
205 | background: #777;
206 | }
207 |
208 | body #layout .dg .c .slider:hover .slider-fg {
209 | background: #999;
210 | }
211 |
212 | body #layout .dg li.folder {
213 | border-left: 0;
214 | }
215 | body #layout .dg .folder .folder{
216 | padding-left:20px;
217 | }
218 |
219 | body #layout .dg.a {
220 | border-right:4px solid #3d3d3d;
221 | margin: 0;
222 | }
223 |
224 | body #layout div.w2ui-panel div.w2ui-panel .left_rotated_tab {
225 | display: block;
226 | position: relative;
227 | z-index: 125;
228 | -webkit-transform: rotate(90deg);
229 | -moz-transform: rotate(90deg);
230 | -ms-transform: rotate(90deg);
231 | -o-transform: rotate(90deg);
232 | transform: rotate(90deg);
233 | -webkit-transform-origin: 25% 0%;
234 | -moz-transform-origin: 25% 0%;
235 | -ms-transform-origin: 25% 0%;
236 | -o-transform-origin: 25% 0%;
237 | transform-origin: 25% 0%;
238 | margin: 50px 0px 105px -8px;
239 | width: 125px;
240 | padding: 0;
241 | background: #222;
242 | }
243 |
244 | body #layout div.w2ui-panel div.w2ui-panel .right_rotated_tab {
245 | display: block;
246 | position: relative;
247 | z-index: 125;
248 | -webkit-transform: rotate(-90deg);
249 | -moz-transform: rotate(-90deg);
250 | -ms-transform: rotate(-90deg);
251 | -o-transform: rotate(-90deg);
252 | transform: rotate(-90deg);
253 | -webkit-transform-origin: 25% 0%;
254 | -moz-transform-origin: 25% 0%;
255 | -ms-transform-origin: 25% 0%;
256 | -o-transform-origin: 25% 0%;
257 | transform-origin: 25% 0%;
258 | margin: 90px 0px 110px -26px;
259 | width: 110px;
260 | padding: 0;
261 | background: #222;
262 | }
263 |
264 | body #layout .dg .selector {
265 | margin-top: 20px;
266 | }
267 |
268 |
269 | #layout_layout2_panel_left div.w2ui-panel-content, #layout_layout3_panel_right div.w2ui-panel-content{
270 | background: #222;
271 | }
272 |
273 | .w2ui-layout > div #layout_layout2_panel_left .w2ui-panel-tabs > .w2ui-tab.active, .w2ui-layout > div #layout_layout3_panel_right .w2ui-panel-tabs > .w2ui-tab.active {
274 | background-color: #3d3d3d;
275 | }
276 |
277 | #top-buttons a {
278 | color:inherit;
279 | text-decoration:none;
280 | display:block;
281 | padding:4px;
282 | }
283 |
284 |
285 |
286 | #top-buttons {
287 | margin-left: 10px;
288 | }
289 | .top-button {
290 | color:#aaa;
291 | float:left;
292 | width:120px;
293 | text-align: center;
294 | background-image: linear-gradient(#222, #3d3d3d);
295 | border: 1px solid #111111;
296 | border-top: none;
297 | border-left-color: #333;
298 | font-family: Arial, sans-serif;
299 | font-size: 16px;
300 | font-weight: bold;
301 | cursor: pointer;
302 | }
303 |
304 | .contact {
305 | width:210px;
306 | }
307 |
308 | .top-button:hover, #top-buttons .pressed {
309 | background-image: linear-gradient(#3a3a3a, #4f4f4f);
310 | color:#E5E6E7;
311 | }
312 |
313 | .top-button i {
314 | text-align: center;
315 | display: block;
316 | }
317 | body #layout .dg li.code-title {
318 | padding-left: 22px;
319 | border-bottom: 1px solid #555;
320 | background-color: #444;
321 | }
322 | #code {
323 | overflow: auto;
324 | }
325 | #code::-webkit-scrollbar {
326 | background: #3d3d3d;
327 | width: 11px;
328 | }
329 |
330 | #code::-webkit-scrollbar-thumb {
331 | background: transparent;
332 | width: 5px;
333 | border-left: 5px solid rgba(0,0,0,0.2);
334 | border-right: 6px solid rgba(0,0,0,0.2);
335 | border-radius: 0;
336 | }
337 | #code pre {
338 | margin-top: 0px;
339 | }
340 | img.texture-selector{
341 | width:100px;
342 | height:100px;
343 | float:right;
344 | }
345 |
346 | .w2ui-inner-popup .texture-popup li{
347 | height:100px;
348 | }
349 | .w2ui-inner-popup .texture-popup span{
350 | text-align:center;
351 | height: 100px;
352 | line-height: 100px;
353 | width: 60%;
354 | }
355 |
356 | #mesh-changer {
357 | position: absolute;
358 | right: 15px;
359 | top: 15px;
360 | }
361 |
362 | .mesh-changer-button {
363 | color:#aaa;
364 | float:left;
365 | background-image: none;
366 | font-family: Arial, sans-serif;
367 | font-size: 16px;
368 | font-weight: bold;
369 | cursor: pointer;
370 | margin-right: 7px;
371 | }
372 |
373 | .mesh-changer-button:hover {
374 | color:#E5E6E7;
375 | }
376 |
377 | .search {
378 | margin: 14px 23px;
379 | border: 0;
380 | padding: 7px 8px;
381 | font-size: 12px;
382 | width: 80%;
383 | box-sizing: border-box;
384 | border-radius: 3px;
385 | background: #444;
386 | border: 1px solid #444;
387 | color: #999;
388 | }
389 |
390 | .search:focus {
391 | background: #484848;
392 | color: #aaa;
393 | border: 1px solid rgba(255,255,255,0.1);
394 | outline: 0;
395 | }
396 |
397 | .search::-webkit-search-cancel-button {
398 | -webkit-appearance: none;
399 | height: 1px;
400 | width: 8px;
401 | cursor: pointer;
402 | }
403 |
404 | .search::-webkit-search-cancel-button:before {
405 | height: 1px;
406 | width: 10px;
407 | content: 'x';
408 | font-family: Arial;
409 | line-height: 0;
410 | font-size: 13px;
411 | color: #999;
412 | font-weight: bold;
413 | cursor: pointer;
414 | }
415 |
416 | .search::-webkit-input-placeholder {
417 | color: #777;
418 | }
419 |
420 | .search:-moz-placeholder {
421 | color: #777;
422 | }
423 |
424 | .search::-moz-placeholder {
425 | color: #777;
426 | }
427 |
428 | .search:-ms-input-placeholder {
429 | color: #777;
430 | }
431 |
--------------------------------------------------------------------------------
/js/external/ez.render.min.js:
--------------------------------------------------------------------------------
1 | /*! ez.render 09-06-2015 */
2 | var EZ=EZ||{};EZ.ZERO=vec3.fromValues(0,0,0),EZ.LEFT=vec3.fromValues(1,0,0),EZ.UP=vec3.fromValues(0,1,0),EZ.FRONT=vec3.fromValues(0,0,1),EZ.WHITE=vec3.fromValues(1,1,1),EZ.BLACK=vec3.fromValues(0,0,0),EZ.temp_mat4=mat4.create(),EZ.temp_vec2=vec3.create(),EZ.temp_vec3=vec3.create(),EZ.temp_vec4=vec4.create(),EZ.temp_quat=quat.create(),EZ.temp_quat2=quat.create(),EZ.temp_mat3=mat3.create(),EZ.PRIORITY_BACKGROUND=30,EZ.PRIORITY_OPAQUE=20,EZ.PRIORITY_ALPHA=10,EZ.PRIORITY_HUD=0,EZ.entity_count=0,EZ.Entity=function(){this.uuid=EZ.entity_count++,this.name="",this.type="entity",this.position=vec3.create(),this.quat=quat.create(),this.scale=vec3.fromValues(1,1,1),this.up=vec3.clone(EZ.UP),this.local_transform=mat4.create(),this.global_transform=mat4.create(),this.local_needs_update=!0,this.global_needs_update=!0,this.parent=null,this.children=[],this.visible=!0,this.follow=null},EZ.Entity.prototype={constructor:EZ.Entity,updateLocalMatrix:function(){mat4.identity(this.local_transform),mat4.translate(this.local_transform,this.local_transform,this.follow?this.follow.position:this.position),mat4.fromQuat(EZ.temp_mat4,this.quat),mat4.mul(this.local_transform,this.local_transform,EZ.temp_mat4),mat4.scale(this.local_transform,this.local_transform,this.scale),this.local_needs_update=!1,this.global_needs_update=!0},updateGlobalMatrix:function(a){(this.local_needs_update||this.follow&&this.follow.local_needs_update)&&this.updateLocalMatrix(),this.parent&&(a||this.parent.updateGlobalMatrix(),mat4.mul(this.global_transform,this.local_transform,this.parent.global_transform)),this.global_needs_update=!1},lookAt:function(a){mat4.lookAt(this.global_transform,this.position,a,this.up),quat.fromMat4(this.quat,this.global_transform),this.local_needs_update=!0},addChild:function(a){if(a.parent)throw"the child "+a.name+" has already a parent";a.parent=this,this.children.push(a),a.propagate("updateGlobalMatrix",[!0])},removeChild:function(a){if(a.parent!==this)throw"the child "+a.name+" has a different parent";a.parent=null,this.children[this.children.length]=a;for(var b=this.children.length-1;b>=0;b--)this.children[b]===a&&this.children.splice(b,1);this.propagate("updateGlobalMatrix",[!0])},followEntity:function(a){this.follow=a},propagate:function(a,b){for(var c=this.children.length-1;c>=0;c--){var d=this.children[c];d&&(d[a]&&d[a].apply(d,b),d.propagate(d,b))}},getAllChildren:function(){for(var a=[],b=this.children.length-1;b>=0;b--){var c=this.children[b];a[a.length]=c,c.getAllChildren(a)}return a},getLeft:function(){return this.getGlobalVector([1,0,0])},getUp:function(){return this.getGlobalVector([0,1,0])},getFront:function(){return this.getGlobalVector([0,0,1])},getGlobalVector:function(a,b){return vec3.transformMat4(b||vec3.create(),a,this.global_transform)}},EZ.EMesh=function(){EZ.Entity.call(this),this.color=vec4.fromValues(1,1,1,1),this.render_priority=EZ.PRIORITY_OPAQUE,this.shader="",this.mesh="",this.mesh_obj=null,this.textures={},this.uniforms={u_color:this.color,u_color_texture:0},this.flags={flip_normals:!1,depth_test:!0,depth_write:!0,blending:!1,blending_mode:"additive",two_sided:!1},this.type="mesh"},EZ.EMesh.prototype=Object.create(EZ.Entity.prototype),EZ.EMesh.prototype.constructor=EZ.EMesh,EZ.EMesh.prototype.setTexture=function(a,b){b?"string"==typeof b&&(this.textures[a]=b):this.textures[a]=null},EZ.EMesh.prototype.clearTextures=function(){this.textures={}},EZ.EMesh.prototype.setSkyBox=function(){this.flags.depth_write=!1,this.flags.depth_test=!1,this.render_priority=EZ.PRIORITY_BACKGROUND,this.flags.flip_normals=!0},EZ.EMesh.prototype.render=function(a){if(this.mesh&&(this.mesh_obj=gl.meshes[this.mesh]),this.mesh_obj){var b=0,c=null;for(var d in this.textures){var e=this.textures[d];c=gl.textures[e],c||(c=gl.textures.white),this.uniforms["u_"+d+"_texture"]=c.bind(b++)}var f=null;this.shader&&(f=gl.shaders[this.shader]),f||(f=gl.shaders.flat),gl.frontFace(this.flags.flip_normals?gl.CW:gl.CCW),gl[this.flags.depth_test===!1?"disable":"enable"](gl.DEPTH_TEST),this.flags.depth_write===!1&&gl.depthMask(!1),gl[this.flags.two_sided===!0?"disable":"enable"](gl.CULL_FACE),this.flags.blending&&(gl.enable(gl.BLEND),"additive"==this.flags.blending_mode?gl.blendFunc(gl.SRC_ALPHA,gl.ONE):"substractive"==this.flags.blending_mode?gl.blendFunc(gl.ZERO,gl.ONE_MINUS_SRC_COLOR):"multiplicative"==this.flags.blending_mode?gl.blendFunc(gl.ZERO,gl.SRC_COLOR):"alpha_blended"==this.flags.blending_mode?gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA):"screen"==this.flags.blending_mode&&gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_COLOR)),[GL.SRC_ALPHA,GL.ONE],this.setExtraUniforms(f),f.uniforms(this.uniforms),f.uniforms(a.uniforms),f.draw(this.mesh_obj,void 0===this.flags.primitive?gl.TRIANGLES:this.flags.primitive),this.flags.flip_normals&&gl.frontFace(gl.CCW),this.flags.depth_test===!1&&gl.enable(gl.DEPTH_TEST),this.flags.blending&&gl.disable(gl.BLEND),this.flags.two_sided&&gl.disable(gl.CULL_FACE),this.flags.depth_write===!1&&gl.depthMask(!0)}},EZ.EMesh.prototype.setExtraUniforms=function(a){var b={};for(var c in a.globals)b[a.globals[c].name]=a.globals[c].getValue();a.uniforms(b)},EZ.EScene=function(){EZ.Entity.call(this),this.time=0,this.type="scene"},EZ.EScene.prototype=Object.create(EZ.Entity.prototype),EZ.EScene.prototype.constructor=EZ.EScene,EZ.EScene.prototype.update=function(a){this.time+=a},EZ.ECamera=function(a,b,c,d){EZ.Entity.call(this),this.target=vec3.create(),this.aspect=b||1,this.fov=a||45,this.near=c||.1,this.far=d||1e3,this.projection_matrix=mat4.create(),this.view_projection=mat4.create(),this.view=mat4.create(),this.type="camera"},EZ.ECamera.prototype=Object.create(EZ.Entity.prototype),EZ.ECamera.prototype.constructor=EZ.ECamera,EZ.ECamera.prototype.updateProjectionMatrix=function(){mat4.invert(this.view,this.global_transform),mat4.perspective(this.projection_matrix,this.fov*DEG2RAD,this.aspect,this.near,this.far),mat4.mul(this.view_projection,this.projection_matrix,this.view)},EZ.CameraController=function(a){if(a&&!a.context)throw"CameraController can't work without the canvas";this.renderer=a,this.ctx=a.context,this.cam=null,this.needs_update=!0,this.needs_rotation_update=!0,this.radius=vec3.create(),this.scale=1,this.zoom_speed=1;var b=this;this.onMouseMove=function(a){if(a.dragging){var c=a.deltax>.1||a.deltax<-.1?-a.deltax:0;c&&(quat.setAxisAngle(EZ.temp_quat,[0,1,0],c*DEG2RAD),b.cam.needs_local_update=!0,b.needs_x_rot=!0,b.needs_update=!0);var d=b.cam.getFront();vec3.normalize(d,d);var e=vec3.dot([0,1,0],d),f=.01,g=a.deltay>.1?f:a.deltay<-.1?-f:0;if(.99>e+g&&e+g>-.99&&(c=a.deltay>.1||a.deltay<-.1?-a.deltay:0)){var h=b.cam.getLeft();vec3.sub(h,h,b.cam.position),quat.setAxisAngle(EZ.temp_quat2,h,c*DEG2RAD),b.cam.needs_local_update=!0,b.needs_y_rot=!0,b.needs_update=!0}}},this.onMouseDown=function(){},this.onMouseWheel=function(a){Math.pow(.95,b.zoom_speed);a.deltaY<1?b.scale*=.95:b.scale/=.95,b.needs_update=!0},this.update=function(){this.cam=this.renderer.current_cam,this.cam&&this.needs_update&&(vec3.sub(EZ.temp_vec4,this.cam.position,this.cam.target),vec3.scale(EZ.temp_vec4,EZ.temp_vec4,this.scale),this.needs_x_rot&&vec3.transformQuat(EZ.temp_vec4,EZ.temp_vec4,EZ.temp_quat),this.needs_y_rot&&vec3.transformQuat(EZ.temp_vec4,EZ.temp_vec4,EZ.temp_quat2),vec3.add(this.cam.position,this.cam.target,EZ.temp_vec4),this.scale=1,this.cam.lookAt(this.cam.target),this.needs_update=!1,this.needs_y_rot=!1,this.needs_x_rot=!1)},this.ctx.captureMouse(!0),this.ctx.onmousewheel=this.onMouseWheel,this.ctx.onmousedown=this.onMouseDown,this.ctx.onmousemove=this.onMouseMove,this.ctx.captureKeys(),this.ctx.onkeydown=function(){}},EZ.Renderer=function(){this.current_cam=null,this.current_scene=null,this.cam_controller=null,this.color=[0,0,0,0],this.mvp_matrix=mat4.create(),this.uniforms={u_view:{},u_viewprojection:{},u_model:{},u_mvp:this.mvp_matrix},this.now=getTime(),this.then=this.now,this.dt=0,this.total_time=0},EZ.Renderer.prototype={constructor:EZ.Renderer,addMesh:function(a,b){this.context!=window.gl&&this.context.makeCurrent(),this.context.meshes[a]=b},addTextureFromURL:function(a,b,c,d){return c=c||{},this.context.textures[a]=GL.Texture.fromURL(b,c,d,this.context)},addCubeMapFromURL:function(a,b,c,d){return c=c||{},this.context.textures[a]=GL.Texture.cubemapFromURL(b,c,d,this.context)},loadAssets:function(){var a={lat:128,size:.5};a["long"]=128,this.addMesh("sphere",GL.Mesh.sphere(a)),this.addMesh("cylinder",GL.Mesh.cylinder({height:2,radius:.1})),this.addMesh("circle",GL.Mesh.circle({xz:!0})),this.addMesh("grid",GL.Mesh.grid({size:1,lines:50})),this.addMesh("box",GL.Mesh.box({size:1})),this.addMesh("plane",GL.Mesh.plane({size:1,detail:100})),this.addMesh("lee",GL.Mesh.fromURL("assets/meshes/lee.obj")),gl.textures={},gl.textures.notfound=new GL.Texture(1,1,{filter:gl.NEAREST,pixel_data:new Uint8Array([0,0,0,255])}),gl.textures.white=new GL.Texture(1,1,{filter:gl.NEAREST,pixel_data:new Uint8Array([255,255,255,255])})},createCanvas:function(a,b,c){this.context=GL.create({width:a,height:b}),this.context.canvas.id=c,this.context.canvas.width=a,this.context.canvas.height=b;var d=this;this.context.ondrop=function(a){a.preventDefault();var b,c=a.dataTransfer.files[0],e=c.name,f=e.lastIndexOf(".");if(-1==f)return b="";b=e.substr(f+1).toLowerCase();var g=new FileReader;g.onload=function(a){var b=a.target.result;node.onDropFile(b,e,c,null,gl),d.onDropFile&&d.onDropFile(b,e,c),LiteGraph.dispatchEvent("contentChange",null,null)};var h=c.type.split("/")[0];return"text"==h||"json"==b?g.readAsText(c):"image"==h?g.readAsDataURL(c):g.readAsArrayBuffer(c),!1},this.cam_controller=new EZ.CameraController(this),this.loadAssets(),this.createShaders()},setModelMatrix:function(a,b){mat4.multiply(this.mvp_matrix,b.view_projection,a)},setUniforms:function(a,b){this.uniforms={u_eye:a.position,u_view:a.view,u_viewprojection:a.view_projection,u_model:b.global_transform,u_mvp:this.mvp_matrix,u_time:this.total_time,u_frame_time:this.dt}},clearContext:function(){this.context.clearColor(this.color[0],this.color[1],this.color[2],this.color[3]),this.context.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT)},update:function(){this.now=getTime();var a=.001*(this.now-this.then);this.then=this.now,this.dt=a,this.total_time+=a,this.current_scene&&this.current_scene.update(a),this.cam_controller.update(a)},render:function(a,b){if(!a)throw"Renderer.render: scene not provided";if(!b)throw"Renderer.render: camera not provided";this.context!=window.gl&&this.context.makeCurrent(),this.current_cam=b,this.current_scene=a,this.update(),this.clearContext();for(var c=a.getAllChildren(),d=null,e=c.length-1;e>=0;e--)d=c[e],d.updateGlobalMatrix(!0);b.updateProjectionMatrix(),c.sort(function(a,b){return a.render_priority-b.render_priority});for(var e=c.length-1;e>=0;e--)d=c[e],d.render&&d.visible&&(this.setModelMatrix(d.global_transform,b),this.setUniforms(b,d),d.render(this))},createShaders:function(){var a=new GL.Shader(" precision mediump float; attribute vec3 a_vertex; uniform mat4 u_mvp; void main() { gl_Position = u_mvp * vec4(a_vertex,1.0); gl_PointSize = 5.0; } "," precision mediump float; uniform vec4 u_color; void main() { gl_FragColor = u_color; } ");gl.shaders.flat=a;var b={u_lightvector:vec3.fromValues(1,0,0),u_lightcolor:EZ.WHITE},c=new GL.Shader(" precision mediump float; attribute vec3 a_vertex; attribute vec3 a_normal; varying vec3 v_normal; uniform mat4 u_mvp; uniform mat4 u_model; void main() { v_normal = (u_model * vec4(a_normal,0.0)).xyz; gl_Position = u_mvp * vec4(a_vertex,1.0); } "," precision mediump float; varying vec3 v_normal; uniform vec3 u_lightcolor; uniform vec3 u_lightvector; uniform vec4 u_color; void main() { vec3 N = normalize(v_normal); gl_FragColor = u_color * max(0.0, dot(u_lightvector,N)) * vec4(u_lightcolor,1.0); } ");gl.shaders.phong=c,gl.shaders.phong.uniforms(b);var d=new Shader(" precision mediump float; attribute vec3 a_vertex; attribute vec3 a_normal; varying vec3 v_pos; varying vec3 v_normal; uniform mat4 u_mvp; uniform mat4 u_model; void main() { v_pos = a_vertex.xyz; v_normal = (u_model * vec4(a_normal,0.0)).xyz; gl_Position = u_mvp * vec4(a_vertex,1.0); } "," precision mediump float; varying vec3 v_normal; varying vec3 v_pos; uniform vec4 u_color; uniform samplerCube u_cubemap_texture; void main() { vec3 N = normalize(v_normal); gl_FragColor = u_color * textureCube( u_cubemap_texture, v_pos ); } ");gl.shaders.cubemap=d;var e=new Shader(" precision mediump float; attribute vec3 a_vertex; attribute vec3 a_normal; varying vec3 v_pos; varying vec3 v_normal; varying vec3 v_refl; uniform vec3 u_eye; uniform mat4 u_mvp; uniform mat4 u_model; void main() { v_pos = (u_model * vec4(a_vertex,1.0)).xyz; v_normal = (u_model * vec4(a_normal,0.0)).xyz; gl_Position = u_mvp * vec4(a_vertex,1.0); vec3 I = v_pos - u_eye; v_refl = reflect(I,v_normal); } "," precision mediump float; varying vec3 v_normal; varying vec3 v_pos; varying vec3 v_refl; uniform vec4 u_color; uniform vec3 u_lightvector; uniform samplerCube u_cubemap_texture; void main() { vec3 N = normalize(v_normal); vec4 color = u_color * textureCube( u_cubemap_texture, v_refl); gl_FragColor = color *(0.2 + max(0.2, dot(u_lightvector, N))); } ");gl.shaders.env_reflection=e,gl.shaders.env_reflection.uniforms(b);var f=new Shader(" precision mediump float; attribute vec3 a_vertex; attribute vec3 a_normal; varying vec3 v_pos; varying vec3 v_normal; uniform mat4 u_mvp; uniform mat4 u_model; void main() { v_pos = (u_model * vec4(a_vertex,1.0)).xyz; v_normal = (u_model * vec4(a_normal,0.0)).xyz; gl_Position = u_mvp * vec4(a_vertex,1.0); } "," precision mediump float; varying vec3 v_normal; varying vec3 v_pos; varying vec3 v_refr; uniform vec3 u_eye; uniform vec4 u_color; uniform vec3 u_lightvector; uniform samplerCube u_cubemap_texture; void main() { vec3 N = normalize(v_normal); vec3 I = normalize(v_pos - u_eye); vec3 refr = refract(I,N, (0.666)); vec4 RR_color = u_color * textureCube( u_cubemap_texture, refr); gl_FragColor = RR_color; } ");gl.shaders.env_refraction=f,gl.shaders.env_refraction.uniforms(b)},append:function(a){a.appendChild(this.context.canvas)},resize:function(a,b){this.context!=window.gl&&this.context.makeCurrent(),gl.canvas.width=a,gl.canvas.height=b,gl.viewport(0,0,a,b),this.current_cam&&(this.current_cam.aspect=gl.canvas.width/gl.canvas.height)}};
--------------------------------------------------------------------------------
/js/external/highlight.pack.js:
--------------------------------------------------------------------------------
1 | !function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){var n=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return n=n.map(function(e){return e.replace(/^lang(uage)?-/,"")}),n.filter(function(e){return N(e)||/no(-?)highlight/.test(e)})[0]}function o(e,n){var t={};for(var r in e)t[r]=e[r];if(n)for(var r in n)t[r]=n[r];return t}function i(e){var n=[];return function r(e,a){for(var o=e.firstChild;o;o=o.nextSibling)3==o.nodeType?a+=o.nodeValue.length:1==o.nodeType&&(n.push({event:"start",offset:a,node:o}),a=r(o,a),t(o).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:o}));return a}(e,0),n}function c(e,r,a){function o(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function c(e){l+=""+t(e)+">"}function u(e){("start"==e.event?i:c)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=o();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){f.reverse().forEach(c);do u(g.splice(0,1)[0]),g=o();while(g==e&&g.length&&g[0].offset==s);f.reverse().forEach(i)}else"start"==g[0].event?f.push(g[0].node):f.pop(),u(g.splice(0,1)[0])}return l+n(a.substr(s))}function u(e){function n(e){return e&&e.source||e}function t(t,r){return RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var c={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");c[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):Object.keys(a.k).forEach(function(e){u(e,a.k[e])}),a.k=c}a.lR=t(a.l||/\b[A-Za-z0-9_]+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function s(e,t,a,o){function i(e,n){for(var t=0;t";return o+=e+'">',o+n+i}function d(){if(!w.k)return n(y);var e="",t=0;w.lR.lastIndex=0;for(var r=w.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(w,r);a?(B+=a[1],e+=p(a[0],n(r[0]))):e+=n(r[0]),t=w.lR.lastIndex,r=w.lR.exec(y)}return e+n(y.substr(t))}function h(){if(w.sL&&!R[w.sL])return n(y);var e=w.sL?s(w.sL,y,!0,L[w.sL]):l(y);return w.r>0&&(B+=e.r),"continuous"==w.subLanguageMode&&(L[w.sL]=e.top),p(e.language,e.value,!1,!0)}function v(){return void 0!==w.sL?h():d()}function b(e,t){var r=e.cN?p(e.cN,"",!0):"";e.rB?(M+=r,y=""):e.eB?(M+=n(t)+r,y=""):(M+=r,y=t),w=Object.create(e,{parent:{value:w}})}function m(e,t){if(y+=e,void 0===t)return M+=v(),0;var r=i(t,w);if(r)return M+=v(),b(r,t),r.rB?0:t.length;var a=c(w,t);if(a){var o=w;o.rE||o.eE||(y+=t),M+=v();do w.cN&&(M+=""),B+=w.r,w=w.parent;while(w!=a.parent);return o.eE&&(M+=n(t)),y="",a.starts&&b(a.starts,""),o.rE?0:t.length}if(f(t,w))throw new Error('Illegal lexeme "'+t+'" for mode "'+(w.cN||"")+'"');return y+=t,t.length||1}var x=N(e);if(!x)throw new Error('Unknown language: "'+e+'"');u(x);for(var w=o||x,L={},M="",k=w;k!=x;k=k.parent)k.cN&&(M=p(k.cN,"",!0)+M);var y="",B=0;try{for(var C,j,I=0;;){if(w.t.lastIndex=I,C=w.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}m(t.substr(I));for(var k=w;k.parent;k=k.parent)k.cN&&(M+="");return{r:B,value:M,language:e,top:w}}catch(A){if(-1!=A.message.indexOf("Illegal"))return{r:0,value:n(t)};throw A}}function l(e,t){t=t||E.languages||Object.keys(R);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(N(n)){var t=s(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function f(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,E.tabReplace)})),E.useBR&&(e=e.replace(/\n/g," ")),e}function g(e,n,t){var r=n?x[n]:t,a=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||a.push("hljs"),r&&a.push(r),a.join(" ").trim()}function p(e){var n=a(e);if(!/no(-?)highlight/.test(n)){var t;E.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/ /g,"\n")):t=e;var r=t.textContent,o=n?s(n,r,!0):l(r),u=i(t);if(u.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(u,i(p),r)}o.value=f(o.value),e.innerHTML=o.value,e.className=g(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){E=o(E,e)}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",h,!1),addEventListener("load",h,!1)}function b(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e){x[e]=n})}function m(){return Object.keys(R)}function N(e){return R[e]||R[x[e]]}var E={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},R={},x={};return e.highlight=s,e.highlightAuto=l,e.fixMarkup=f,e.highlightBlock=p,e.configure=d,e.initHighlighting=h,e.initHighlightingOnLoad=v,e.registerLanguage=b,e.listLanguages=m,e.getLanguage=N,e.inherit=o,e.IR="[a-zA-Z][a-zA-Z0-9_]*",e.UIR="[a-zA-Z_][a-zA-Z0-9_]*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.CLCM={cN:"comment",b:"//",e:"$",c:[e.PWM]},e.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[e.PWM]},e.HCM={cN:"comment",b:"#",e:"$",c:[e.PWM]},e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("glsl",function(e){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[e.CLCM,e.CBCM,e.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",t={cN:"subst",b:/#\{/,e:/}/,k:c},r=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,t]},{b:/"/,e:/"/,c:[e.BE,t]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[t,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];t.c=r;var i=e.inherit(e.TM,{b:n}),s="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(r)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:r.concat([{cN:"comment",b:"###",e:"###",c:[e.PWM]},e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:n+":",e:":",rB:!0,rE:!0,r:0}])}});
--------------------------------------------------------------------------------
/graphs/simple_smoothstep.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":["ball","cube2"],"iteration":296,"last_node_id":29,"last_link_id":47,"links":{"0":{"data":null,"id":0,"origin_id":0,"origin_slot":0,"target_id":1,"target_slot":0},"1":{"data":null,"id":1,"origin_id":0,"origin_slot":0,"target_id":8,"target_slot":0},"2":{"data":null,"id":2,"origin_id":8,"origin_slot":2,"target_id":10,"target_slot":2},"3":{"data":null,"id":3,"origin_id":1,"origin_slot":0,"target_id":2,"target_slot":0},"4":{"data":null,"id":4,"origin_id":4,"origin_slot":0,"target_id":6,"target_slot":0},"5":{"data":null,"id":5,"origin_id":5,"origin_slot":0,"target_id":6,"target_slot":1},"6":{"data":null,"id":6,"origin_id":6,"origin_slot":0,"target_id":7,"target_slot":0},"7":{"data":null,"id":7,"origin_id":1,"origin_slot":1,"target_id":9,"target_slot":0},"8":{"data":null,"id":8,"origin_id":7,"origin_slot":1,"target_id":9,"target_slot":1},"9":{"data":null,"id":9,"origin_id":9,"origin_slot":0,"target_id":3,"target_slot":0},"10":{"data":null,"id":10,"origin_id":10,"origin_slot":0,"target_id":9,"target_slot":2},"11":{"data":null,"id":11,"origin_id":0,"origin_slot":0,"target_id":11,"target_slot":0},"12":{"data":null,"id":12,"origin_id":11,"origin_slot":1,"target_id":9,"target_slot":0},"13":{"data":null,"id":13,"origin_id":0,"origin_slot":0,"target_id":12,"target_slot":0},"14":{"data":null,"id":14,"origin_id":12,"origin_slot":2,"target_id":10,"target_slot":2},"15":{"id":15,"origin_id":15,"origin_slot":0,"target_id":13,"target_slot":0,"data":null},"16":{"id":16,"origin_id":13,"origin_slot":1,"target_id":3,"target_slot":0,"data":null},"17":{"id":17,"origin_id":18,"origin_slot":0,"target_id":16,"target_slot":1,"data":null},"18":{"id":18,"origin_id":17,"origin_slot":0,"target_id":16,"target_slot":0,"data":null},"19":{"id":19,"origin_id":16,"origin_slot":0,"target_id":14,"target_slot":0,"data":null},"20":{"id":20,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":0,"data":null},"21":{"id":21,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"22":{"id":22,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"23":{"id":23,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"24":{"id":24,"origin_id":20,"origin_slot":0,"target_id":16,"target_slot":1,"data":null},"25":{"id":25,"origin_id":15,"origin_slot":0,"target_id":22,"target_slot":0,"data":null},"26":{"id":26,"origin_id":22,"origin_slot":2,"target_id":21,"target_slot":2,"data":null},"27":{"id":27,"origin_id":21,"origin_slot":0,"target_id":19,"target_slot":2,"data":null},"28":{"id":28,"origin_id":19,"origin_slot":0,"target_id":23,"target_slot":0,"data":null},"29":{"id":29,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":0,"data":null},"30":{"id":30,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"31":{"id":31,"origin_id":19,"origin_slot":0,"target_id":24,"target_slot":0,"data":null},"32":{"id":32,"origin_id":19,"origin_slot":0,"target_id":24,"target_slot":1,"data":null},"33":{"id":33,"origin_id":24,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"34":{"id":34,"origin_id":24,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"35":{"id":35,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"36":{"id":36,"origin_id":25,"origin_slot":0,"target_id":26,"target_slot":0,"data":null},"37":{"id":37,"origin_id":26,"origin_slot":1,"target_id":21,"target_slot":2,"data":null},"38":{"id":38,"origin_id":26,"origin_slot":1,"target_id":27,"target_slot":0,"data":null},"39":{"id":39,"origin_id":27,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"40":{"id":40,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"41":{"id":41,"origin_id":27,"origin_slot":0,"target_id":28,"target_slot":0,"data":null},"42":{"id":42,"origin_id":28,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"43":{"id":43,"origin_id":26,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"44":{"id":44,"origin_id":26,"origin_slot":1,"target_id":21,"target_slot":2,"data":null},"45":{"id":45,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"46":{"id":46,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":0,"data":null}},"config":{},"nodes":[{"id":17,"title":"PixelNormalWS","type":"coordinates/PixelNormalWS","pos":[45,534],"size":{"0":124,"1":20},"flags":{},"outputs":[{"name":"Pixel Normal","type":"vec3","types":{"vec3":1},"links":[18]}],"shader_piece":{"id":"pixel_normal_ws","includes":{"a_normal":1,"u_model":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n"}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1},"scope":""},"fragment":{"header":{},"body_hash":{"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n"}},"body_ids":[-1326236929],"includes":{"a_normal":1,"u_model":1,"v_normal":1},"scope":""},"output_var":"pixel_normal_ws","order":0}],"properties":{}},{"id":16,"title":"Reflect","type":"texture/Reflect","pos":[253,566],"size":{"0":140,"1":34},"flags":{},"inputs":[{"name":"normal","type":"vec3","link":18,"types":{"vec3":1}},{"name":"vector","type":"vec3","link":24,"types":{"vec3":1}}],"outputs":[{"name":"reflect vector","type":"vec3","types":{"vec3":1},"links":[19]}],"shader_piece":{"name":"reflect","id":"2paramfunc","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":4}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":4},"fragment":{"header":{},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n"},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":4},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":4}},"body_ids":[-488000329,-1326236929,294262404],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":4},"output_var":"reflect_16","order":4}],"properties":{}},{"id":20,"title":"CameraToPixelWS","type":"coordinates/CameraToPixelWS","pos":[39,607],"size":{"0":145,"1":20},"flags":{},"outputs":[{"name":"Camera To Pixel","type":"vec3","types":{"vec3":1},"links":[24]}],"shader_piece":{"id":"cameratopixelws","includes":{"u_eye":1,"v_pos":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n"}},"body_ids":[-488000329],"includes":{"u_eye":1,"v_pos":1},"scope":""},"output_var":"camera_to_pixel_ws","order":1}],"properties":{}},{"id":15,"title":"TextureCoords","type":"coordinates/TextureCoords","pos":[233,374],"size":{"0":123,"1":20},"flags":{},"outputs":[{"name":"UVs","type":"vec2","types":{"vec2":1},"links":[15]}],"shader_piece":{"id":"uvs","includes":{"a_coord":1,"v_coord":1},"already_included":false},"codes":[{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n"}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"v_coord","order":2}],"properties":{"UTiling":1,"VTiling":1}},{"id":14,"title":"TextureSampleCube","type":"texture/TextureSampleCube","pos":[490,558],"size":[170,165],"flags":{},"inputs":[{"name":"vec3","type":"vec3","link":19,"types":{}}],"outputs":[{"name":"Cubemap","type":"Cubemap","types":{},"links":null},{"name":"Color","type":"vec4","types":{"vec3":1,"vec4":1},"links":[45]}],"shader_piece":{"id":"texture_sample_cube","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"output_var":""},{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":7}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":7},"fragment":{"header":{"uniform samplerCube u_cube2_texture;\n":1},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n","order":7},"-6153782":{"str":"vec4 color_14 = textureCube(u_cube2_texture, reflect_16);\n"},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":7},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":7}},"body_ids":[-488000329,-1326236929,294262404,-6153782],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":7},"output_var":"color_14","order":7}],"properties":{"name":"cube2"}},{"id":13,"title":"TextureSample","type":"texture/TextureSample","pos":[479,315],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":15,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec3":1,"vec4":1},"links":[46]},{"name":"R","type":"number","types":{"number":1},"links":null},{"name":"G","type":"number","types":{"number":1},"links":null},{"name":"B","type":"number","types":{"number":1},"links":null},{"name":"A","type":"number","types":{"number":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"output_var":""},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":5}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":5},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n"}},"body_ids":[143519557],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":5},"output_var":"color_13","order":5},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":5}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n"}},"body_ids":[143519557],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_13.r","order":5},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":5}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n"}},"body_ids":[143519557],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_13.g","order":5},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":5}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n"}},"body_ids":[143519557],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_13.b","order":5},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":5}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n"}},"body_ids":[143519557],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_13.a","order":5}],"properties":{"name":"ball"}},{"id":21,"title":"SmoothStep","type":"texture/SmoothStep","pos":[686,725],"size":{"0":140,"1":48},"flags":{},"inputs":[{"name":"lower","type":"number","link":null,"types":{"number":1},"label":"lower=0.300"},{"name":"upper","type":"number","link":null,"types":{"number":1},"label":"upper=0.800"},{"name":"x","type":"number","link":44,"types":{"number":1}}],"outputs":[{"name":"Result","type":"number","types":{"number":1},"links":[27]}],"shader_piece":{"id":"smoothsteep","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{"-1343114527":{"str":"float smoothed_21 = smoothstep(0.300,0.800, v_pos.y);\n"}},"body_ids":[-1343114527],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"smoothed_21"}],"properties":{"lower":0.3,"upper":0.8}},{"id":26,"title":"VecToComps","type":"coordinates/VecToComps","pos":[443,763],"size":{"0":140,"1":62},"flags":{},"inputs":[{"name":"vec","type":"vec4","link":36,"types":{"vec4":1,"vec3":1,"vec2":1}}],"outputs":[{"name":"x","type":"number","types":{"number":1},"links":[]},{"name":"y","type":"number","types":{"number":1},"links":[44]},{"name":"z","type":"number","types":{"number":1},"links":null},{"name":"v","type":"number","types":{"number":1},"links":null}],"shader_piece":null,"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"v_pos.x"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"v_pos.y"},{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"v_pos.z"},null,{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"v_pos.v"}],"properties":{}},{"id":25,"title":"VertexPositionWS","type":"coordinates/VertexPositionWS","pos":[214,781],"size":{"0":143,"1":20},"flags":{},"outputs":[{"name":"vec3","type":"vec3","types":{"vec3":1},"links":[36]}],"shader_piece":{"id":"cameratopixelws","includes":{"v_pos":1,"u_eye":1},"already_included":false},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"v_pos":1,"u_eye":1},"scope":""},"output_var":"v_pos"}],"properties":{}},{"id":19,"title":"Mix","type":"texture/Mix","pos":[862,540],"size":{"0":140,"1":48},"flags":{},"inputs":[{"name":"A","type":"vec3","link":46,"types":{"vec4":1,"vec3":1,"float":1}},{"name":"B","type":"vec3","link":45,"types":{"vec4":1,"vec3":1,"float":1}},{"name":"alpha","type":"number","link":27,"types":{"float":1},"label":"alpha"}],"outputs":[{"name":"Result","type":"vec4","types":{"vec4":1,"vec3":1},"links":[40]}],"shader_piece":{"name":"mix","id":"3paramfunc","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":9},"1641341615":{"str":"v_coord = a_coord;\n","order":9}},"body_ids":[794463831,1641341615],"includes":{"u_eye":1,"v_pos":1,"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1},"scope":"","order":9},"fragment":{"header":{"uniform sampler2D u_ball_texture;\n":1,"uniform samplerCube u_cube2_texture;\n":1},"body_hash":{"143519557":{"str":"vec4 color_13 = texture2D(u_ball_texture, v_coord);\n","order":9},"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n","order":9},"-892524503":{"str":"vec4 mixed_19 = mix(color_13,color_14,smoothed_21);\n"},"-1343114527":{"str":"float smoothed_21 = smoothstep(0.300,0.800, v_pos.y);\n","order":9},"-6153782":{"str":"vec4 color_14 = textureCube(u_cube2_texture, reflect_16);\n","order":9},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":9},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":9}},"body_ids":[-488000329,-1326236929,294262404,-6153782,143519557,-1343114527,-892524503],"includes":{"v_pos":1,"u_eye":1,"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1},"scope":"","order":9},"output_var":"mixed_19","order":9}],"properties":{"alpha":0.5}},{"id":3,"title":"Shader","type":"core/Shader","pos":[1069,502],"size":[125,250],"flags":{},"inputs":[{"link":40,"name":"color","type":"vec4","types":{"vec4":1}},{"link":null,"name":"normal","type":"vec3","types":{"vec3":1}},{"link":null,"name":"world position offset","type":"vec3","types":{"vec3":1}}],"shader_piece":{},"codes":[],"properties":{}}]}
--------------------------------------------------------------------------------
/graphs/glass.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":[],"iteration":604,"last_node_id":32,"last_link_id":51,"links":{"1":{"id":1,"origin_id":5,"origin_slot":1,"target_id":4,"target_slot":0,"data":null,"color":null},"2":{"id":2,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":4,"data":null,"color":null},"3":{"id":3,"origin_id":8,"origin_slot":0,"target_id":4,"target_slot":7,"data":null,"color":null},"4":{"id":4,"origin_id":9,"origin_slot":0,"target_id":10,"target_slot":2,"data":null,"color":null},"5":{"id":5,"origin_id":8,"origin_slot":0,"target_id":10,"target_slot":0,"data":null,"color":null},"6":{"id":6,"origin_id":11,"origin_slot":0,"target_id":10,"target_slot":1,"data":null,"color":null},"7":{"id":7,"origin_id":10,"origin_slot":0,"target_id":4,"target_slot":7,"data":null,"color":null},"8":{"id":8,"origin_id":13,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"9":{"id":9,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":3,"data":null,"color":null},"10":{"id":10,"origin_id":14,"origin_slot":0,"target_id":9,"target_slot":1,"data":null,"color":null},"11":{"id":11,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":3,"data":null,"color":null},"12":{"id":12,"origin_id":15,"origin_slot":0,"target_id":16,"target_slot":1,"data":null,"color":null},"13":{"id":13,"origin_id":13,"origin_slot":0,"target_id":16,"target_slot":0,"data":null,"color":null},"14":{"id":14,"origin_id":9,"origin_slot":0,"target_id":17,"target_slot":2,"data":null,"color":null},"15":{"id":15,"origin_id":15,"origin_slot":0,"target_id":17,"target_slot":1,"data":null,"color":null},"16":{"id":16,"origin_id":13,"origin_slot":0,"target_id":17,"target_slot":0,"data":null,"color":null},"17":{"id":17,"origin_id":17,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"18":{"id":18,"origin_id":13,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"19":{"id":19,"origin_id":18,"origin_slot":0,"target_id":4,"target_slot":5,"data":null,"color":null},"20":{"id":20,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":4,"data":null,"color":null},"21":{"id":21,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":3,"data":null,"color":null},"22":{"id":22,"origin_id":19,"origin_slot":0,"target_id":21,"target_slot":0,"data":null,"color":null},"23":{"id":23,"origin_id":20,"origin_slot":0,"target_id":21,"target_slot":1,"data":null,"color":null},"24":{"id":24,"origin_id":9,"origin_slot":0,"target_id":21,"target_slot":2,"data":null,"color":null},"25":{"id":25,"origin_id":21,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"26":{"id":26,"origin_id":21,"origin_slot":0,"target_id":4,"target_slot":2,"data":null,"color":null},"27":{"id":27,"origin_id":13,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"28":{"id":28,"origin_id":22,"origin_slot":0,"target_id":21,"target_slot":2,"data":null,"color":null},"29":{"id":29,"origin_id":23,"origin_slot":0,"target_id":22,"target_slot":1,"data":null,"color":null},"30":{"id":30,"origin_id":24,"origin_slot":1,"target_id":4,"target_slot":0,"data":null,"color":null},"31":{"id":31,"origin_id":6,"origin_slot":0,"target_id":4,"target_slot":4,"data":null,"color":null},"32":{"id":32,"origin_id":10,"origin_slot":0,"target_id":4,"target_slot":7,"data":null,"color":null},"33":{"id":33,"origin_id":24,"origin_slot":1,"target_id":26,"target_slot":0,"data":null,"color":null},"34":{"id":34,"origin_id":26,"origin_slot":0,"target_id":4,"target_slot":0,"data":null,"color":null},"35":{"id":35,"origin_id":9,"origin_slot":0,"target_id":10,"target_slot":2,"data":null,"color":null},"36":{"id":36,"origin_id":26,"origin_slot":0,"target_id":27,"target_slot":0,"data":null,"color":null},"37":{"id":37,"origin_id":6,"origin_slot":0,"target_id":27,"target_slot":4,"data":null,"color":null},"38":{"id":38,"origin_id":18,"origin_slot":0,"target_id":27,"target_slot":5,"data":null,"color":null},"39":{"id":39,"origin_id":10,"origin_slot":0,"target_id":27,"target_slot":7,"data":null,"color":null},"40":{"id":40,"origin_id":8,"origin_slot":0,"target_id":28,"target_slot":0,"color":null,"data":null},"41":{"id":41,"origin_id":11,"origin_slot":0,"target_id":28,"target_slot":1,"color":null,"data":null},"42":{"id":42,"origin_id":9,"origin_slot":0,"target_id":28,"target_slot":2,"color":null,"data":null},"43":{"id":43,"origin_id":28,"origin_slot":0,"target_id":27,"target_slot":7,"color":null,"data":null},"44":{"id":44,"origin_id":14,"origin_slot":0,"target_id":29,"target_slot":1,"color":null,"data":null},"45":{"id":45,"origin_id":29,"origin_slot":0,"target_id":30,"target_slot":2,"color":null,"data":null},"46":{"id":46,"origin_id":11,"origin_slot":0,"target_id":30,"target_slot":1,"color":null,"data":null},"47":{"id":47,"origin_id":8,"origin_slot":0,"target_id":30,"target_slot":0,"color":null,"data":null},"48":{"id":48,"origin_id":30,"origin_slot":0,"target_id":27,"target_slot":7,"color":null,"data":null},"49":{"id":49,"origin_id":24,"origin_slot":1,"target_id":31,"target_slot":0,"color":null,"data":null},"50":{"id":50,"origin_id":31,"origin_slot":0,"target_id":27,"target_slot":0,"color":null,"data":null}},"config":{},"nodes":[{"id":27,"title":"Output","type":"core/Output","pos":[682,272],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":50,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":null,"types":{"float":1}},{"name":"gloss","type":"float","link":37,"types":{"float":1}},{"name":"alpha","type":"float","link":38,"types":{"float":1}},{"name":"alpha clip","type":"float","link":null,"types":{"float":1}},{"name":"refraction","type":"float","link":48,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"outputs":null,"shader_piece":{},"codes":[],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"is_global":false,"global_name":"Output"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":14,"title":"Number","type":"constants/Number","pos":[175,679],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[44],"label":"2.770"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":2},"fragment":{"header":{},"body_hash":{"-1055437206":{"str":"float float_14 = 2.770;\n","order":2}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":2},"output_var":"float_14"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":2.77,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":24,"title":"TextureSampleCube","type":"texture/TextureSampleCube","pos":[230,123],"size":[170,165],"flags":{},"inputs":[{"name":"vec3","type":"vec3","link":null,"types":{}}],"outputs":[{"name":"Cubemap","type":"Cubemap","types":{},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[49]}],"shader_piece":{"id":"texture_sample_cube","includes":{}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal"},"scope":"","order":5},"fragment":{"header":{"1934770139":"uniform samplerCube u_cube_default_texture;\n"},"body_hash":{"965832708":{"str":"vec4 color_24 = textureCube(u_cube_default_texture, reflected_vector);\n","order":5},"-860329552":{"str":"vec3 pixel_normal_ws = normal;\n vec3 reflected_vector = reflect(view_dir,pixel_normal_ws);\n","order":4}},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal"},"scope":"","order":5},"output_var":"color_24"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"cube_default","texture_url":"assets/textures/texture/cube_default.jpg","is_global":false,"global_name":"TextureSampleCube"},"options":{"texture_url":{"hidden":1},"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":6,"title":"Number","type":"constants/Number","pos":[459,322],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[37],"label":"80.000"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"fragment":{"header":{},"body_hash":{"2032974557":{"str":"float float_6 = 80.000;\n","order":0}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"output_var":"float_6"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":80,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":31,"title":"Mul","type":"math/Mul","pos":[493,221],"size":{"0":140,"1":34},"data":null,"flags":{},"inputs":[{"name":"A","type":"","link":49,"types":{"float":1,"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1,"label":"A"},{"name":"B","type":"","link":null,"types":{"float":1,"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1,"label":"B=0.400"}],"outputs":[{"name":"Result","type":"","types":{"vec4":1},"links":[50],"types_list":{"float":1},"use_t":1}],"shader_piece":{"op":"*","id":"operation","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":7},"fragment":{"header":{"1934770139":"uniform samplerCube u_cube_default_texture;\n"},"body_hash":{"593641086":{"str":"vec4 mul_31 = color_24 * float_B31;\n","order":7},"965832708":{"str":"vec4 color_24 = textureCube(u_cube_default_texture, reflected_vector);\n","order":5},"1071919323":{"str":"float float_B31 = 0.400;\n","order":6},"1947131590":{"str":"float mix_30 = mix(float_8,float_11,fresnel_29);\n","order":8},"2032974557":{"str":"float float_6 = 80.000;\n","order":0},"-860329552":{"str":"vec3 pixel_normal_ws = normal;\n vec3 reflected_vector = reflect(view_dir,pixel_normal_ws);\n","order":4},"-1432218033":{"str":"float float_18 = 0.300;\n","order":1},"-1010391876":{"str":"float fresnel_fresnel_29 = dot(normal, -view_dir);\n float fresnel_29 = pow( 1.0 - clamp(fresnel_fresnel_29,0.0,1.0), float_14);\n","order":6},"-1055437206":{"str":"float float_14 = 2.770;\n","order":2},"-236493712":{"str":"float float_8 = 1.000;\n","order":4},"-850033206":{"str":"float float_11 = 1.400;\n","order":3}},"includes":{"110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","1196168179":"view_dir","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":7},"output_var":"mul_31"}],"T_out_types":{"vec4":1},"T_in_types":{"float":1,"vec4":1},"in_conected_using_T":1,"properties":{"A":0,"B":0.4,"is_global":false,"global_name":"Mul"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal","hidden":true}}},{"id":18,"title":"Number","type":"constants/Number","pos":[454,405],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[38],"label":"0.300"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{},"body_hash":{"-1432218033":{"str":"float float_18 = 0.300;\n","order":1}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"float_18"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":0.3,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":30,"title":"Mix","type":"math/Mix","pos":[543,619],"size":{"0":140,"1":48},"data":null,"flags":{},"inputs":[{"name":"A","type":"","link":47,"types":{"float":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"B","type":"","link":46,"types":{"float":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"C","type":"","link":45,"types":{"float":1},"label":"alpha"}],"outputs":[{"name":"Result","type":"","types":{"float":1},"links":[48],"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1}],"shader_piece":{"name":"mix","id":"3paramfunc","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":8},"fragment":{"header":{},"body_hash":{"1947131590":{"str":"float mix_30 = mix(float_8,float_11,fresnel_29);\n","order":8},"-1010391876":{"str":"float fresnel_fresnel_29 = dot(normal, -view_dir);\n float fresnel_29 = pow( 1.0 - clamp(fresnel_fresnel_29,0.0,1.0), float_14);\n","order":6},"-1055437206":{"str":"float float_14 = 2.770;\n","order":2},"-236493712":{"str":"float float_8 = 1.000;\n","order":4},"-850033206":{"str":"float float_11 = 1.400;\n","order":3}},"includes":{"1161914576":"v_normal","1196168179":"view_dir","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":8},"output_var":"mix_30","order":8}],"T_out_types":{"float":1},"T_in_types":{"float":1},"in_conected_using_T":2,"properties":{"alpha":0.5,"is_global":false,"global_name":"Mix"},"options":{"alpha":{"min":0,"max":1,"step":0.01},"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal","hidden":true}}},{"id":29,"title":"Fresnel","type":"math/Fresnel","pos":[311,676],"size":{"0":140,"1":34},"flags":{},"inputs":[{"name":"normal","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"exp","type":"float","link":44,"types":{"float":1}}],"outputs":[{"name":"result","type":"float","types":{"float":1},"links":[45]}],"shader_piece":{"id":"fresnel","includes":{"u_model":1,"a_normal":1,"v_normal":1,"view_dir":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":6},"fragment":{"header":{},"body_hash":{"-1010391876":{"str":"float fresnel_fresnel_29 = dot(normal, -view_dir);\n float fresnel_29 = pow( 1.0 - clamp(fresnel_fresnel_29,0.0,1.0), float_14);\n","order":6},"-1055437206":{"str":"float float_14 = 2.770;\n","order":2}},"includes":{"1161914576":"v_normal","1196168179":"view_dir","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":6},"output_var":"fresnel_29"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"is_global":false,"global_name":"Fresnel"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal","hidden":true}}},{"id":8,"title":"Number","type":"constants/Number","pos":[347,553],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[47],"label":"1.000"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":4},"fragment":{"header":{},"body_hash":{"-236493712":{"str":"float float_8 = 1.000;\n","order":4}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":4},"output_var":"float_8"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":1,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":11,"title":"Number","type":"constants/Number","pos":[346,597],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[46],"label":"1.400"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":3},"fragment":{"header":{},"body_hash":{"-850033206":{"str":"float float_11 = 1.400;\n","order":3}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":3},"output_var":"float_11"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":1.4,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}}],"mesh":"lee","node_flags":{"flip_normals":false,"depth_test":true,"depth_write":true,"blending":false,"blending_mode":"additive","two_sided":false,"blend":false},"scene_properties":{"color":"#ffffff","light_dir_x":1,"light_dir_y":1,"light_dir_z":1,"light_mode":"phong","alpha_threshold":0.5,"environment_name":"default"}}
--------------------------------------------------------------------------------
/graphs/lee.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":[],"iteration":63,"last_node_id":13,"last_link_id":8,"links":{"1":{"id":1,"origin_id":6,"origin_slot":1,"target_id":5,"target_slot":0,"data":null,"color":null},"2":{"id":2,"origin_id":8,"origin_slot":2,"target_id":5,"target_slot":3,"data":null,"color":null},"3":{"id":3,"origin_id":7,"origin_slot":1,"target_id":5,"target_slot":1,"data":null,"color":null},"4":{"id":4,"origin_id":9,"origin_slot":0,"target_id":5,"target_slot":4,"data":null,"color":null},"5":{"id":5,"origin_id":10,"origin_slot":1,"target_id":5,"target_slot":0,"color":null,"data":null},"6":{"id":6,"origin_id":11,"origin_slot":1,"target_id":5,"target_slot":1,"color":null,"data":null},"7":{"id":7,"origin_id":12,"origin_slot":2,"target_id":5,"target_slot":3,"color":null,"data":null}},"config":{},"nodes":[{"id":5,"title":"Output","type":"core/Output","pos":[850,285],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":5,"types":{"vec3":1,"vec4":1}},{"name":"normal","type":"vec3","link":6,"types":{"vec3":1,"vec4":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec3":1,"vec4":1}},{"name":"specular","type":"float","link":7,"types":{"float":1}},{"name":"gloss","type":"float","link":4,"types":{"float":1}},{"name":"alpha","type":"float","link":null,"types":{"float":1}},{"name":"alpha clip","type":"float","link":null,"types":{"float":1}},{"name":"refraction","type":"float","link":null,"types":{"float":1}},{"name":"vertex offset","type":"float","link":null,"types":{"float":1}}],"outputs":null,"shader_piece":{},"codes":[],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"is_global":false,"global_name":"Output"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}},{"id":12,"title":"TextureSample","type":"texture/TextureSample","pos":[321,526],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":null},{"name":"R","type":"float","types":{"float":1},"links":[7]},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1,"TBN":0}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"fragment":{"header":{"1569347733":"uniform sampler2D u_lee_spec_texture;\n"},"body_hash":{"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"output_var":"color_12"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"fragment":{"header":{"1569347733":"uniform sampler2D u_lee_spec_texture;\n"},"body_hash":{"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"output_var":"color_12.r"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"fragment":{"header":{"1569347733":"uniform sampler2D u_lee_spec_texture;\n"},"body_hash":{"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"output_var":"color_12.g"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"fragment":{"header":{"1569347733":"uniform sampler2D u_lee_spec_texture;\n"},"body_hash":{"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"output_var":"color_12.b"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"fragment":{"header":{"1569347733":"uniform sampler2D u_lee_spec_texture;\n"},"body_hash":{"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":3},"output_var":"color_12.a"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"lee_spec","texture_url":"assets/textures/texture/lee_spec.jpg","texture_type":"Color","normal_map_type":"Tangent space","is_global":false,"global_name":"TextureSample"},"options":{"is_global":{"hidden":false,"reloadonchange":1,"callback":"callbackIsGlobal"},"texture_url":{"hidden":1},"texture_type":{"multichoice":["Color","Normal map"],"reloadonchange":1,"callback":"toggleNormalMap"},"normal_map_type":{"multichoice":["Tangent space","Model space","Bump map"],"hidden":1},"global_name":{"hidden":true}}},{"id":11,"title":"TextureSample","type":"texture/TextureSample","pos":[313,298],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[6]},{"name":"R","type":"float","types":{"float":1},"links":null},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1,"TBN":0}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"output_var":"color_11"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"output_var":"color_11.r"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"output_var":"color_11.g"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"output_var":"color_11.b"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws"},"scope":"","order":-998},"output_var":"color_11.a"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"lee_normal","texture_url":"assets/textures/texture/lee_normal.jpg","texture_type":"Normal map","normal_map_type":"Model space","is_global":false,"global_name":"TextureSample"},"options":{"is_global":{"hidden":false,"reloadonchange":1,"callback":"callbackIsGlobal"},"texture_url":{"hidden":1},"texture_type":{"multichoice":["Color","Normal map"],"reloadonchange":1,"callback":"toggleNormalMap"},"normal_map_type":{"multichoice":["Tangent space","Model space","Bump map"],"hidden":0},"global_name":{"hidden":true}}},{"id":10,"title":"TextureSample","type":"texture/TextureSample","pos":[312,76],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":null,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[5]},{"name":"R","type":"float","types":{"float":1},"links":null},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{"v_pos":1,"v_coord":1,"camera_to_pixel_ws":1,"u_eye":1,"TBN":0}},"codes":[null,{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n","1569347733":"uniform sampler2D u_lee_spec_texture;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n","-86978149":"uniform sampler2D u_lee_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"629065972":{"str":"float float_9 = 4.000;\n","order":0},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5},"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3},"-1504312773":{"str":"vec4 color_10 = texture2D(u_lee_texture, v_coord);\n","order":1}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"color_10"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n","1569347733":"uniform sampler2D u_lee_spec_texture;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n","-86978149":"uniform sampler2D u_lee_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"629065972":{"str":"float float_9 = 4.000;\n","order":0},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5},"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3},"-1504312773":{"str":"vec4 color_10 = texture2D(u_lee_texture, v_coord);\n","order":1}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"color_10.r"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n","1569347733":"uniform sampler2D u_lee_spec_texture;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n","-86978149":"uniform sampler2D u_lee_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"629065972":{"str":"float float_9 = 4.000;\n","order":0},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5},"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3},"-1504312773":{"str":"vec4 color_10 = texture2D(u_lee_texture, v_coord);\n","order":1}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"color_10.g"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n","1569347733":"uniform sampler2D u_lee_spec_texture;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n","-86978149":"uniform sampler2D u_lee_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"629065972":{"str":"float float_9 = 4.000;\n","order":0},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5},"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3},"-1504312773":{"str":"vec4 color_10 = texture2D(u_lee_texture, v_coord);\n","order":1}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"color_10.b"},{"vertex":{"header":{},"body_hash":{},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"fragment":{"header":{"375205633":"uniform sampler2D u_lee_normal_texture;\n","1569347733":"uniform sampler2D u_lee_spec_texture;\n","1934770139":"uniform samplerCube u_cube_default_texture;\n","-86978149":"uniform sampler2D u_lee_texture;\n"},"body_hash":{"101097823":{"str":"vec4 color_11 = texture2D(u_lee_normal_texture, v_coord);\n color_11 = (2.0 * color_11 )-1.0;\n","order":-998},"629065972":{"str":"float float_9 = 4.000;\n","order":0},"974277786":{"str":"normal = normalize(color_11.xyz);\n","order":-5},"1985536885":{"str":"vec4 color_12 = texture2D(u_lee_spec_texture, v_coord);\n","order":3},"-1504312773":{"str":"vec4 color_10 = texture2D(u_lee_texture, v_coord);\n","order":1}},"includes":{"82848":"TBN","110983015":"u_eye","111916811":"v_pos","165866988":"v_coord","1126242911":"camera_to_pixel_ws","1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":1},"output_var":"color_10.a"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"name":"lee","texture_url":"assets/textures/texture/lee.jpg","texture_type":"Color","normal_map_type":"Tangent space","is_global":true,"global_name":"TextureSample"},"options":{"is_global":{"hidden":false,"reloadonchange":1,"callback":"callbackIsGlobal"},"texture_url":{"hidden":1},"texture_type":{"multichoice":["Color","Normal map"],"reloadonchange":1,"callback":"toggleNormalMap"},"normal_map_type":{"multichoice":["Tangent space","Model space","Bump map"],"hidden":1},"global_name":{"hidden":false}}},{"id":9,"title":"Number","type":"constants/Number","pos":[708,509],"size":{"0":74,"1":20},"flags":{},"inputs":null,"outputs":[{"name":"value","type":"float","types":{"float":1},"links":[4],"label":"4.000"}],"shader_piece":{"type":"float","id":"constant","includes":{"u_model":1,"a_normal":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"fragment":{"header":{},"body_hash":{"629065972":{"str":"float float_9 = 4.000;\n","order":0}},"includes":{"1161914576":"v_normal","-712412449":"u_model","-1077364091":"a_normal"},"scope":"","order":0},"output_var":"float_9"}],"T_out_types":{},"T_in_types":{},"in_conected_using_T":0,"properties":{"value":4,"is_global":false,"global_name":"Number"},"options":{"global_name":{"hidden":true},"is_global":{"reloadonchange":1,"callback":"callbackIsGlobal"}}}],"mesh":"lee","node_flags":{"flip_normals":false,"depth_test":true,"depth_write":true,"blending":false,"blending_mode":"additive","two_sided":false,"blend":false},"scene_properties":{"color":"#ffffff","light_dir_x":1,"light_dir_y":1,"light_dir_z":1,"light_mode":"phong","alpha_threshold":0.5,"environment_name":"default"}}
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | @fa-font-path: "../fonts";
5 | @fa-font-size-base: 14px;
6 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts"; // for referencing Bootstrap CDN font files directly
7 | @fa-css-prefix: fa;
8 | @fa-version: "4.3.0";
9 | @fa-border-color: #eee;
10 | @fa-inverse: #fff;
11 | @fa-li-width: (30em / 14);
12 |
13 | @fa-var-adjust: "\f042";
14 | @fa-var-adn: "\f170";
15 | @fa-var-align-center: "\f037";
16 | @fa-var-align-justify: "\f039";
17 | @fa-var-align-left: "\f036";
18 | @fa-var-align-right: "\f038";
19 | @fa-var-ambulance: "\f0f9";
20 | @fa-var-anchor: "\f13d";
21 | @fa-var-android: "\f17b";
22 | @fa-var-angellist: "\f209";
23 | @fa-var-angle-double-down: "\f103";
24 | @fa-var-angle-double-left: "\f100";
25 | @fa-var-angle-double-right: "\f101";
26 | @fa-var-angle-double-up: "\f102";
27 | @fa-var-angle-down: "\f107";
28 | @fa-var-angle-left: "\f104";
29 | @fa-var-angle-right: "\f105";
30 | @fa-var-angle-up: "\f106";
31 | @fa-var-apple: "\f179";
32 | @fa-var-archive: "\f187";
33 | @fa-var-area-chart: "\f1fe";
34 | @fa-var-arrow-circle-down: "\f0ab";
35 | @fa-var-arrow-circle-left: "\f0a8";
36 | @fa-var-arrow-circle-o-down: "\f01a";
37 | @fa-var-arrow-circle-o-left: "\f190";
38 | @fa-var-arrow-circle-o-right: "\f18e";
39 | @fa-var-arrow-circle-o-up: "\f01b";
40 | @fa-var-arrow-circle-right: "\f0a9";
41 | @fa-var-arrow-circle-up: "\f0aa";
42 | @fa-var-arrow-down: "\f063";
43 | @fa-var-arrow-left: "\f060";
44 | @fa-var-arrow-right: "\f061";
45 | @fa-var-arrow-up: "\f062";
46 | @fa-var-arrows: "\f047";
47 | @fa-var-arrows-alt: "\f0b2";
48 | @fa-var-arrows-h: "\f07e";
49 | @fa-var-arrows-v: "\f07d";
50 | @fa-var-asterisk: "\f069";
51 | @fa-var-at: "\f1fa";
52 | @fa-var-automobile: "\f1b9";
53 | @fa-var-backward: "\f04a";
54 | @fa-var-ban: "\f05e";
55 | @fa-var-bank: "\f19c";
56 | @fa-var-bar-chart: "\f080";
57 | @fa-var-bar-chart-o: "\f080";
58 | @fa-var-barcode: "\f02a";
59 | @fa-var-bars: "\f0c9";
60 | @fa-var-bed: "\f236";
61 | @fa-var-beer: "\f0fc";
62 | @fa-var-behance: "\f1b4";
63 | @fa-var-behance-square: "\f1b5";
64 | @fa-var-bell: "\f0f3";
65 | @fa-var-bell-o: "\f0a2";
66 | @fa-var-bell-slash: "\f1f6";
67 | @fa-var-bell-slash-o: "\f1f7";
68 | @fa-var-bicycle: "\f206";
69 | @fa-var-binoculars: "\f1e5";
70 | @fa-var-birthday-cake: "\f1fd";
71 | @fa-var-bitbucket: "\f171";
72 | @fa-var-bitbucket-square: "\f172";
73 | @fa-var-bitcoin: "\f15a";
74 | @fa-var-bold: "\f032";
75 | @fa-var-bolt: "\f0e7";
76 | @fa-var-bomb: "\f1e2";
77 | @fa-var-book: "\f02d";
78 | @fa-var-bookmark: "\f02e";
79 | @fa-var-bookmark-o: "\f097";
80 | @fa-var-briefcase: "\f0b1";
81 | @fa-var-btc: "\f15a";
82 | @fa-var-bug: "\f188";
83 | @fa-var-building: "\f1ad";
84 | @fa-var-building-o: "\f0f7";
85 | @fa-var-bullhorn: "\f0a1";
86 | @fa-var-bullseye: "\f140";
87 | @fa-var-bus: "\f207";
88 | @fa-var-buysellads: "\f20d";
89 | @fa-var-cab: "\f1ba";
90 | @fa-var-calculator: "\f1ec";
91 | @fa-var-calendar: "\f073";
92 | @fa-var-calendar-o: "\f133";
93 | @fa-var-camera: "\f030";
94 | @fa-var-camera-retro: "\f083";
95 | @fa-var-car: "\f1b9";
96 | @fa-var-caret-down: "\f0d7";
97 | @fa-var-caret-left: "\f0d9";
98 | @fa-var-caret-right: "\f0da";
99 | @fa-var-caret-square-o-down: "\f150";
100 | @fa-var-caret-square-o-left: "\f191";
101 | @fa-var-caret-square-o-right: "\f152";
102 | @fa-var-caret-square-o-up: "\f151";
103 | @fa-var-caret-up: "\f0d8";
104 | @fa-var-cart-arrow-down: "\f218";
105 | @fa-var-cart-plus: "\f217";
106 | @fa-var-cc: "\f20a";
107 | @fa-var-cc-amex: "\f1f3";
108 | @fa-var-cc-discover: "\f1f2";
109 | @fa-var-cc-mastercard: "\f1f1";
110 | @fa-var-cc-paypal: "\f1f4";
111 | @fa-var-cc-stripe: "\f1f5";
112 | @fa-var-cc-visa: "\f1f0";
113 | @fa-var-certificate: "\f0a3";
114 | @fa-var-chain: "\f0c1";
115 | @fa-var-chain-broken: "\f127";
116 | @fa-var-check: "\f00c";
117 | @fa-var-check-circle: "\f058";
118 | @fa-var-check-circle-o: "\f05d";
119 | @fa-var-check-square: "\f14a";
120 | @fa-var-check-square-o: "\f046";
121 | @fa-var-chevron-circle-down: "\f13a";
122 | @fa-var-chevron-circle-left: "\f137";
123 | @fa-var-chevron-circle-right: "\f138";
124 | @fa-var-chevron-circle-up: "\f139";
125 | @fa-var-chevron-down: "\f078";
126 | @fa-var-chevron-left: "\f053";
127 | @fa-var-chevron-right: "\f054";
128 | @fa-var-chevron-up: "\f077";
129 | @fa-var-child: "\f1ae";
130 | @fa-var-circle: "\f111";
131 | @fa-var-circle-o: "\f10c";
132 | @fa-var-circle-o-notch: "\f1ce";
133 | @fa-var-circle-thin: "\f1db";
134 | @fa-var-clipboard: "\f0ea";
135 | @fa-var-clock-o: "\f017";
136 | @fa-var-close: "\f00d";
137 | @fa-var-cloud: "\f0c2";
138 | @fa-var-cloud-download: "\f0ed";
139 | @fa-var-cloud-upload: "\f0ee";
140 | @fa-var-cny: "\f157";
141 | @fa-var-code: "\f121";
142 | @fa-var-code-fork: "\f126";
143 | @fa-var-codepen: "\f1cb";
144 | @fa-var-coffee: "\f0f4";
145 | @fa-var-cog: "\f013";
146 | @fa-var-cogs: "\f085";
147 | @fa-var-columns: "\f0db";
148 | @fa-var-comment: "\f075";
149 | @fa-var-comment-o: "\f0e5";
150 | @fa-var-comments: "\f086";
151 | @fa-var-comments-o: "\f0e6";
152 | @fa-var-compass: "\f14e";
153 | @fa-var-compress: "\f066";
154 | @fa-var-connectdevelop: "\f20e";
155 | @fa-var-copy: "\f0c5";
156 | @fa-var-copyright: "\f1f9";
157 | @fa-var-credit-card: "\f09d";
158 | @fa-var-crop: "\f125";
159 | @fa-var-crosshairs: "\f05b";
160 | @fa-var-css3: "\f13c";
161 | @fa-var-cube: "\f1b2";
162 | @fa-var-cubes: "\f1b3";
163 | @fa-var-cut: "\f0c4";
164 | @fa-var-cutlery: "\f0f5";
165 | @fa-var-dashboard: "\f0e4";
166 | @fa-var-dashcube: "\f210";
167 | @fa-var-database: "\f1c0";
168 | @fa-var-dedent: "\f03b";
169 | @fa-var-delicious: "\f1a5";
170 | @fa-var-desktop: "\f108";
171 | @fa-var-deviantart: "\f1bd";
172 | @fa-var-diamond: "\f219";
173 | @fa-var-digg: "\f1a6";
174 | @fa-var-dollar: "\f155";
175 | @fa-var-dot-circle-o: "\f192";
176 | @fa-var-download: "\f019";
177 | @fa-var-dribbble: "\f17d";
178 | @fa-var-dropbox: "\f16b";
179 | @fa-var-drupal: "\f1a9";
180 | @fa-var-edit: "\f044";
181 | @fa-var-eject: "\f052";
182 | @fa-var-ellipsis-h: "\f141";
183 | @fa-var-ellipsis-v: "\f142";
184 | @fa-var-empire: "\f1d1";
185 | @fa-var-envelope: "\f0e0";
186 | @fa-var-envelope-o: "\f003";
187 | @fa-var-envelope-square: "\f199";
188 | @fa-var-eraser: "\f12d";
189 | @fa-var-eur: "\f153";
190 | @fa-var-euro: "\f153";
191 | @fa-var-exchange: "\f0ec";
192 | @fa-var-exclamation: "\f12a";
193 | @fa-var-exclamation-circle: "\f06a";
194 | @fa-var-exclamation-triangle: "\f071";
195 | @fa-var-expand: "\f065";
196 | @fa-var-external-link: "\f08e";
197 | @fa-var-external-link-square: "\f14c";
198 | @fa-var-eye: "\f06e";
199 | @fa-var-eye-slash: "\f070";
200 | @fa-var-eyedropper: "\f1fb";
201 | @fa-var-facebook: "\f09a";
202 | @fa-var-facebook-f: "\f09a";
203 | @fa-var-facebook-official: "\f230";
204 | @fa-var-facebook-square: "\f082";
205 | @fa-var-fast-backward: "\f049";
206 | @fa-var-fast-forward: "\f050";
207 | @fa-var-fax: "\f1ac";
208 | @fa-var-female: "\f182";
209 | @fa-var-fighter-jet: "\f0fb";
210 | @fa-var-file: "\f15b";
211 | @fa-var-file-archive-o: "\f1c6";
212 | @fa-var-file-audio-o: "\f1c7";
213 | @fa-var-file-code-o: "\f1c9";
214 | @fa-var-file-excel-o: "\f1c3";
215 | @fa-var-file-image-o: "\f1c5";
216 | @fa-var-file-movie-o: "\f1c8";
217 | @fa-var-file-o: "\f016";
218 | @fa-var-file-pdf-o: "\f1c1";
219 | @fa-var-file-photo-o: "\f1c5";
220 | @fa-var-file-picture-o: "\f1c5";
221 | @fa-var-file-powerpoint-o: "\f1c4";
222 | @fa-var-file-sound-o: "\f1c7";
223 | @fa-var-file-text: "\f15c";
224 | @fa-var-file-text-o: "\f0f6";
225 | @fa-var-file-video-o: "\f1c8";
226 | @fa-var-file-word-o: "\f1c2";
227 | @fa-var-file-zip-o: "\f1c6";
228 | @fa-var-files-o: "\f0c5";
229 | @fa-var-film: "\f008";
230 | @fa-var-filter: "\f0b0";
231 | @fa-var-fire: "\f06d";
232 | @fa-var-fire-extinguisher: "\f134";
233 | @fa-var-flag: "\f024";
234 | @fa-var-flag-checkered: "\f11e";
235 | @fa-var-flag-o: "\f11d";
236 | @fa-var-flash: "\f0e7";
237 | @fa-var-flask: "\f0c3";
238 | @fa-var-flickr: "\f16e";
239 | @fa-var-floppy-o: "\f0c7";
240 | @fa-var-folder: "\f07b";
241 | @fa-var-folder-o: "\f114";
242 | @fa-var-folder-open: "\f07c";
243 | @fa-var-folder-open-o: "\f115";
244 | @fa-var-font: "\f031";
245 | @fa-var-forumbee: "\f211";
246 | @fa-var-forward: "\f04e";
247 | @fa-var-foursquare: "\f180";
248 | @fa-var-frown-o: "\f119";
249 | @fa-var-futbol-o: "\f1e3";
250 | @fa-var-gamepad: "\f11b";
251 | @fa-var-gavel: "\f0e3";
252 | @fa-var-gbp: "\f154";
253 | @fa-var-ge: "\f1d1";
254 | @fa-var-gear: "\f013";
255 | @fa-var-gears: "\f085";
256 | @fa-var-genderless: "\f1db";
257 | @fa-var-gift: "\f06b";
258 | @fa-var-git: "\f1d3";
259 | @fa-var-git-square: "\f1d2";
260 | @fa-var-github: "\f09b";
261 | @fa-var-github-alt: "\f113";
262 | @fa-var-github-square: "\f092";
263 | @fa-var-gittip: "\f184";
264 | @fa-var-glass: "\f000";
265 | @fa-var-globe: "\f0ac";
266 | @fa-var-google: "\f1a0";
267 | @fa-var-google-plus: "\f0d5";
268 | @fa-var-google-plus-square: "\f0d4";
269 | @fa-var-google-wallet: "\f1ee";
270 | @fa-var-graduation-cap: "\f19d";
271 | @fa-var-gratipay: "\f184";
272 | @fa-var-group: "\f0c0";
273 | @fa-var-h-square: "\f0fd";
274 | @fa-var-hacker-news: "\f1d4";
275 | @fa-var-hand-o-down: "\f0a7";
276 | @fa-var-hand-o-left: "\f0a5";
277 | @fa-var-hand-o-right: "\f0a4";
278 | @fa-var-hand-o-up: "\f0a6";
279 | @fa-var-hdd-o: "\f0a0";
280 | @fa-var-header: "\f1dc";
281 | @fa-var-headphones: "\f025";
282 | @fa-var-heart: "\f004";
283 | @fa-var-heart-o: "\f08a";
284 | @fa-var-heartbeat: "\f21e";
285 | @fa-var-history: "\f1da";
286 | @fa-var-home: "\f015";
287 | @fa-var-hospital-o: "\f0f8";
288 | @fa-var-hotel: "\f236";
289 | @fa-var-html5: "\f13b";
290 | @fa-var-ils: "\f20b";
291 | @fa-var-image: "\f03e";
292 | @fa-var-inbox: "\f01c";
293 | @fa-var-indent: "\f03c";
294 | @fa-var-info: "\f129";
295 | @fa-var-info-circle: "\f05a";
296 | @fa-var-inr: "\f156";
297 | @fa-var-instagram: "\f16d";
298 | @fa-var-institution: "\f19c";
299 | @fa-var-ioxhost: "\f208";
300 | @fa-var-italic: "\f033";
301 | @fa-var-joomla: "\f1aa";
302 | @fa-var-jpy: "\f157";
303 | @fa-var-jsfiddle: "\f1cc";
304 | @fa-var-key: "\f084";
305 | @fa-var-keyboard-o: "\f11c";
306 | @fa-var-krw: "\f159";
307 | @fa-var-language: "\f1ab";
308 | @fa-var-laptop: "\f109";
309 | @fa-var-lastfm: "\f202";
310 | @fa-var-lastfm-square: "\f203";
311 | @fa-var-leaf: "\f06c";
312 | @fa-var-leanpub: "\f212";
313 | @fa-var-legal: "\f0e3";
314 | @fa-var-lemon-o: "\f094";
315 | @fa-var-level-down: "\f149";
316 | @fa-var-level-up: "\f148";
317 | @fa-var-life-bouy: "\f1cd";
318 | @fa-var-life-buoy: "\f1cd";
319 | @fa-var-life-ring: "\f1cd";
320 | @fa-var-life-saver: "\f1cd";
321 | @fa-var-lightbulb-o: "\f0eb";
322 | @fa-var-line-chart: "\f201";
323 | @fa-var-link: "\f0c1";
324 | @fa-var-linkedin: "\f0e1";
325 | @fa-var-linkedin-square: "\f08c";
326 | @fa-var-linux: "\f17c";
327 | @fa-var-list: "\f03a";
328 | @fa-var-list-alt: "\f022";
329 | @fa-var-list-ol: "\f0cb";
330 | @fa-var-list-ul: "\f0ca";
331 | @fa-var-location-arrow: "\f124";
332 | @fa-var-lock: "\f023";
333 | @fa-var-long-arrow-down: "\f175";
334 | @fa-var-long-arrow-left: "\f177";
335 | @fa-var-long-arrow-right: "\f178";
336 | @fa-var-long-arrow-up: "\f176";
337 | @fa-var-magic: "\f0d0";
338 | @fa-var-magnet: "\f076";
339 | @fa-var-mail-forward: "\f064";
340 | @fa-var-mail-reply: "\f112";
341 | @fa-var-mail-reply-all: "\f122";
342 | @fa-var-male: "\f183";
343 | @fa-var-map-marker: "\f041";
344 | @fa-var-mars: "\f222";
345 | @fa-var-mars-double: "\f227";
346 | @fa-var-mars-stroke: "\f229";
347 | @fa-var-mars-stroke-h: "\f22b";
348 | @fa-var-mars-stroke-v: "\f22a";
349 | @fa-var-maxcdn: "\f136";
350 | @fa-var-meanpath: "\f20c";
351 | @fa-var-medium: "\f23a";
352 | @fa-var-medkit: "\f0fa";
353 | @fa-var-meh-o: "\f11a";
354 | @fa-var-mercury: "\f223";
355 | @fa-var-microphone: "\f130";
356 | @fa-var-microphone-slash: "\f131";
357 | @fa-var-minus: "\f068";
358 | @fa-var-minus-circle: "\f056";
359 | @fa-var-minus-square: "\f146";
360 | @fa-var-minus-square-o: "\f147";
361 | @fa-var-mobile: "\f10b";
362 | @fa-var-mobile-phone: "\f10b";
363 | @fa-var-money: "\f0d6";
364 | @fa-var-moon-o: "\f186";
365 | @fa-var-mortar-board: "\f19d";
366 | @fa-var-motorcycle: "\f21c";
367 | @fa-var-music: "\f001";
368 | @fa-var-navicon: "\f0c9";
369 | @fa-var-neuter: "\f22c";
370 | @fa-var-newspaper-o: "\f1ea";
371 | @fa-var-openid: "\f19b";
372 | @fa-var-outdent: "\f03b";
373 | @fa-var-pagelines: "\f18c";
374 | @fa-var-paint-brush: "\f1fc";
375 | @fa-var-paper-plane: "\f1d8";
376 | @fa-var-paper-plane-o: "\f1d9";
377 | @fa-var-paperclip: "\f0c6";
378 | @fa-var-paragraph: "\f1dd";
379 | @fa-var-paste: "\f0ea";
380 | @fa-var-pause: "\f04c";
381 | @fa-var-paw: "\f1b0";
382 | @fa-var-paypal: "\f1ed";
383 | @fa-var-pencil: "\f040";
384 | @fa-var-pencil-square: "\f14b";
385 | @fa-var-pencil-square-o: "\f044";
386 | @fa-var-phone: "\f095";
387 | @fa-var-phone-square: "\f098";
388 | @fa-var-photo: "\f03e";
389 | @fa-var-picture-o: "\f03e";
390 | @fa-var-pie-chart: "\f200";
391 | @fa-var-pied-piper: "\f1a7";
392 | @fa-var-pied-piper-alt: "\f1a8";
393 | @fa-var-pinterest: "\f0d2";
394 | @fa-var-pinterest-p: "\f231";
395 | @fa-var-pinterest-square: "\f0d3";
396 | @fa-var-plane: "\f072";
397 | @fa-var-play: "\f04b";
398 | @fa-var-play-circle: "\f144";
399 | @fa-var-play-circle-o: "\f01d";
400 | @fa-var-plug: "\f1e6";
401 | @fa-var-plus: "\f067";
402 | @fa-var-plus-circle: "\f055";
403 | @fa-var-plus-square: "\f0fe";
404 | @fa-var-plus-square-o: "\f196";
405 | @fa-var-power-off: "\f011";
406 | @fa-var-print: "\f02f";
407 | @fa-var-puzzle-piece: "\f12e";
408 | @fa-var-qq: "\f1d6";
409 | @fa-var-qrcode: "\f029";
410 | @fa-var-question: "\f128";
411 | @fa-var-question-circle: "\f059";
412 | @fa-var-quote-left: "\f10d";
413 | @fa-var-quote-right: "\f10e";
414 | @fa-var-ra: "\f1d0";
415 | @fa-var-random: "\f074";
416 | @fa-var-rebel: "\f1d0";
417 | @fa-var-recycle: "\f1b8";
418 | @fa-var-reddit: "\f1a1";
419 | @fa-var-reddit-square: "\f1a2";
420 | @fa-var-refresh: "\f021";
421 | @fa-var-remove: "\f00d";
422 | @fa-var-renren: "\f18b";
423 | @fa-var-reorder: "\f0c9";
424 | @fa-var-repeat: "\f01e";
425 | @fa-var-reply: "\f112";
426 | @fa-var-reply-all: "\f122";
427 | @fa-var-retweet: "\f079";
428 | @fa-var-rmb: "\f157";
429 | @fa-var-road: "\f018";
430 | @fa-var-rocket: "\f135";
431 | @fa-var-rotate-left: "\f0e2";
432 | @fa-var-rotate-right: "\f01e";
433 | @fa-var-rouble: "\f158";
434 | @fa-var-rss: "\f09e";
435 | @fa-var-rss-square: "\f143";
436 | @fa-var-rub: "\f158";
437 | @fa-var-ruble: "\f158";
438 | @fa-var-rupee: "\f156";
439 | @fa-var-save: "\f0c7";
440 | @fa-var-scissors: "\f0c4";
441 | @fa-var-search: "\f002";
442 | @fa-var-search-minus: "\f010";
443 | @fa-var-search-plus: "\f00e";
444 | @fa-var-sellsy: "\f213";
445 | @fa-var-send: "\f1d8";
446 | @fa-var-send-o: "\f1d9";
447 | @fa-var-server: "\f233";
448 | @fa-var-share: "\f064";
449 | @fa-var-share-alt: "\f1e0";
450 | @fa-var-share-alt-square: "\f1e1";
451 | @fa-var-share-square: "\f14d";
452 | @fa-var-share-square-o: "\f045";
453 | @fa-var-shekel: "\f20b";
454 | @fa-var-sheqel: "\f20b";
455 | @fa-var-shield: "\f132";
456 | @fa-var-ship: "\f21a";
457 | @fa-var-shirtsinbulk: "\f214";
458 | @fa-var-shopping-cart: "\f07a";
459 | @fa-var-sign-in: "\f090";
460 | @fa-var-sign-out: "\f08b";
461 | @fa-var-signal: "\f012";
462 | @fa-var-simplybuilt: "\f215";
463 | @fa-var-sitemap: "\f0e8";
464 | @fa-var-skyatlas: "\f216";
465 | @fa-var-skype: "\f17e";
466 | @fa-var-slack: "\f198";
467 | @fa-var-sliders: "\f1de";
468 | @fa-var-slideshare: "\f1e7";
469 | @fa-var-smile-o: "\f118";
470 | @fa-var-soccer-ball-o: "\f1e3";
471 | @fa-var-sort: "\f0dc";
472 | @fa-var-sort-alpha-asc: "\f15d";
473 | @fa-var-sort-alpha-desc: "\f15e";
474 | @fa-var-sort-amount-asc: "\f160";
475 | @fa-var-sort-amount-desc: "\f161";
476 | @fa-var-sort-asc: "\f0de";
477 | @fa-var-sort-desc: "\f0dd";
478 | @fa-var-sort-down: "\f0dd";
479 | @fa-var-sort-numeric-asc: "\f162";
480 | @fa-var-sort-numeric-desc: "\f163";
481 | @fa-var-sort-up: "\f0de";
482 | @fa-var-soundcloud: "\f1be";
483 | @fa-var-space-shuttle: "\f197";
484 | @fa-var-spinner: "\f110";
485 | @fa-var-spoon: "\f1b1";
486 | @fa-var-spotify: "\f1bc";
487 | @fa-var-square: "\f0c8";
488 | @fa-var-square-o: "\f096";
489 | @fa-var-stack-exchange: "\f18d";
490 | @fa-var-stack-overflow: "\f16c";
491 | @fa-var-star: "\f005";
492 | @fa-var-star-half: "\f089";
493 | @fa-var-star-half-empty: "\f123";
494 | @fa-var-star-half-full: "\f123";
495 | @fa-var-star-half-o: "\f123";
496 | @fa-var-star-o: "\f006";
497 | @fa-var-steam: "\f1b6";
498 | @fa-var-steam-square: "\f1b7";
499 | @fa-var-step-backward: "\f048";
500 | @fa-var-step-forward: "\f051";
501 | @fa-var-stethoscope: "\f0f1";
502 | @fa-var-stop: "\f04d";
503 | @fa-var-street-view: "\f21d";
504 | @fa-var-strikethrough: "\f0cc";
505 | @fa-var-stumbleupon: "\f1a4";
506 | @fa-var-stumbleupon-circle: "\f1a3";
507 | @fa-var-subscript: "\f12c";
508 | @fa-var-subway: "\f239";
509 | @fa-var-suitcase: "\f0f2";
510 | @fa-var-sun-o: "\f185";
511 | @fa-var-superscript: "\f12b";
512 | @fa-var-support: "\f1cd";
513 | @fa-var-table: "\f0ce";
514 | @fa-var-tablet: "\f10a";
515 | @fa-var-tachometer: "\f0e4";
516 | @fa-var-tag: "\f02b";
517 | @fa-var-tags: "\f02c";
518 | @fa-var-tasks: "\f0ae";
519 | @fa-var-taxi: "\f1ba";
520 | @fa-var-tencent-weibo: "\f1d5";
521 | @fa-var-terminal: "\f120";
522 | @fa-var-text-height: "\f034";
523 | @fa-var-text-width: "\f035";
524 | @fa-var-th: "\f00a";
525 | @fa-var-th-large: "\f009";
526 | @fa-var-th-list: "\f00b";
527 | @fa-var-thumb-tack: "\f08d";
528 | @fa-var-thumbs-down: "\f165";
529 | @fa-var-thumbs-o-down: "\f088";
530 | @fa-var-thumbs-o-up: "\f087";
531 | @fa-var-thumbs-up: "\f164";
532 | @fa-var-ticket: "\f145";
533 | @fa-var-times: "\f00d";
534 | @fa-var-times-circle: "\f057";
535 | @fa-var-times-circle-o: "\f05c";
536 | @fa-var-tint: "\f043";
537 | @fa-var-toggle-down: "\f150";
538 | @fa-var-toggle-left: "\f191";
539 | @fa-var-toggle-off: "\f204";
540 | @fa-var-toggle-on: "\f205";
541 | @fa-var-toggle-right: "\f152";
542 | @fa-var-toggle-up: "\f151";
543 | @fa-var-train: "\f238";
544 | @fa-var-transgender: "\f224";
545 | @fa-var-transgender-alt: "\f225";
546 | @fa-var-trash: "\f1f8";
547 | @fa-var-trash-o: "\f014";
548 | @fa-var-tree: "\f1bb";
549 | @fa-var-trello: "\f181";
550 | @fa-var-trophy: "\f091";
551 | @fa-var-truck: "\f0d1";
552 | @fa-var-try: "\f195";
553 | @fa-var-tty: "\f1e4";
554 | @fa-var-tumblr: "\f173";
555 | @fa-var-tumblr-square: "\f174";
556 | @fa-var-turkish-lira: "\f195";
557 | @fa-var-twitch: "\f1e8";
558 | @fa-var-twitter: "\f099";
559 | @fa-var-twitter-square: "\f081";
560 | @fa-var-umbrella: "\f0e9";
561 | @fa-var-underline: "\f0cd";
562 | @fa-var-undo: "\f0e2";
563 | @fa-var-university: "\f19c";
564 | @fa-var-unlink: "\f127";
565 | @fa-var-unlock: "\f09c";
566 | @fa-var-unlock-alt: "\f13e";
567 | @fa-var-unsorted: "\f0dc";
568 | @fa-var-upload: "\f093";
569 | @fa-var-usd: "\f155";
570 | @fa-var-user: "\f007";
571 | @fa-var-user-md: "\f0f0";
572 | @fa-var-user-plus: "\f234";
573 | @fa-var-user-secret: "\f21b";
574 | @fa-var-user-times: "\f235";
575 | @fa-var-users: "\f0c0";
576 | @fa-var-venus: "\f221";
577 | @fa-var-venus-double: "\f226";
578 | @fa-var-venus-mars: "\f228";
579 | @fa-var-viacoin: "\f237";
580 | @fa-var-video-camera: "\f03d";
581 | @fa-var-vimeo-square: "\f194";
582 | @fa-var-vine: "\f1ca";
583 | @fa-var-vk: "\f189";
584 | @fa-var-volume-down: "\f027";
585 | @fa-var-volume-off: "\f026";
586 | @fa-var-volume-up: "\f028";
587 | @fa-var-warning: "\f071";
588 | @fa-var-wechat: "\f1d7";
589 | @fa-var-weibo: "\f18a";
590 | @fa-var-weixin: "\f1d7";
591 | @fa-var-whatsapp: "\f232";
592 | @fa-var-wheelchair: "\f193";
593 | @fa-var-wifi: "\f1eb";
594 | @fa-var-windows: "\f17a";
595 | @fa-var-won: "\f159";
596 | @fa-var-wordpress: "\f19a";
597 | @fa-var-wrench: "\f0ad";
598 | @fa-var-xing: "\f168";
599 | @fa-var-xing-square: "\f169";
600 | @fa-var-yahoo: "\f19e";
601 | @fa-var-yelp: "\f1e9";
602 | @fa-var-yen: "\f157";
603 | @fa-var-youtube: "\f167";
604 | @fa-var-youtube-play: "\f16a";
605 | @fa-var-youtube-square: "\f166";
606 |
607 |
--------------------------------------------------------------------------------
/css/external/font-awesome-4.3.0/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | $fa-font-path: "../fonts" !default;
5 | $fa-font-size-base: 14px !default;
6 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default; // for referencing Bootstrap CDN font files directly
7 | $fa-css-prefix: fa !default;
8 | $fa-version: "4.3.0" !default;
9 | $fa-border-color: #eee !default;
10 | $fa-inverse: #fff !default;
11 | $fa-li-width: (30em / 14) !default;
12 |
13 | $fa-var-adjust: "\f042";
14 | $fa-var-adn: "\f170";
15 | $fa-var-align-center: "\f037";
16 | $fa-var-align-justify: "\f039";
17 | $fa-var-align-left: "\f036";
18 | $fa-var-align-right: "\f038";
19 | $fa-var-ambulance: "\f0f9";
20 | $fa-var-anchor: "\f13d";
21 | $fa-var-android: "\f17b";
22 | $fa-var-angellist: "\f209";
23 | $fa-var-angle-double-down: "\f103";
24 | $fa-var-angle-double-left: "\f100";
25 | $fa-var-angle-double-right: "\f101";
26 | $fa-var-angle-double-up: "\f102";
27 | $fa-var-angle-down: "\f107";
28 | $fa-var-angle-left: "\f104";
29 | $fa-var-angle-right: "\f105";
30 | $fa-var-angle-up: "\f106";
31 | $fa-var-apple: "\f179";
32 | $fa-var-archive: "\f187";
33 | $fa-var-area-chart: "\f1fe";
34 | $fa-var-arrow-circle-down: "\f0ab";
35 | $fa-var-arrow-circle-left: "\f0a8";
36 | $fa-var-arrow-circle-o-down: "\f01a";
37 | $fa-var-arrow-circle-o-left: "\f190";
38 | $fa-var-arrow-circle-o-right: "\f18e";
39 | $fa-var-arrow-circle-o-up: "\f01b";
40 | $fa-var-arrow-circle-right: "\f0a9";
41 | $fa-var-arrow-circle-up: "\f0aa";
42 | $fa-var-arrow-down: "\f063";
43 | $fa-var-arrow-left: "\f060";
44 | $fa-var-arrow-right: "\f061";
45 | $fa-var-arrow-up: "\f062";
46 | $fa-var-arrows: "\f047";
47 | $fa-var-arrows-alt: "\f0b2";
48 | $fa-var-arrows-h: "\f07e";
49 | $fa-var-arrows-v: "\f07d";
50 | $fa-var-asterisk: "\f069";
51 | $fa-var-at: "\f1fa";
52 | $fa-var-automobile: "\f1b9";
53 | $fa-var-backward: "\f04a";
54 | $fa-var-ban: "\f05e";
55 | $fa-var-bank: "\f19c";
56 | $fa-var-bar-chart: "\f080";
57 | $fa-var-bar-chart-o: "\f080";
58 | $fa-var-barcode: "\f02a";
59 | $fa-var-bars: "\f0c9";
60 | $fa-var-bed: "\f236";
61 | $fa-var-beer: "\f0fc";
62 | $fa-var-behance: "\f1b4";
63 | $fa-var-behance-square: "\f1b5";
64 | $fa-var-bell: "\f0f3";
65 | $fa-var-bell-o: "\f0a2";
66 | $fa-var-bell-slash: "\f1f6";
67 | $fa-var-bell-slash-o: "\f1f7";
68 | $fa-var-bicycle: "\f206";
69 | $fa-var-binoculars: "\f1e5";
70 | $fa-var-birthday-cake: "\f1fd";
71 | $fa-var-bitbucket: "\f171";
72 | $fa-var-bitbucket-square: "\f172";
73 | $fa-var-bitcoin: "\f15a";
74 | $fa-var-bold: "\f032";
75 | $fa-var-bolt: "\f0e7";
76 | $fa-var-bomb: "\f1e2";
77 | $fa-var-book: "\f02d";
78 | $fa-var-bookmark: "\f02e";
79 | $fa-var-bookmark-o: "\f097";
80 | $fa-var-briefcase: "\f0b1";
81 | $fa-var-btc: "\f15a";
82 | $fa-var-bug: "\f188";
83 | $fa-var-building: "\f1ad";
84 | $fa-var-building-o: "\f0f7";
85 | $fa-var-bullhorn: "\f0a1";
86 | $fa-var-bullseye: "\f140";
87 | $fa-var-bus: "\f207";
88 | $fa-var-buysellads: "\f20d";
89 | $fa-var-cab: "\f1ba";
90 | $fa-var-calculator: "\f1ec";
91 | $fa-var-calendar: "\f073";
92 | $fa-var-calendar-o: "\f133";
93 | $fa-var-camera: "\f030";
94 | $fa-var-camera-retro: "\f083";
95 | $fa-var-car: "\f1b9";
96 | $fa-var-caret-down: "\f0d7";
97 | $fa-var-caret-left: "\f0d9";
98 | $fa-var-caret-right: "\f0da";
99 | $fa-var-caret-square-o-down: "\f150";
100 | $fa-var-caret-square-o-left: "\f191";
101 | $fa-var-caret-square-o-right: "\f152";
102 | $fa-var-caret-square-o-up: "\f151";
103 | $fa-var-caret-up: "\f0d8";
104 | $fa-var-cart-arrow-down: "\f218";
105 | $fa-var-cart-plus: "\f217";
106 | $fa-var-cc: "\f20a";
107 | $fa-var-cc-amex: "\f1f3";
108 | $fa-var-cc-discover: "\f1f2";
109 | $fa-var-cc-mastercard: "\f1f1";
110 | $fa-var-cc-paypal: "\f1f4";
111 | $fa-var-cc-stripe: "\f1f5";
112 | $fa-var-cc-visa: "\f1f0";
113 | $fa-var-certificate: "\f0a3";
114 | $fa-var-chain: "\f0c1";
115 | $fa-var-chain-broken: "\f127";
116 | $fa-var-check: "\f00c";
117 | $fa-var-check-circle: "\f058";
118 | $fa-var-check-circle-o: "\f05d";
119 | $fa-var-check-square: "\f14a";
120 | $fa-var-check-square-o: "\f046";
121 | $fa-var-chevron-circle-down: "\f13a";
122 | $fa-var-chevron-circle-left: "\f137";
123 | $fa-var-chevron-circle-right: "\f138";
124 | $fa-var-chevron-circle-up: "\f139";
125 | $fa-var-chevron-down: "\f078";
126 | $fa-var-chevron-left: "\f053";
127 | $fa-var-chevron-right: "\f054";
128 | $fa-var-chevron-up: "\f077";
129 | $fa-var-child: "\f1ae";
130 | $fa-var-circle: "\f111";
131 | $fa-var-circle-o: "\f10c";
132 | $fa-var-circle-o-notch: "\f1ce";
133 | $fa-var-circle-thin: "\f1db";
134 | $fa-var-clipboard: "\f0ea";
135 | $fa-var-clock-o: "\f017";
136 | $fa-var-close: "\f00d";
137 | $fa-var-cloud: "\f0c2";
138 | $fa-var-cloud-download: "\f0ed";
139 | $fa-var-cloud-upload: "\f0ee";
140 | $fa-var-cny: "\f157";
141 | $fa-var-code: "\f121";
142 | $fa-var-code-fork: "\f126";
143 | $fa-var-codepen: "\f1cb";
144 | $fa-var-coffee: "\f0f4";
145 | $fa-var-cog: "\f013";
146 | $fa-var-cogs: "\f085";
147 | $fa-var-columns: "\f0db";
148 | $fa-var-comment: "\f075";
149 | $fa-var-comment-o: "\f0e5";
150 | $fa-var-comments: "\f086";
151 | $fa-var-comments-o: "\f0e6";
152 | $fa-var-compass: "\f14e";
153 | $fa-var-compress: "\f066";
154 | $fa-var-connectdevelop: "\f20e";
155 | $fa-var-copy: "\f0c5";
156 | $fa-var-copyright: "\f1f9";
157 | $fa-var-credit-card: "\f09d";
158 | $fa-var-crop: "\f125";
159 | $fa-var-crosshairs: "\f05b";
160 | $fa-var-css3: "\f13c";
161 | $fa-var-cube: "\f1b2";
162 | $fa-var-cubes: "\f1b3";
163 | $fa-var-cut: "\f0c4";
164 | $fa-var-cutlery: "\f0f5";
165 | $fa-var-dashboard: "\f0e4";
166 | $fa-var-dashcube: "\f210";
167 | $fa-var-database: "\f1c0";
168 | $fa-var-dedent: "\f03b";
169 | $fa-var-delicious: "\f1a5";
170 | $fa-var-desktop: "\f108";
171 | $fa-var-deviantart: "\f1bd";
172 | $fa-var-diamond: "\f219";
173 | $fa-var-digg: "\f1a6";
174 | $fa-var-dollar: "\f155";
175 | $fa-var-dot-circle-o: "\f192";
176 | $fa-var-download: "\f019";
177 | $fa-var-dribbble: "\f17d";
178 | $fa-var-dropbox: "\f16b";
179 | $fa-var-drupal: "\f1a9";
180 | $fa-var-edit: "\f044";
181 | $fa-var-eject: "\f052";
182 | $fa-var-ellipsis-h: "\f141";
183 | $fa-var-ellipsis-v: "\f142";
184 | $fa-var-empire: "\f1d1";
185 | $fa-var-envelope: "\f0e0";
186 | $fa-var-envelope-o: "\f003";
187 | $fa-var-envelope-square: "\f199";
188 | $fa-var-eraser: "\f12d";
189 | $fa-var-eur: "\f153";
190 | $fa-var-euro: "\f153";
191 | $fa-var-exchange: "\f0ec";
192 | $fa-var-exclamation: "\f12a";
193 | $fa-var-exclamation-circle: "\f06a";
194 | $fa-var-exclamation-triangle: "\f071";
195 | $fa-var-expand: "\f065";
196 | $fa-var-external-link: "\f08e";
197 | $fa-var-external-link-square: "\f14c";
198 | $fa-var-eye: "\f06e";
199 | $fa-var-eye-slash: "\f070";
200 | $fa-var-eyedropper: "\f1fb";
201 | $fa-var-facebook: "\f09a";
202 | $fa-var-facebook-f: "\f09a";
203 | $fa-var-facebook-official: "\f230";
204 | $fa-var-facebook-square: "\f082";
205 | $fa-var-fast-backward: "\f049";
206 | $fa-var-fast-forward: "\f050";
207 | $fa-var-fax: "\f1ac";
208 | $fa-var-female: "\f182";
209 | $fa-var-fighter-jet: "\f0fb";
210 | $fa-var-file: "\f15b";
211 | $fa-var-file-archive-o: "\f1c6";
212 | $fa-var-file-audio-o: "\f1c7";
213 | $fa-var-file-code-o: "\f1c9";
214 | $fa-var-file-excel-o: "\f1c3";
215 | $fa-var-file-image-o: "\f1c5";
216 | $fa-var-file-movie-o: "\f1c8";
217 | $fa-var-file-o: "\f016";
218 | $fa-var-file-pdf-o: "\f1c1";
219 | $fa-var-file-photo-o: "\f1c5";
220 | $fa-var-file-picture-o: "\f1c5";
221 | $fa-var-file-powerpoint-o: "\f1c4";
222 | $fa-var-file-sound-o: "\f1c7";
223 | $fa-var-file-text: "\f15c";
224 | $fa-var-file-text-o: "\f0f6";
225 | $fa-var-file-video-o: "\f1c8";
226 | $fa-var-file-word-o: "\f1c2";
227 | $fa-var-file-zip-o: "\f1c6";
228 | $fa-var-files-o: "\f0c5";
229 | $fa-var-film: "\f008";
230 | $fa-var-filter: "\f0b0";
231 | $fa-var-fire: "\f06d";
232 | $fa-var-fire-extinguisher: "\f134";
233 | $fa-var-flag: "\f024";
234 | $fa-var-flag-checkered: "\f11e";
235 | $fa-var-flag-o: "\f11d";
236 | $fa-var-flash: "\f0e7";
237 | $fa-var-flask: "\f0c3";
238 | $fa-var-flickr: "\f16e";
239 | $fa-var-floppy-o: "\f0c7";
240 | $fa-var-folder: "\f07b";
241 | $fa-var-folder-o: "\f114";
242 | $fa-var-folder-open: "\f07c";
243 | $fa-var-folder-open-o: "\f115";
244 | $fa-var-font: "\f031";
245 | $fa-var-forumbee: "\f211";
246 | $fa-var-forward: "\f04e";
247 | $fa-var-foursquare: "\f180";
248 | $fa-var-frown-o: "\f119";
249 | $fa-var-futbol-o: "\f1e3";
250 | $fa-var-gamepad: "\f11b";
251 | $fa-var-gavel: "\f0e3";
252 | $fa-var-gbp: "\f154";
253 | $fa-var-ge: "\f1d1";
254 | $fa-var-gear: "\f013";
255 | $fa-var-gears: "\f085";
256 | $fa-var-genderless: "\f1db";
257 | $fa-var-gift: "\f06b";
258 | $fa-var-git: "\f1d3";
259 | $fa-var-git-square: "\f1d2";
260 | $fa-var-github: "\f09b";
261 | $fa-var-github-alt: "\f113";
262 | $fa-var-github-square: "\f092";
263 | $fa-var-gittip: "\f184";
264 | $fa-var-glass: "\f000";
265 | $fa-var-globe: "\f0ac";
266 | $fa-var-google: "\f1a0";
267 | $fa-var-google-plus: "\f0d5";
268 | $fa-var-google-plus-square: "\f0d4";
269 | $fa-var-google-wallet: "\f1ee";
270 | $fa-var-graduation-cap: "\f19d";
271 | $fa-var-gratipay: "\f184";
272 | $fa-var-group: "\f0c0";
273 | $fa-var-h-square: "\f0fd";
274 | $fa-var-hacker-news: "\f1d4";
275 | $fa-var-hand-o-down: "\f0a7";
276 | $fa-var-hand-o-left: "\f0a5";
277 | $fa-var-hand-o-right: "\f0a4";
278 | $fa-var-hand-o-up: "\f0a6";
279 | $fa-var-hdd-o: "\f0a0";
280 | $fa-var-header: "\f1dc";
281 | $fa-var-headphones: "\f025";
282 | $fa-var-heart: "\f004";
283 | $fa-var-heart-o: "\f08a";
284 | $fa-var-heartbeat: "\f21e";
285 | $fa-var-history: "\f1da";
286 | $fa-var-home: "\f015";
287 | $fa-var-hospital-o: "\f0f8";
288 | $fa-var-hotel: "\f236";
289 | $fa-var-html5: "\f13b";
290 | $fa-var-ils: "\f20b";
291 | $fa-var-image: "\f03e";
292 | $fa-var-inbox: "\f01c";
293 | $fa-var-indent: "\f03c";
294 | $fa-var-info: "\f129";
295 | $fa-var-info-circle: "\f05a";
296 | $fa-var-inr: "\f156";
297 | $fa-var-instagram: "\f16d";
298 | $fa-var-institution: "\f19c";
299 | $fa-var-ioxhost: "\f208";
300 | $fa-var-italic: "\f033";
301 | $fa-var-joomla: "\f1aa";
302 | $fa-var-jpy: "\f157";
303 | $fa-var-jsfiddle: "\f1cc";
304 | $fa-var-key: "\f084";
305 | $fa-var-keyboard-o: "\f11c";
306 | $fa-var-krw: "\f159";
307 | $fa-var-language: "\f1ab";
308 | $fa-var-laptop: "\f109";
309 | $fa-var-lastfm: "\f202";
310 | $fa-var-lastfm-square: "\f203";
311 | $fa-var-leaf: "\f06c";
312 | $fa-var-leanpub: "\f212";
313 | $fa-var-legal: "\f0e3";
314 | $fa-var-lemon-o: "\f094";
315 | $fa-var-level-down: "\f149";
316 | $fa-var-level-up: "\f148";
317 | $fa-var-life-bouy: "\f1cd";
318 | $fa-var-life-buoy: "\f1cd";
319 | $fa-var-life-ring: "\f1cd";
320 | $fa-var-life-saver: "\f1cd";
321 | $fa-var-lightbulb-o: "\f0eb";
322 | $fa-var-line-chart: "\f201";
323 | $fa-var-link: "\f0c1";
324 | $fa-var-linkedin: "\f0e1";
325 | $fa-var-linkedin-square: "\f08c";
326 | $fa-var-linux: "\f17c";
327 | $fa-var-list: "\f03a";
328 | $fa-var-list-alt: "\f022";
329 | $fa-var-list-ol: "\f0cb";
330 | $fa-var-list-ul: "\f0ca";
331 | $fa-var-location-arrow: "\f124";
332 | $fa-var-lock: "\f023";
333 | $fa-var-long-arrow-down: "\f175";
334 | $fa-var-long-arrow-left: "\f177";
335 | $fa-var-long-arrow-right: "\f178";
336 | $fa-var-long-arrow-up: "\f176";
337 | $fa-var-magic: "\f0d0";
338 | $fa-var-magnet: "\f076";
339 | $fa-var-mail-forward: "\f064";
340 | $fa-var-mail-reply: "\f112";
341 | $fa-var-mail-reply-all: "\f122";
342 | $fa-var-male: "\f183";
343 | $fa-var-map-marker: "\f041";
344 | $fa-var-mars: "\f222";
345 | $fa-var-mars-double: "\f227";
346 | $fa-var-mars-stroke: "\f229";
347 | $fa-var-mars-stroke-h: "\f22b";
348 | $fa-var-mars-stroke-v: "\f22a";
349 | $fa-var-maxcdn: "\f136";
350 | $fa-var-meanpath: "\f20c";
351 | $fa-var-medium: "\f23a";
352 | $fa-var-medkit: "\f0fa";
353 | $fa-var-meh-o: "\f11a";
354 | $fa-var-mercury: "\f223";
355 | $fa-var-microphone: "\f130";
356 | $fa-var-microphone-slash: "\f131";
357 | $fa-var-minus: "\f068";
358 | $fa-var-minus-circle: "\f056";
359 | $fa-var-minus-square: "\f146";
360 | $fa-var-minus-square-o: "\f147";
361 | $fa-var-mobile: "\f10b";
362 | $fa-var-mobile-phone: "\f10b";
363 | $fa-var-money: "\f0d6";
364 | $fa-var-moon-o: "\f186";
365 | $fa-var-mortar-board: "\f19d";
366 | $fa-var-motorcycle: "\f21c";
367 | $fa-var-music: "\f001";
368 | $fa-var-navicon: "\f0c9";
369 | $fa-var-neuter: "\f22c";
370 | $fa-var-newspaper-o: "\f1ea";
371 | $fa-var-openid: "\f19b";
372 | $fa-var-outdent: "\f03b";
373 | $fa-var-pagelines: "\f18c";
374 | $fa-var-paint-brush: "\f1fc";
375 | $fa-var-paper-plane: "\f1d8";
376 | $fa-var-paper-plane-o: "\f1d9";
377 | $fa-var-paperclip: "\f0c6";
378 | $fa-var-paragraph: "\f1dd";
379 | $fa-var-paste: "\f0ea";
380 | $fa-var-pause: "\f04c";
381 | $fa-var-paw: "\f1b0";
382 | $fa-var-paypal: "\f1ed";
383 | $fa-var-pencil: "\f040";
384 | $fa-var-pencil-square: "\f14b";
385 | $fa-var-pencil-square-o: "\f044";
386 | $fa-var-phone: "\f095";
387 | $fa-var-phone-square: "\f098";
388 | $fa-var-photo: "\f03e";
389 | $fa-var-picture-o: "\f03e";
390 | $fa-var-pie-chart: "\f200";
391 | $fa-var-pied-piper: "\f1a7";
392 | $fa-var-pied-piper-alt: "\f1a8";
393 | $fa-var-pinterest: "\f0d2";
394 | $fa-var-pinterest-p: "\f231";
395 | $fa-var-pinterest-square: "\f0d3";
396 | $fa-var-plane: "\f072";
397 | $fa-var-play: "\f04b";
398 | $fa-var-play-circle: "\f144";
399 | $fa-var-play-circle-o: "\f01d";
400 | $fa-var-plug: "\f1e6";
401 | $fa-var-plus: "\f067";
402 | $fa-var-plus-circle: "\f055";
403 | $fa-var-plus-square: "\f0fe";
404 | $fa-var-plus-square-o: "\f196";
405 | $fa-var-power-off: "\f011";
406 | $fa-var-print: "\f02f";
407 | $fa-var-puzzle-piece: "\f12e";
408 | $fa-var-qq: "\f1d6";
409 | $fa-var-qrcode: "\f029";
410 | $fa-var-question: "\f128";
411 | $fa-var-question-circle: "\f059";
412 | $fa-var-quote-left: "\f10d";
413 | $fa-var-quote-right: "\f10e";
414 | $fa-var-ra: "\f1d0";
415 | $fa-var-random: "\f074";
416 | $fa-var-rebel: "\f1d0";
417 | $fa-var-recycle: "\f1b8";
418 | $fa-var-reddit: "\f1a1";
419 | $fa-var-reddit-square: "\f1a2";
420 | $fa-var-refresh: "\f021";
421 | $fa-var-remove: "\f00d";
422 | $fa-var-renren: "\f18b";
423 | $fa-var-reorder: "\f0c9";
424 | $fa-var-repeat: "\f01e";
425 | $fa-var-reply: "\f112";
426 | $fa-var-reply-all: "\f122";
427 | $fa-var-retweet: "\f079";
428 | $fa-var-rmb: "\f157";
429 | $fa-var-road: "\f018";
430 | $fa-var-rocket: "\f135";
431 | $fa-var-rotate-left: "\f0e2";
432 | $fa-var-rotate-right: "\f01e";
433 | $fa-var-rouble: "\f158";
434 | $fa-var-rss: "\f09e";
435 | $fa-var-rss-square: "\f143";
436 | $fa-var-rub: "\f158";
437 | $fa-var-ruble: "\f158";
438 | $fa-var-rupee: "\f156";
439 | $fa-var-save: "\f0c7";
440 | $fa-var-scissors: "\f0c4";
441 | $fa-var-search: "\f002";
442 | $fa-var-search-minus: "\f010";
443 | $fa-var-search-plus: "\f00e";
444 | $fa-var-sellsy: "\f213";
445 | $fa-var-send: "\f1d8";
446 | $fa-var-send-o: "\f1d9";
447 | $fa-var-server: "\f233";
448 | $fa-var-share: "\f064";
449 | $fa-var-share-alt: "\f1e0";
450 | $fa-var-share-alt-square: "\f1e1";
451 | $fa-var-share-square: "\f14d";
452 | $fa-var-share-square-o: "\f045";
453 | $fa-var-shekel: "\f20b";
454 | $fa-var-sheqel: "\f20b";
455 | $fa-var-shield: "\f132";
456 | $fa-var-ship: "\f21a";
457 | $fa-var-shirtsinbulk: "\f214";
458 | $fa-var-shopping-cart: "\f07a";
459 | $fa-var-sign-in: "\f090";
460 | $fa-var-sign-out: "\f08b";
461 | $fa-var-signal: "\f012";
462 | $fa-var-simplybuilt: "\f215";
463 | $fa-var-sitemap: "\f0e8";
464 | $fa-var-skyatlas: "\f216";
465 | $fa-var-skype: "\f17e";
466 | $fa-var-slack: "\f198";
467 | $fa-var-sliders: "\f1de";
468 | $fa-var-slideshare: "\f1e7";
469 | $fa-var-smile-o: "\f118";
470 | $fa-var-soccer-ball-o: "\f1e3";
471 | $fa-var-sort: "\f0dc";
472 | $fa-var-sort-alpha-asc: "\f15d";
473 | $fa-var-sort-alpha-desc: "\f15e";
474 | $fa-var-sort-amount-asc: "\f160";
475 | $fa-var-sort-amount-desc: "\f161";
476 | $fa-var-sort-asc: "\f0de";
477 | $fa-var-sort-desc: "\f0dd";
478 | $fa-var-sort-down: "\f0dd";
479 | $fa-var-sort-numeric-asc: "\f162";
480 | $fa-var-sort-numeric-desc: "\f163";
481 | $fa-var-sort-up: "\f0de";
482 | $fa-var-soundcloud: "\f1be";
483 | $fa-var-space-shuttle: "\f197";
484 | $fa-var-spinner: "\f110";
485 | $fa-var-spoon: "\f1b1";
486 | $fa-var-spotify: "\f1bc";
487 | $fa-var-square: "\f0c8";
488 | $fa-var-square-o: "\f096";
489 | $fa-var-stack-exchange: "\f18d";
490 | $fa-var-stack-overflow: "\f16c";
491 | $fa-var-star: "\f005";
492 | $fa-var-star-half: "\f089";
493 | $fa-var-star-half-empty: "\f123";
494 | $fa-var-star-half-full: "\f123";
495 | $fa-var-star-half-o: "\f123";
496 | $fa-var-star-o: "\f006";
497 | $fa-var-steam: "\f1b6";
498 | $fa-var-steam-square: "\f1b7";
499 | $fa-var-step-backward: "\f048";
500 | $fa-var-step-forward: "\f051";
501 | $fa-var-stethoscope: "\f0f1";
502 | $fa-var-stop: "\f04d";
503 | $fa-var-street-view: "\f21d";
504 | $fa-var-strikethrough: "\f0cc";
505 | $fa-var-stumbleupon: "\f1a4";
506 | $fa-var-stumbleupon-circle: "\f1a3";
507 | $fa-var-subscript: "\f12c";
508 | $fa-var-subway: "\f239";
509 | $fa-var-suitcase: "\f0f2";
510 | $fa-var-sun-o: "\f185";
511 | $fa-var-superscript: "\f12b";
512 | $fa-var-support: "\f1cd";
513 | $fa-var-table: "\f0ce";
514 | $fa-var-tablet: "\f10a";
515 | $fa-var-tachometer: "\f0e4";
516 | $fa-var-tag: "\f02b";
517 | $fa-var-tags: "\f02c";
518 | $fa-var-tasks: "\f0ae";
519 | $fa-var-taxi: "\f1ba";
520 | $fa-var-tencent-weibo: "\f1d5";
521 | $fa-var-terminal: "\f120";
522 | $fa-var-text-height: "\f034";
523 | $fa-var-text-width: "\f035";
524 | $fa-var-th: "\f00a";
525 | $fa-var-th-large: "\f009";
526 | $fa-var-th-list: "\f00b";
527 | $fa-var-thumb-tack: "\f08d";
528 | $fa-var-thumbs-down: "\f165";
529 | $fa-var-thumbs-o-down: "\f088";
530 | $fa-var-thumbs-o-up: "\f087";
531 | $fa-var-thumbs-up: "\f164";
532 | $fa-var-ticket: "\f145";
533 | $fa-var-times: "\f00d";
534 | $fa-var-times-circle: "\f057";
535 | $fa-var-times-circle-o: "\f05c";
536 | $fa-var-tint: "\f043";
537 | $fa-var-toggle-down: "\f150";
538 | $fa-var-toggle-left: "\f191";
539 | $fa-var-toggle-off: "\f204";
540 | $fa-var-toggle-on: "\f205";
541 | $fa-var-toggle-right: "\f152";
542 | $fa-var-toggle-up: "\f151";
543 | $fa-var-train: "\f238";
544 | $fa-var-transgender: "\f224";
545 | $fa-var-transgender-alt: "\f225";
546 | $fa-var-trash: "\f1f8";
547 | $fa-var-trash-o: "\f014";
548 | $fa-var-tree: "\f1bb";
549 | $fa-var-trello: "\f181";
550 | $fa-var-trophy: "\f091";
551 | $fa-var-truck: "\f0d1";
552 | $fa-var-try: "\f195";
553 | $fa-var-tty: "\f1e4";
554 | $fa-var-tumblr: "\f173";
555 | $fa-var-tumblr-square: "\f174";
556 | $fa-var-turkish-lira: "\f195";
557 | $fa-var-twitch: "\f1e8";
558 | $fa-var-twitter: "\f099";
559 | $fa-var-twitter-square: "\f081";
560 | $fa-var-umbrella: "\f0e9";
561 | $fa-var-underline: "\f0cd";
562 | $fa-var-undo: "\f0e2";
563 | $fa-var-university: "\f19c";
564 | $fa-var-unlink: "\f127";
565 | $fa-var-unlock: "\f09c";
566 | $fa-var-unlock-alt: "\f13e";
567 | $fa-var-unsorted: "\f0dc";
568 | $fa-var-upload: "\f093";
569 | $fa-var-usd: "\f155";
570 | $fa-var-user: "\f007";
571 | $fa-var-user-md: "\f0f0";
572 | $fa-var-user-plus: "\f234";
573 | $fa-var-user-secret: "\f21b";
574 | $fa-var-user-times: "\f235";
575 | $fa-var-users: "\f0c0";
576 | $fa-var-venus: "\f221";
577 | $fa-var-venus-double: "\f226";
578 | $fa-var-venus-mars: "\f228";
579 | $fa-var-viacoin: "\f237";
580 | $fa-var-video-camera: "\f03d";
581 | $fa-var-vimeo-square: "\f194";
582 | $fa-var-vine: "\f1ca";
583 | $fa-var-vk: "\f189";
584 | $fa-var-volume-down: "\f027";
585 | $fa-var-volume-off: "\f026";
586 | $fa-var-volume-up: "\f028";
587 | $fa-var-warning: "\f071";
588 | $fa-var-wechat: "\f1d7";
589 | $fa-var-weibo: "\f18a";
590 | $fa-var-weixin: "\f1d7";
591 | $fa-var-whatsapp: "\f232";
592 | $fa-var-wheelchair: "\f193";
593 | $fa-var-wifi: "\f1eb";
594 | $fa-var-windows: "\f17a";
595 | $fa-var-won: "\f159";
596 | $fa-var-wordpress: "\f19a";
597 | $fa-var-wrench: "\f0ad";
598 | $fa-var-xing: "\f168";
599 | $fa-var-xing-square: "\f169";
600 | $fa-var-yahoo: "\f19e";
601 | $fa-var-yelp: "\f1e9";
602 | $fa-var-yen: "\f157";
603 | $fa-var-youtube: "\f167";
604 | $fa-var-youtube-play: "\f16a";
605 | $fa-var-youtube-square: "\f166";
606 |
607 |
--------------------------------------------------------------------------------
/graphs/complex.json:
--------------------------------------------------------------------------------
1 | {"shader_textures":["BasketballColor","cube2"],"iteration":749,"last_node_id":42,"last_link_id":92,"links":{"0":{"data":null,"id":0,"origin_id":0,"origin_slot":0,"target_id":1,"target_slot":0},"1":{"data":null,"id":1,"origin_id":0,"origin_slot":0,"target_id":8,"target_slot":0},"2":{"data":null,"id":2,"origin_id":8,"origin_slot":2,"target_id":10,"target_slot":2},"3":{"data":null,"id":3,"origin_id":1,"origin_slot":0,"target_id":2,"target_slot":0},"4":{"data":null,"id":4,"origin_id":4,"origin_slot":0,"target_id":6,"target_slot":0},"5":{"data":null,"id":5,"origin_id":5,"origin_slot":0,"target_id":6,"target_slot":1},"6":{"data":null,"id":6,"origin_id":6,"origin_slot":0,"target_id":7,"target_slot":0},"7":{"data":null,"id":7,"origin_id":1,"origin_slot":1,"target_id":9,"target_slot":0},"8":{"data":null,"id":8,"origin_id":7,"origin_slot":1,"target_id":9,"target_slot":1},"9":{"data":null,"id":9,"origin_id":9,"origin_slot":0,"target_id":3,"target_slot":0},"10":{"data":null,"id":10,"origin_id":10,"origin_slot":0,"target_id":9,"target_slot":2},"11":{"data":null,"id":11,"origin_id":0,"origin_slot":0,"target_id":11,"target_slot":0},"12":{"data":null,"id":12,"origin_id":11,"origin_slot":1,"target_id":9,"target_slot":0},"13":{"data":null,"id":13,"origin_id":0,"origin_slot":0,"target_id":12,"target_slot":0},"14":{"data":null,"id":14,"origin_id":12,"origin_slot":2,"target_id":10,"target_slot":2},"15":{"id":15,"origin_id":15,"origin_slot":0,"target_id":13,"target_slot":0,"data":null},"16":{"id":16,"origin_id":13,"origin_slot":1,"target_id":3,"target_slot":0,"data":null},"17":{"id":17,"origin_id":18,"origin_slot":0,"target_id":16,"target_slot":1,"data":null},"18":{"id":18,"origin_id":17,"origin_slot":0,"target_id":16,"target_slot":0,"data":null},"19":{"id":19,"origin_id":16,"origin_slot":0,"target_id":14,"target_slot":0,"data":null},"20":{"id":20,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":0,"data":null},"21":{"id":21,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"22":{"id":22,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"23":{"id":23,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"24":{"id":24,"origin_id":20,"origin_slot":0,"target_id":16,"target_slot":1,"data":null},"25":{"id":25,"origin_id":15,"origin_slot":0,"target_id":22,"target_slot":0,"data":null},"26":{"id":26,"origin_id":22,"origin_slot":2,"target_id":21,"target_slot":2,"data":null},"27":{"id":27,"origin_id":21,"origin_slot":0,"target_id":19,"target_slot":2,"data":null},"28":{"id":28,"origin_id":19,"origin_slot":0,"target_id":23,"target_slot":0,"data":null},"29":{"id":29,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":0,"data":null},"30":{"id":30,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"31":{"id":31,"origin_id":19,"origin_slot":0,"target_id":24,"target_slot":0,"data":null},"32":{"id":32,"origin_id":19,"origin_slot":0,"target_id":24,"target_slot":1,"data":null},"33":{"id":33,"origin_id":24,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"34":{"id":34,"origin_id":24,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"35":{"id":35,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"36":{"id":36,"origin_id":25,"origin_slot":0,"target_id":26,"target_slot":0,"data":null},"37":{"id":37,"origin_id":26,"origin_slot":1,"target_id":21,"target_slot":2,"data":null},"38":{"id":38,"origin_id":26,"origin_slot":1,"target_id":27,"target_slot":0,"data":null},"39":{"id":39,"origin_id":27,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"40":{"id":40,"origin_id":19,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"41":{"id":41,"origin_id":27,"origin_slot":0,"target_id":28,"target_slot":0,"data":null},"42":{"id":42,"origin_id":28,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"43":{"id":43,"origin_id":26,"origin_slot":0,"target_id":21,"target_slot":2,"data":null},"44":{"id":44,"origin_id":26,"origin_slot":1,"target_id":21,"target_slot":2,"data":null},"45":{"id":45,"origin_id":14,"origin_slot":1,"target_id":19,"target_slot":1,"data":null},"46":{"id":46,"origin_id":13,"origin_slot":1,"target_id":19,"target_slot":0,"data":null},"47":{"id":47,"origin_id":13,"origin_slot":2,"target_id":21,"target_slot":2,"data":null},"48":{"id":48,"origin_id":21,"origin_slot":0,"target_id":29,"target_slot":2,"data":null},"49":{"id":49,"origin_id":13,"origin_slot":1,"target_id":29,"target_slot":1,"data":null},"50":{"id":50,"origin_id":14,"origin_slot":1,"target_id":29,"target_slot":0,"data":null},"51":{"id":51,"origin_id":29,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"52":{"id":52,"origin_id":31,"origin_slot":1,"target_id":29,"target_slot":1,"data":null},"53":{"id":53,"origin_id":30,"origin_slot":1,"target_id":29,"target_slot":0,"data":null},"54":{"id":54,"origin_id":16,"origin_slot":0,"target_id":31,"target_slot":0,"data":null},"55":{"id":55,"origin_id":15,"origin_slot":0,"target_id":30,"target_slot":0,"data":null},"56":{"id":56,"origin_id":30,"origin_slot":2,"target_id":21,"target_slot":2,"data":null},"57":{"id":57,"origin_id":31,"origin_slot":1,"target_id":32,"target_slot":0,"data":null},"58":{"id":58,"origin_id":30,"origin_slot":1,"target_id":32,"target_slot":1,"data":null},"59":{"id":59,"origin_id":32,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"60":{"id":60,"origin_id":21,"origin_slot":0,"target_id":32,"target_slot":2,"data":null},"61":{"id":61,"origin_id":30,"origin_slot":1,"target_id":32,"target_slot":0,"data":null},"62":{"id":62,"origin_id":31,"origin_slot":1,"target_id":32,"target_slot":1,"data":null},"63":{"id":63,"origin_id":31,"origin_slot":1,"target_id":33,"target_slot":0,"data":null},"64":{"id":64,"origin_id":30,"origin_slot":1,"target_id":33,"target_slot":1,"data":null},"65":{"id":65,"origin_id":21,"origin_slot":0,"target_id":33,"target_slot":2,"data":null},"66":{"id":66,"origin_id":33,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"67":{"id":67,"origin_id":16,"origin_slot":0,"target_id":34,"target_slot":0,"data":null},"68":{"id":68,"origin_id":15,"origin_slot":0,"target_id":35,"target_slot":0,"data":null},"69":{"id":69,"origin_id":35,"origin_slot":2,"target_id":36,"target_slot":2,"data":null},"70":{"id":70,"origin_id":35,"origin_slot":1,"target_id":37,"target_slot":1,"data":null},"71":{"id":71,"origin_id":36,"origin_slot":0,"target_id":37,"target_slot":2,"data":null},"72":{"id":72,"origin_id":34,"origin_slot":1,"target_id":37,"target_slot":0,"data":null},"73":{"id":73,"origin_id":35,"origin_slot":1,"target_id":37,"target_slot":1,"data":null},"74":{"id":74,"origin_id":37,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"75":{"id":75,"origin_id":37,"origin_slot":0,"target_id":38,"target_slot":1,"data":null},"76":{"id":76,"origin_id":38,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"77":{"id":77,"origin_id":34,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"78":{"id":78,"origin_id":35,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"79":{"id":79,"origin_id":34,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"80":{"id":80,"origin_id":15,"origin_slot":0,"target_id":39,"target_slot":0,"data":null},"81":{"id":81,"origin_id":39,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"82":{"id":82,"origin_id":40,"origin_slot":0,"target_id":38,"target_slot":0,"data":null},"83":{"id":83,"origin_id":38,"origin_slot":0,"target_id":3,"target_slot":0,"data":null},"84":{"id":84,"origin_id":35,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"85":{"id":85,"origin_id":37,"origin_slot":0,"target_id":38,"target_slot":0,"data":null},"86":{"id":86,"origin_id":35,"origin_slot":1,"target_id":38,"target_slot":1,"data":null},"87":{"id":87,"origin_id":35,"origin_slot":1,"target_id":38,"target_slot":0,"data":null},"88":{"id":88,"origin_id":37,"origin_slot":0,"target_id":38,"target_slot":1,"data":null},"89":{"id":89,"origin_id":37,"origin_slot":0,"target_id":38,"target_slot":0,"data":null},"90":{"id":90,"origin_id":35,"origin_slot":1,"target_id":38,"target_slot":1,"data":null},"91":{"id":91,"origin_id":38,"origin_slot":0,"target_id":41,"target_slot":0,"data":null}},"config":{},"nodes":[{"id":17,"title":"PixelNormalWS","type":"coordinates/PixelNormalWS","pos":[45,534],"size":{"0":124,"1":20},"flags":{},"outputs":[{"name":"Pixel Normal","type":"vec3","types":{"vec3":1},"links":[18]}],"shader_piece":{"id":"pixel_normal_ws","includes":{"a_normal":1,"u_model":1,"v_normal":1}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n"}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1},"scope":""},"fragment":{"header":{},"body_hash":{"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n"}},"body_ids":[-1326236929],"includes":{"a_normal":1,"u_model":1,"v_normal":1},"scope":""},"output_var":"pixel_normal_ws","order":0}],"properties":{}},{"id":20,"title":"CameraToPixelWS","type":"coordinates/CameraToPixelWS","pos":[39,607],"size":{"0":145,"1":20},"flags":{},"outputs":[{"name":"Camera To Pixel","type":"vec3","types":{"vec3":1},"links":[24]}],"shader_piece":{"id":"cameratopixelws","includes":{"u_eye":1,"v_pos":1}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{"u_eye":1,"v_pos":1},"scope":""},"fragment":{"header":{},"body_hash":{"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n"}},"body_ids":[-488000329],"includes":{"u_eye":1,"v_pos":1},"scope":""},"output_var":"camera_to_pixel_ws","order":1}],"properties":{}},{"id":16,"title":"Reflect","type":"texture/Reflect","pos":[253,566],"size":{"0":140,"1":34},"flags":{},"inputs":[{"name":"normal","type":"vec3","link":18,"types":{"vec3":1}},{"name":"vector","type":"vec3","link":24,"types":{"vec3":1}}],"outputs":[{"name":"reflect vector","type":"vec3","types":{"vec3":1},"links":[67]}],"shader_piece":{"name":"reflect","id":"2paramfunc","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":3}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":3},"fragment":{"header":{},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n"},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":3},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":3}},"body_ids":[-488000329,-1326236929,294262404],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":3},"output_var":"reflect_16","order":3}],"properties":{}},{"id":34,"title":"TextureSampleCube","type":"texture/TextureSampleCube","pos":[500,506],"size":[170,165],"flags":{},"inputs":[{"name":"vec3","type":"vec3","link":67,"types":{}}],"outputs":[{"name":"Cubemap","type":"Cubemap","types":{},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[72]}],"shader_piece":{"id":"texture_sample_cube","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"output_var":""},{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":5}},"body_ids":[794463831],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":5},"fragment":{"header":{"uniform samplerCube u_cube2_texture;\n":1},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n","order":5},"-359242164":{"str":"vec4 color_34 = textureCube(u_cube2_texture, reflect_16);\n"},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":5},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":5}},"body_ids":[-488000329,-1326236929,294262404,-359242164],"includes":{"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":5},"output_var":"color_34","order":5}],"properties":{"name":"cube2"}},{"id":15,"title":"TextureCoords","type":"coordinates/TextureCoords","pos":[266,811],"size":{"0":123,"1":20},"flags":{},"outputs":[{"name":"UVs","type":"vec2","types":{"vec2":1},"links":[68]}],"shader_piece":{"id":"uvs","includes":{"a_coord":1,"v_coord":1},"already_included":false},"codes":[{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n"}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"v_coord","order":2}],"properties":{"UTiling":1,"VTiling":1}},{"id":36,"title":"SmoothStep","type":"texture/SmoothStep","pos":[752,778],"size":{"0":140,"1":48},"flags":{},"inputs":[{"name":"lower","type":"float","link":null,"types":{"float":1},"label":"lower=0.300"},{"name":"upper","type":"float","link":null,"types":{"float":1},"label":"upper=1.000"},{"name":"x","type":"float","link":69,"types":{"float":1}}],"outputs":[{"name":"Result","type":"float","types":{"float":1},"links":[71]}],"shader_piece":{"id":"smoothsteep","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":6}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":6},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n","order":6},"-1208350750":{"str":"float smoothed_36 = smoothstep(0.300,1.000, color_35.r);\n"}},"body_ids":[340067760,-1208350750],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":6},"output_var":"smoothed_36","order":6}],"properties":{"lower":0.3,"upper":1}},{"id":37,"title":"Mix","type":"operations/Mix","pos":[791,544],"size":{"0":140,"1":48},"data":null,"flags":{},"inputs":[{"name":"A","type":"","link":72,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"B","type":"","link":73,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1},{"name":"C","type":"","link":71,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1,"label":"alpha"}],"outputs":[{"name":"Result","type":"","types":{"vec4":1},"links":[89],"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1}],"shader_piece":{"name":"mix","id":"3paramfunc","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":7},"1641341615":{"str":"v_coord = a_coord;\n","order":7}},"body_ids":[1641341615,794463831],"includes":{"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":7},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1,"uniform samplerCube u_cube2_texture;\n":1},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n","order":7},"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n","order":7},"-1232938998":{"str":"vec4 mix_37 = mix(color_34,color_35,smoothed_36);\n"},"-1208350750":{"str":"float smoothed_36 = smoothstep(0.300,1.000, color_35.r);\n","order":7},"-359242164":{"str":"vec4 color_34 = textureCube(u_cube2_texture, reflect_16);\n","order":7},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":7},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":7}},"body_ids":[340067760,-488000329,-1326236929,294262404,-359242164,-1208350750,-1232938998],"includes":{"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":7},"output_var":"mix_37","order":7}],"T_types":{"vec4":1},"properties":{"alpha":0.5}},{"id":35,"title":"TextureSample","type":"texture/TextureSample","pos":[504,774],"size":[170,165],"flags":{},"inputs":[{"name":"UVs","type":"vec2","link":68,"types":{"vec2":1}}],"outputs":[{"name":"Texture","type":"Texture","types":{"Texture":1},"links":null},{"name":"Color","type":"vec4","types":{"vec4":1},"links":[73,90]},{"name":"R","type":"float","types":{"float":1},"links":[69]},{"name":"G","type":"float","types":{"float":1},"links":null},{"name":"B","type":"float","types":{"float":1},"links":null},{"name":"A","type":"float","types":{"float":1},"links":null}],"shader_piece":{"id":"texture_sample","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"fragment":{"header":{},"body_hash":{},"body_ids":[],"includes":{},"scope":""},"output_var":""},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":4}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":4},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n"}},"body_ids":[340067760],"includes":{"a_coord":1,"v_coord":1},"scope":"","order":4},"output_var":"color_35","order":4},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":4}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n"}},"body_ids":[340067760],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_35.r","order":4},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":4}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n"}},"body_ids":[340067760],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_35.g","order":4},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":4}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n"}},"body_ids":[340067760],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_35.b","order":4},{"vertex":{"header":{},"body_hash":{"1641341615":{"str":"v_coord = a_coord;\n","order":4}},"body_ids":[1641341615],"includes":{"a_coord":1,"v_coord":1},"scope":""},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1},"body_hash":{"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n"}},"body_ids":[340067760],"includes":{"a_coord":1,"v_coord":1},"scope":""},"output_var":"color_35.a","order":4}],"properties":{"name":"BasketballColor"}},{"id":41,"title":"Output","type":"core/Output","pos":[1281,564],"size":[125,250],"flags":{},"inputs":[{"name":"albedo","type":"vec3","link":91,"types":{"vec4":1}},{"name":"normal","type":"vec3","link":null,"types":{"vec3":1}},{"name":"emission","type":"vec3","link":null,"types":{"vec4":1}},{"name":"specular","type":"number","link":null,"types":{"number":1}},{"name":"gloss","type":"number","link":null,"types":{"number":1}},{"name":"alpha","type":"number","link":null,"types":{"number":1}},{"name":"world position offset","type":"vec3","link":null,"types":{"vec3":1}}],"shader_piece":{},"codes":[],"properties":{}},{"id":38,"title":"Add","type":"operations/Add","pos":[1056,583],"size":{"0":140,"1":34},"data":null,"flags":{},"inputs":[{"name":"A","type":"","link":89,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1,"label":"A"},{"name":"B","type":"","link":90,"types":{"vec4":1},"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1,"label":"B"}],"outputs":[{"name":"Result","type":"","types":{"vec4":1},"links":[83,91],"types_list":{"float":1,"vec3":1,"vec4":1,"vec2":1},"use_t":1}],"shader_piece":{"op":"+","id":"operation","includes":{}},"codes":[{"vertex":{"header":{},"body_hash":{"794463831":{"str":"v_normal = (u_model * vec4(a_normal, 0.0)).xyz;\n","order":8},"1641341615":{"str":"v_coord = a_coord;\n","order":8}},"body_ids":[1641341615,794463831],"includes":{"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":8},"fragment":{"header":{"uniform sampler2D u_BasketballColor_texture;\n":1,"uniform samplerCube u_cube2_texture;\n":1},"body_hash":{"294262404":{"str":"vec3 reflect_16 = reflect(camera_to_pixel_ws,pixel_normal_ws);\n","order":8},"340067760":{"str":"vec4 color_35 = texture2D(u_BasketballColor_texture, v_coord);\n","order":8},"-438725925":{"str":"vec4 add_38 = mix_37 + color_35;\n"},"-1232938998":{"str":"vec4 mix_37 = mix(color_34,color_35,smoothed_36);\n","order":8},"-1208350750":{"str":"float smoothed_36 = smoothstep(0.300,1.000, color_35.r);\n","order":8},"-359242164":{"str":"vec4 color_34 = textureCube(u_cube2_texture, reflect_16);\n","order":8},"-1326236929":{"str":"vec3 pixel_normal_ws = normal;\n","order":8},"-488000329":{"str":"vec3 camera_to_pixel_ws = normalize(v_pos - u_eye);\n","order":8}},"body_ids":[340067760,-488000329,-1326236929,294262404,-359242164,-1208350750,-1232938998,-438725925],"includes":{"a_coord":1,"v_coord":1,"a_normal":1,"u_model":1,"v_normal":1,"u_eye":1,"v_pos":1},"scope":"","order":8},"output_var":"add_38","order":8}],"T_types":{"vec4":1},"properties":{"A":0,"B":0}}]}
--------------------------------------------------------------------------------