|
@@ -220,7 +220,7 @@ export const label = ( node, name ) => {
|
|
|
|
|
|
export const temp = ( node ) => nodeObject( new VarNode( nodeObject( node ) ) );
|
|
export const temp = ( node ) => nodeObject( new VarNode( nodeObject( node ) ) );
|
|
|
|
|
|
-const ConvertType = function ( nodeClass, type, valueClass = null, valueComponents = 1 ) {
|
|
|
|
|
|
+const ConvertType = function ( nodeClass, type, valueClass = null, valueComponents = 1, convertAfter = false ) {
|
|
|
|
|
|
return ( ...params ) => {
|
|
return ( ...params ) => {
|
|
|
|
|
|
@@ -244,7 +244,9 @@ const ConvertType = function ( nodeClass, type, valueClass = null, valueComponen
|
|
|
|
|
|
const val = ( ( valueClass === null ) || ( params[ 0 ] instanceof valueClass ) ) ? params[ 0 ] : new valueClass().set( ...params );
|
|
const val = ( ( valueClass === null ) || ( params[ 0 ] instanceof valueClass ) ) ? params[ 0 ] : new valueClass().set( ...params );
|
|
|
|
|
|
- return nodeObject( new nodeClass( val ).setConst( true ) );
|
|
|
|
|
|
+ const node = nodeObject( new nodeClass( val ).setConst( true ) );
|
|
|
|
+
|
|
|
|
+ return convertAfter === true ? nodeObject( new ConvertNode( node, type ) ) : node;
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
@@ -257,11 +259,29 @@ export const bool = new ConvertType( BoolNode, 'bool' );
|
|
export const color = new ConvertType( ColorNode, 'color', Color );
|
|
export const color = new ConvertType( ColorNode, 'color', Color );
|
|
|
|
|
|
export const vec2 = new ConvertType( Vector2Node, 'vec2', Vector2, 2 );
|
|
export const vec2 = new ConvertType( Vector2Node, 'vec2', Vector2, 2 );
|
|
|
|
+export const ivec2 = new ConvertType( Vector2Node, 'ivec2', Vector2, 2, true );
|
|
|
|
+export const uvec2 = new ConvertType( Vector2Node, 'uvec2', Vector2, 2, true );
|
|
|
|
+export const bvec2 = new ConvertType( Vector2Node, 'bvec2', Vector2, 2, true );
|
|
|
|
+
|
|
export const vec3 = new ConvertType( Vector3Node, 'vec3', Vector3, 3 );
|
|
export const vec3 = new ConvertType( Vector3Node, 'vec3', Vector3, 3 );
|
|
|
|
+export const ivec3 = new ConvertType( Vector3Node, 'ivec3', Vector3, 3, true );
|
|
|
|
+export const uvec3 = new ConvertType( Vector3Node, 'uvec3', Vector3, 3, true );
|
|
|
|
+export const bvec3 = new ConvertType( Vector3Node, 'bvec3', Vector3, 3, true );
|
|
|
|
+
|
|
export const vec4 = new ConvertType( Vector4Node, 'vec4', Vector4, 4 );
|
|
export const vec4 = new ConvertType( Vector4Node, 'vec4', Vector4, 4 );
|
|
|
|
+export const ivec4 = new ConvertType( Vector4Node, 'ivec4', Vector4, 4, true );
|
|
|
|
+export const uvec4 = new ConvertType( Vector4Node, 'uvec4', Vector4, 4, true );
|
|
|
|
+export const bvec4 = new ConvertType( Vector4Node, 'bvec4', Vector4, 4, true );
|
|
|
|
|
|
export const mat3 = new ConvertType( Matrix3Node, 'mat3', Matrix3 );
|
|
export const mat3 = new ConvertType( Matrix3Node, 'mat3', Matrix3 );
|
|
|
|
+export const imat3 = new ConvertType( Matrix3Node, 'imat3', Matrix3, 1, true );
|
|
|
|
+export const umat3 = new ConvertType( Matrix3Node, 'umat3', Matrix3, 1, true );
|
|
|
|
+export const bmat3 = new ConvertType( Matrix3Node, 'bmat3', Matrix3, 1, true );
|
|
|
|
+
|
|
export const mat4 = new ConvertType( Matrix4Node, 'mat4', Matrix4 );
|
|
export const mat4 = new ConvertType( Matrix4Node, 'mat4', Matrix4 );
|
|
|
|
+export const imat4 = new ConvertType( Matrix4Node, 'imat4', Matrix4, 1, true );
|
|
|
|
+export const umat4 = new ConvertType( Matrix4Node, 'umat4', Matrix4, 1, true );
|
|
|
|
+export const bmat4 = new ConvertType( Matrix4Node, 'bmat4', Matrix4, 1, true );
|
|
|
|
|
|
export const join = ( ...params ) => {
|
|
export const join = ( ...params ) => {
|
|
|
|
|