|
@@ -71,6 +71,7 @@ Sidebar.Material = function ( editor ) {
|
|
'MeshLambertMaterial': 'MeshLambertMaterial',
|
|
'MeshLambertMaterial': 'MeshLambertMaterial',
|
|
'MeshNormalMaterial': 'MeshNormalMaterial',
|
|
'MeshNormalMaterial': 'MeshNormalMaterial',
|
|
'MeshPhongMaterial': 'MeshPhongMaterial',
|
|
'MeshPhongMaterial': 'MeshPhongMaterial',
|
|
|
|
+ 'ShaderMaterial': 'ShaderMaterial',
|
|
'SpriteMaterial': 'SpriteMaterial'
|
|
'SpriteMaterial': 'SpriteMaterial'
|
|
|
|
|
|
} ).setWidth( '150px' ).setColor( '#444' ).setFontSize( '12px' ).onChange( update );
|
|
} ).setWidth( '150px' ).setColor( '#444' ).setFontSize( '12px' ).onChange( update );
|
|
@@ -130,6 +131,26 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialShininessRow );
|
|
container.add( materialShininessRow );
|
|
|
|
|
|
|
|
+ // vertex shader
|
|
|
|
+
|
|
|
|
+ var materialVertexShaderRow = new UI.Panel();
|
|
|
|
+ var materialVertexShader = new UI.TextArea().setWidth( '150px' ).setHeight( '40px' ).onChange( update );
|
|
|
|
+
|
|
|
|
+ materialVertexShaderRow.add( new UI.Text( 'Vertex Shader' ).setWidth( '90px' ) );
|
|
|
|
+ materialVertexShaderRow.add( materialVertexShader );
|
|
|
|
+
|
|
|
|
+ container.add( materialVertexShaderRow );
|
|
|
|
+
|
|
|
|
+ // fragment shader
|
|
|
|
+
|
|
|
|
+ var materialFragmentShaderRow = new UI.Panel();
|
|
|
|
+ var materialFragmentShader = new UI.TextArea().setWidth( '150px' ).setHeight( '40px' ).onChange( update );
|
|
|
|
+
|
|
|
|
+ materialFragmentShaderRow.add( new UI.Text( 'Fragment Shader' ).setWidth( '90px' ) );
|
|
|
|
+ materialFragmentShaderRow.add( materialFragmentShader );
|
|
|
|
+
|
|
|
|
+ container.add( materialFragmentShaderRow );
|
|
|
|
+
|
|
// vertex colors
|
|
// vertex colors
|
|
|
|
|
|
var materialVertexColorsRow = new UI.Panel();
|
|
var materialVertexColorsRow = new UI.Panel();
|
|
@@ -146,7 +167,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialVertexColorsRow );
|
|
container.add( materialVertexColorsRow );
|
|
|
|
|
|
-
|
|
|
|
// skinning
|
|
// skinning
|
|
|
|
|
|
var materialSkinningRow = new UI.Panel();
|
|
var materialSkinningRow = new UI.Panel();
|
|
@@ -157,7 +177,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialSkinningRow );
|
|
container.add( materialSkinningRow );
|
|
|
|
|
|
-
|
|
|
|
// map
|
|
// map
|
|
|
|
|
|
var materialMapRow = new UI.Panel();
|
|
var materialMapRow = new UI.Panel();
|
|
@@ -170,7 +189,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialMapRow );
|
|
container.add( materialMapRow );
|
|
|
|
|
|
-
|
|
|
|
// light map
|
|
// light map
|
|
|
|
|
|
var materialLightMapRow = new UI.Panel();
|
|
var materialLightMapRow = new UI.Panel();
|
|
@@ -183,7 +201,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialLightMapRow );
|
|
container.add( materialLightMapRow );
|
|
|
|
|
|
-
|
|
|
|
// bump map
|
|
// bump map
|
|
|
|
|
|
var materialBumpMapRow = new UI.Panel();
|
|
var materialBumpMapRow = new UI.Panel();
|
|
@@ -198,7 +215,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialBumpMapRow );
|
|
container.add( materialBumpMapRow );
|
|
|
|
|
|
-
|
|
|
|
// normal map
|
|
// normal map
|
|
|
|
|
|
var materialNormalMapRow = new UI.Panel();
|
|
var materialNormalMapRow = new UI.Panel();
|
|
@@ -211,7 +227,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialNormalMapRow );
|
|
container.add( materialNormalMapRow );
|
|
|
|
|
|
-
|
|
|
|
// specular map
|
|
// specular map
|
|
|
|
|
|
var materialSpecularMapRow = new UI.Panel();
|
|
var materialSpecularMapRow = new UI.Panel();
|
|
@@ -224,7 +239,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialSpecularMapRow );
|
|
container.add( materialSpecularMapRow );
|
|
|
|
|
|
-
|
|
|
|
// env map
|
|
// env map
|
|
|
|
|
|
var materialEnvMapRow = new UI.Panel();
|
|
var materialEnvMapRow = new UI.Panel();
|
|
@@ -239,7 +253,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialEnvMapRow );
|
|
container.add( materialEnvMapRow );
|
|
|
|
|
|
-
|
|
|
|
// blending
|
|
// blending
|
|
|
|
|
|
var materialBlendingRow = new UI.Panel();
|
|
var materialBlendingRow = new UI.Panel();
|
|
@@ -259,7 +272,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialBlendingRow );
|
|
container.add( materialBlendingRow );
|
|
|
|
|
|
-
|
|
|
|
// side
|
|
// side
|
|
|
|
|
|
var materialSideRow = new UI.Panel();
|
|
var materialSideRow = new UI.Panel();
|
|
@@ -276,7 +288,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialSideRow );
|
|
container.add( materialSideRow );
|
|
|
|
|
|
-
|
|
|
|
// opacity
|
|
// opacity
|
|
|
|
|
|
var materialOpacityRow = new UI.Panel();
|
|
var materialOpacityRow = new UI.Panel();
|
|
@@ -287,7 +298,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialOpacityRow );
|
|
container.add( materialOpacityRow );
|
|
|
|
|
|
-
|
|
|
|
// transparent
|
|
// transparent
|
|
|
|
|
|
var materialTransparentRow = new UI.Panel();
|
|
var materialTransparentRow = new UI.Panel();
|
|
@@ -298,7 +308,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialTransparentRow );
|
|
container.add( materialTransparentRow );
|
|
|
|
|
|
-
|
|
|
|
// wireframe
|
|
// wireframe
|
|
|
|
|
|
var materialWireframeRow = new UI.Panel();
|
|
var materialWireframeRow = new UI.Panel();
|
|
@@ -311,7 +320,6 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
container.add( materialWireframeRow );
|
|
container.add( materialWireframeRow );
|
|
|
|
|
|
-
|
|
|
|
//
|
|
//
|
|
|
|
|
|
function update() {
|
|
function update() {
|
|
@@ -574,6 +582,8 @@ Sidebar.Material = function ( editor ) {
|
|
'emissive': materialEmissiveRow,
|
|
'emissive': materialEmissiveRow,
|
|
'specular': materialSpecularRow,
|
|
'specular': materialSpecularRow,
|
|
'shininess': materialShininessRow,
|
|
'shininess': materialShininessRow,
|
|
|
|
+ 'vertexShader': materialVertexShader,
|
|
|
|
+ 'fragmentShader': materialFragmentShader,
|
|
'vertexColors': materialVertexColorsRow,
|
|
'vertexColors': materialVertexColorsRow,
|
|
'skinning': materialSkinningRow,
|
|
'skinning': materialSkinningRow,
|
|
'map': materialMapRow,
|
|
'map': materialMapRow,
|
|
@@ -653,6 +663,18 @@ Sidebar.Material = function ( editor ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if ( material.vertexShader !== undefined ) {
|
|
|
|
+
|
|
|
|
+ materialVertexShader.setValue( material.vertexShader );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if ( material.fragmentShader !== undefined ) {
|
|
|
|
+
|
|
|
|
+ materialFragmentShader.setValue( material.fragmentShader );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
if ( material.vertexColors !== undefined ) {
|
|
if ( material.vertexColors !== undefined ) {
|
|
|
|
|
|
materialVertexColors.setValue( material.vertexColors );
|
|
materialVertexColors.setValue( material.vertexColors );
|