소스 검색

Add type conversions in ShaderNode (#23544)

* Add type conversions to float, int, and color

* update code style

Co-authored-by: sunag <[email protected]>
LeviPesin 3 년 전
부모
커밋
6ccadd1000
1개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 18 0
      examples/jsm/renderers/nodes/ShaderNode.js

+ 18 - 0
examples/jsm/renderers/nodes/ShaderNode.js

@@ -195,18 +195,36 @@ export const nodeObject = ( val ) => {
 
 export const float = ( val ) => {
 
+	if ( val?.isNode === true ) {
+
+		return nodeObject( new ConvertNode( val, 'float' ) );
+
+	}
+
 	return nodeObject( new FloatNode( val ).setConst( true ) );
 
 };
 
 export const int = ( val ) => {
 
+	if ( val?.isNode === true ) {
+
+		return nodeObject( new ConvertNode( val, 'int' ) );
+
+	}
+
 	return nodeObject( new IntNode( val ).setConst( true ) );
 
 };
 
 export const color = ( ...params ) => {
 
+	if ( params[ 0 ]?.isNode === true ) {
+
+		return nodeObject( new ConvertNode( params[0], 'color' ) );
+
+	}
+
 	return nodeObject( new ColorNode( new Color( ...params ) ).setConst( true ) );
 
 };