43
43
import com .jme3 .texture .Texture3D ;
44
44
import com .jme3 .texture .TextureArray ;
45
45
import com .jme3 .texture .TextureCubeMap ;
46
+ import com .jme3 .texture .TextureImage ;
46
47
47
48
public enum VarType {
48
-
49
+
49
50
Float ("float" , float .class , Float .class ),
50
51
Vector2 ("vec2" , Vector2f .class ),
51
52
Vector3 ("vec3" , Vector3f .class ),
@@ -56,7 +57,8 @@ public enum VarType {
56
57
Vector2Array (true , false , "vec2" , Vector2f [].class ),
57
58
Vector3Array (true , false , "vec3" , Vector3f [].class ),
58
59
Vector4Array (true , false , "vec4" , Vector4f [].class ),
59
-
60
+
61
+ Int ("int" , int .class , Integer .class ),
60
62
Boolean ("bool" , Boolean .class , boolean .class ),
61
63
62
64
Matrix3 (true , false , "mat3" , Matrix3f .class ),
@@ -70,12 +72,16 @@ public enum VarType {
70
72
Texture3D (false , true , "sampler3D" , Texture3D .class , Texture .class ),
71
73
TextureArray (false , true , "sampler2DArray|sampler2DArrayShadow" , TextureArray .class , Texture .class ),
72
74
TextureCubeMap (false , true , "samplerCube" , TextureCubeMap .class , Texture .class ),
73
- Int ("int" , int .class , Integer .class ),
75
+
76
+ Image2D (false , false , true , "image2D" , TextureImage .class ),
77
+ Image3D (false , false , true , "image3D" , TextureImage .class ),
78
+
74
79
UniformBufferObject (false , false , "custom" , BufferObject .class ),
75
80
ShaderStorageBufferObject (false , false , "custom" , BufferObject .class );
76
81
77
82
private boolean usesMultiData = false ;
78
83
private boolean textureType = false ;
84
+ private boolean imageType = false ;
79
85
private final String glslType ;
80
86
private Class <?>[] javaTypes ;
81
87
@@ -98,6 +104,11 @@ public enum VarType {
98
104
this .javaTypes = new Class <?>[0 ];
99
105
}
100
106
}
107
+
108
+ VarType (boolean multiData , boolean textureType , boolean imageType , String glslType , Class <?>... javaTypes ) {
109
+ this (multiData , textureType , glslType , javaTypes );
110
+ this .imageType = imageType ;
111
+ }
101
112
102
113
/**
103
114
* Check if the passed object is of a type mapped to this VarType
@@ -126,6 +137,10 @@ public Class<?>[] getJavaType() {
126
137
public boolean isTextureType () {
127
138
return textureType ;
128
139
}
140
+
141
+ public boolean isImageType () {
142
+ return imageType ;
143
+ }
129
144
130
145
public boolean usesMultiData () {
131
146
return usesMultiData ;
0 commit comments