Browse Source

all input for colorMerger are optional #6012

David Catuhe 6 years ago
parent
commit
04a3bd4612
1 changed files with 5 additions and 5 deletions
  1. 5 5
      src/Materials/Node/Blocks/colorMergerBlock.ts

+ 5 - 5
src/Materials/Node/Blocks/colorMergerBlock.ts

@@ -16,9 +16,9 @@ export class ColorMergerBlock extends NodeMaterialBlock {
     public constructor(name: string) {
         super(name, NodeMaterialBlockTargets.Fragment);
 
-        this.registerInput("r", NodeMaterialBlockConnectionPointTypes.Float);
-        this.registerInput("g", NodeMaterialBlockConnectionPointTypes.Float);
-        this.registerInput("b", NodeMaterialBlockConnectionPointTypes.Float);
+        this.registerInput("r", NodeMaterialBlockConnectionPointTypes.Float, true);
+        this.registerInput("g", NodeMaterialBlockConnectionPointTypes.Float, true);
+        this.registerInput("b", NodeMaterialBlockConnectionPointTypes.Float, true);
         this.registerInput("a", NodeMaterialBlockConnectionPointTypes.Float, true);
 
         this.registerOutput("rgba", NodeMaterialBlockConnectionPointTypes.Color4);
@@ -87,9 +87,9 @@ export class ColorMergerBlock extends NodeMaterialBlock {
         let color3Output = this._outputs[1];
 
         if (color4Output.hasEndpoints) {
-            state.compilationString += this._declareOutput(color4Output, state) + ` = vec4(${this._writeVariable(rInput)}, ${this._writeVariable(gInput)}, ${this._writeVariable(bInput)}, ${aInput.isConnected ? this._writeVariable(aInput) : "0.0"});\r\n`;
+            state.compilationString += this._declareOutput(color4Output, state) + ` = vec4(${rInput.isConnected ? this._writeVariable(rInput) : "0.0"}, ${gInput.isConnected ? this._writeVariable(gInput) : "0.0"}, ${bInput.isConnected ? this._writeVariable(bInput) : "0.0"}, ${aInput.isConnected ? this._writeVariable(aInput) : "0.0"});\r\n`;
         } else if (color3Output.hasEndpoints) {
-            state.compilationString += this._declareOutput(color3Output, state) + ` = vec3(${this._writeVariable(rInput)}, ${this._writeVariable(gInput)}, ${this._writeVariable(bInput)});\r\n`;
+            state.compilationString += this._declareOutput(color3Output, state) + ` = vec3(${rInput.isConnected ? this._writeVariable(rInput) : "0.0"}, ${gInput.isConnected ? this._writeVariable(gInput) : "0.0"}, ${bInput.isConnected ? this._writeVariable(bInput) : "0.0"});\r\n`;
         }
 
         return this;