This commit is contained in:
luboslenco
2025-03-03 20:22:58 +01:00
parent c8a667bfee
commit 26e56261b5
18 changed files with 124 additions and 768 deletions
+7 -78
View File
@@ -118,44 +118,13 @@ void kinc_g4_index_buffer_unlock(struct kinc_g5_index_buffer *buffer, int count)
#define KINC_G5_MAX_VERTEX_ELEMENTS 16
typedef enum kinc_g5_vertex_data {
KINC_G5_VERTEX_DATA_NONE = 0,
KINC_G5_VERTEX_DATA_F32_1X = 1,
KINC_G5_VERTEX_DATA_F32_2X = 2,
KINC_G5_VERTEX_DATA_F32_3X = 3,
KINC_G5_VERTEX_DATA_F32_4X = 4,
KINC_G5_VERTEX_DATA_F32_4X4 = 5,
KINC_G5_VERTEX_DATA_I8_1X = 6,
KINC_G5_VERTEX_DATA_U8_1X = 7,
KINC_G5_VERTEX_DATA_I8_1X_NORMALIZED = 8,
KINC_G5_VERTEX_DATA_U8_1X_NORMALIZED = 9,
KINC_G5_VERTEX_DATA_I8_2X = 10,
KINC_G5_VERTEX_DATA_U8_2X = 11,
KINC_G5_VERTEX_DATA_I8_2X_NORMALIZED = 12,
KINC_G5_VERTEX_DATA_U8_2X_NORMALIZED = 13,
KINC_G5_VERTEX_DATA_I8_4X = 14,
KINC_G5_VERTEX_DATA_U8_4X = 15,
KINC_G5_VERTEX_DATA_I8_4X_NORMALIZED = 16,
KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED = 17,
KINC_G5_VERTEX_DATA_I16_1X = 18,
KINC_G5_VERTEX_DATA_U16_1X = 19,
KINC_G5_VERTEX_DATA_I16_1X_NORMALIZED = 20,
KINC_G5_VERTEX_DATA_U16_1X_NORMALIZED = 21,
KINC_G5_VERTEX_DATA_I16_2X = 22,
KINC_G5_VERTEX_DATA_U16_2X = 23,
KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED = 24,
KINC_G5_VERTEX_DATA_U16_2X_NORMALIZED = 25,
KINC_G5_VERTEX_DATA_I16_4X = 26,
KINC_G5_VERTEX_DATA_U16_4X = 27,
KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED = 28,
KINC_G5_VERTEX_DATA_U16_4X_NORMALIZED = 29,
KINC_G5_VERTEX_DATA_I32_1X = 30,
KINC_G5_VERTEX_DATA_U32_1X = 31,
KINC_G5_VERTEX_DATA_I32_2X = 32,
KINC_G5_VERTEX_DATA_U32_2X = 33,
KINC_G5_VERTEX_DATA_I32_3X = 34,
KINC_G5_VERTEX_DATA_U32_3X = 35,
KINC_G5_VERTEX_DATA_I32_4X = 36,
KINC_G5_VERTEX_DATA_U32_4X = 37,
KINC_G5_VERTEX_DATA_F32_1X = 0,
KINC_G5_VERTEX_DATA_F32_2X = 1,
KINC_G5_VERTEX_DATA_F32_3X = 2,
KINC_G5_VERTEX_DATA_F32_4X = 3,
KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED = 4,
KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED = 5,
KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED = 6,
} kinc_g5_vertex_data_t;
typedef struct kinc_g5_vertex_element {
@@ -171,8 +140,6 @@ typedef struct kinc_g5_vertex_structure {
static inline int kinc_g5_vertex_data_size(kinc_g5_vertex_data_t data) {
switch (data) {
default:
case KINC_G5_VERTEX_DATA_NONE:
return 0;
case KINC_G5_VERTEX_DATA_F32_1X:
return 1 * 4;
case KINC_G5_VERTEX_DATA_F32_2X:
@@ -181,50 +148,12 @@ static inline int kinc_g5_vertex_data_size(kinc_g5_vertex_data_t data) {
return 3 * 4;
case KINC_G5_VERTEX_DATA_F32_4X:
return 4 * 4;
case KINC_G5_VERTEX_DATA_F32_4X4:
return 4 * 4 * 4;
case KINC_G5_VERTEX_DATA_I8_1X:
case KINC_G5_VERTEX_DATA_U8_1X:
case KINC_G5_VERTEX_DATA_I8_1X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U8_1X_NORMALIZED:
return 1 * 1;
case KINC_G5_VERTEX_DATA_I8_2X:
case KINC_G5_VERTEX_DATA_U8_2X:
case KINC_G5_VERTEX_DATA_I8_2X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U8_2X_NORMALIZED:
return 2 * 1;
case KINC_G5_VERTEX_DATA_I8_4X:
case KINC_G5_VERTEX_DATA_U8_4X:
case KINC_G5_VERTEX_DATA_I8_4X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U8_4X_NORMALIZED:
return 4 * 1;
case KINC_G5_VERTEX_DATA_I16_1X:
case KINC_G5_VERTEX_DATA_U16_1X:
case KINC_G5_VERTEX_DATA_I16_1X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U16_1X_NORMALIZED:
return 1 * 2;
case KINC_G5_VERTEX_DATA_I16_2X:
case KINC_G5_VERTEX_DATA_U16_2X:
case KINC_G5_VERTEX_DATA_I16_2X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U16_2X_NORMALIZED:
return 2 * 2;
case KINC_G5_VERTEX_DATA_I16_4X:
case KINC_G5_VERTEX_DATA_U16_4X:
case KINC_G5_VERTEX_DATA_I16_4X_NORMALIZED:
case KINC_G5_VERTEX_DATA_U16_4X_NORMALIZED:
return 4 * 2;
case KINC_G5_VERTEX_DATA_I32_1X:
case KINC_G5_VERTEX_DATA_U32_1X:
return 1 * 4;
case KINC_G5_VERTEX_DATA_I32_2X:
case KINC_G5_VERTEX_DATA_U32_2X:
return 2 * 4;
case KINC_G5_VERTEX_DATA_I32_3X:
case KINC_G5_VERTEX_DATA_U32_3X:
return 3 * 4;
case KINC_G5_VERTEX_DATA_I32_4X:
case KINC_G5_VERTEX_DATA_U32_4X:
return 4 * 4;
}
}