From e4d138e8ed42cc7564cfb89be8c73bd0875d859a Mon Sep 17 00:00:00 2001 From: deepkolos Date: Mon, 11 Mar 2024 10:44:21 +0800 Subject: [PATCH] fix: stringifyFloat --- src/compilers/ShaderGraphCompiler.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/compilers/ShaderGraphCompiler.ts b/src/compilers/ShaderGraphCompiler.ts index 03f166c..362a947 100644 --- a/src/compilers/ShaderGraphCompiler.ts +++ b/src/compilers/ShaderGraphCompiler.ts @@ -97,7 +97,7 @@ export class ShaderGraphCompiler extends GraphCompiler { return this.setVarNameMap(node, node.data.outValueName, vertVar, fragVar); } - return uniformVar + return uniformVar; } setVarNameMap(node: NodeName, key: string, vertName: string, fragName: string, varName?: string) { @@ -605,7 +605,8 @@ ${code}`; } } -const stringifyFloat = (num: number | number[]): string => { +const stringifyFloat = (num: number | number[] | string): string => { + if (typeof num === 'string' && parseFloat(num).toString() !== num) return num; if (Array.isArray(num)) { num = num[0] || 0; } @@ -617,7 +618,7 @@ const stringifyFloat = (num: number | number[]): string => { return str + '.0'; }; -const stringifyVector = (value: number[], len: 2 | 3 | 4): string => { +const stringifyVector = (value: Array, len: 2 | 3 | 4): string => { return `vec${len}f(${new Array(len) .fill(0) .map((v, k) => stringifyFloat(value[k] || 0))