|
@@ -35,6 +35,7 @@ enum abstract InputFormat(Int) {
|
|
|
public var DVec2 = 2;
|
|
|
public var DVec3 = 3;
|
|
|
public var DVec4 = 4;
|
|
|
+ public var DMat4 = 16;
|
|
|
public var DBytes4 = 9;
|
|
|
|
|
|
inline function new(v) {
|
|
@@ -55,6 +56,7 @@ enum abstract InputFormat(Int) {
|
|
|
case DVec2: "DVec2";
|
|
|
case DVec3: "DVec3";
|
|
|
case DVec4: "DVec4";
|
|
|
+ case DMat4: "DMat4";
|
|
|
case DBytes4: "DBytes4";
|
|
|
}
|
|
|
}
|
|
@@ -68,6 +70,7 @@ enum abstract InputFormat(Int) {
|
|
|
case TVec(2, VFloat): DVec2;
|
|
|
case TVec(3, VFloat): DVec3;
|
|
|
case TVec(4, VFloat): DVec4;
|
|
|
+ case TMat4 : DMat4;
|
|
|
case TBytes(4): DBytes4;
|
|
|
case TFloat: DFloat;
|
|
|
default: throw "Unsupported buffer type " + t;
|
|
@@ -320,6 +323,7 @@ class BufferFormat {
|
|
|
public static var POS3D_NORMAL_UV(get,null) : BufferFormat;
|
|
|
public static var POS3D_NORMAL_UV_RGBA(get,null) : BufferFormat;
|
|
|
public static var VEC4_DATA(get,null) : BufferFormat;
|
|
|
+ public static var MAT4_DATA(get,null) : BufferFormat;
|
|
|
|
|
|
public static var INDEX16(get,null) : BufferFormat;
|
|
|
public static var INDEX32(get,null) : BufferFormat;
|
|
@@ -358,6 +362,11 @@ class BufferFormat {
|
|
|
return VEC4_DATA;
|
|
|
}
|
|
|
|
|
|
+ static function get_MAT4_DATA() {
|
|
|
+ if( MAT4_DATA == null ) MAT4_DATA = hxd.BufferFormat.make([{ name : "data", type : DMat4 }]);
|
|
|
+ return MAT4_DATA;
|
|
|
+ }
|
|
|
+
|
|
|
static function get_INDEX16() {
|
|
|
if( INDEX16 == null ) {
|
|
|
INDEX16 = hxd.BufferFormat.make([{ name : "index", type : DFloat, precision: F16 }]);
|