forked from mrdoob/three.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUniformGroupNode.js
More file actions
59 lines (35 loc) · 1.07 KB
/
UniformGroupNode.js
File metadata and controls
59 lines (35 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import Node from './Node.js';
class UniformGroupNode extends Node {
static get type() {
return 'UniformGroupNode';
}
constructor( name, shared = false, order = 1 ) {
super( 'string' );
this.name = name;
this.version = 0;
this.shared = shared;
this.order = order;
this.isUniformGroup = true;
}
set needsUpdate( value ) {
if ( value === true ) this.version ++;
}
serialize( data ) {
super.serialize( data );
data.name = this.name;
data.version = this.version;
data.shared = this.shared;
}
deserialize( data ) {
super.deserialize( data );
this.name = data.name;
this.version = data.version;
this.shared = data.shared;
}
}
export default UniformGroupNode;
export const uniformGroup = ( name ) => new UniformGroupNode( name );
export const sharedUniformGroup = ( name, order = 0 ) => new UniformGroupNode( name, true, order );
export const frameGroup = /*@__PURE__*/ sharedUniformGroup( 'frame' );
export const renderGroup = /*@__PURE__*/ sharedUniformGroup( 'render' );
export const objectGroup = /*@__PURE__*/ uniformGroup( 'object' );