|
@@ -2,6 +2,8 @@ import TextureNode from './TextureNode.js';
|
|
import UniformNode from '../core/UniformNode.js';
|
|
import UniformNode from '../core/UniformNode.js';
|
|
import { reflectVector } from './ReflectVectorNode.js';
|
|
import { reflectVector } from './ReflectVectorNode.js';
|
|
import { addNodeClass } from '../core/Node.js';
|
|
import { addNodeClass } from '../core/Node.js';
|
|
|
|
+import { colorSpaceToLinear } from '../display/ColorSpaceNode.js';
|
|
|
|
+import { expression } from '../code/ExpressionNode.js';
|
|
import { addNodeElement, nodeProxy, vec3 } from '../shadernode/ShaderNode.js';
|
|
import { addNodeElement, nodeProxy, vec3 } from '../shadernode/ShaderNode.js';
|
|
|
|
|
|
class CubeTextureNode extends TextureNode {
|
|
class CubeTextureNode extends TextureNode {
|
|
@@ -52,6 +54,7 @@ class CubeTextureNode extends TextureNode {
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
|
|
|
|
|
+ const nodeType = this.getNodeType( builder );
|
|
const nodeData = builder.getDataFromNode( this );
|
|
const nodeData = builder.getDataFromNode( this );
|
|
|
|
|
|
let propertyName = nodeData.propertyName;
|
|
let propertyName = nodeData.propertyName;
|
|
@@ -81,12 +84,24 @@ class CubeTextureNode extends TextureNode {
|
|
|
|
|
|
builder.addLineFlowCode( `${propertyName} = ${snippet}` );
|
|
builder.addLineFlowCode( `${propertyName} = ${snippet}` );
|
|
|
|
|
|
- nodeData.snippet = snippet;
|
|
|
|
- nodeData.propertyName = propertyName;
|
|
|
|
|
|
+ if ( builder.context.tempWrite !== false ) {
|
|
|
|
+
|
|
|
|
+ nodeData.snippet = snippet;
|
|
|
|
+ nodeData.propertyName = propertyName;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let snippet = propertyName;
|
|
|
|
+
|
|
|
|
+ if ( builder.needsColorSpaceToLinear( this.value ) ) {
|
|
|
|
+
|
|
|
|
+ snippet = colorSpaceToLinear( expression( snippet, nodeType ), this.value.colorSpace ).construct( builder ).build( builder, nodeType );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- return builder.format( propertyName, 'vec4', output );
|
|
|
|
|
|
+ return builder.format( snippet, 'vec4', output );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|