36 SETS_INDEX_MODEL_MATRICES = 0,
37 SETS_INDEX_CAMERA = 1,
38 SETS_INDEX_TEXTURES = 2,
39 SETS_INDEX_SAMPLER = 3,
40 SETS_INDEX_MATERIAL = 4,
42 SETS_INDEX_PANORAMA = 6,
53 static void UpdateDescriptor(
const SetsIndex index,
const int binding,
const void * data,
const size_t size,
const size_t offset = 0);
55#ifdef VENOM_EXTERNAL_PACKED_MODEL_MATRIX
56 static vcm::Mat4 * GetAllModelMatrixBuffer();
57 static vcm::Mat4 * GetModelMatrixBuffer();
58 static inline size_t GetAllModelMatrixBytesSize() {
return VENOM_MAX_ENTITIES *
sizeof(vcm::Mat4); }
59 static void ReleaseModelMatrixBuffer(
const vcm::Mat4 * mat);
60 static int GetModelMatrixBufferId(
const vcm::Mat4 * mat);
63 static int BindTexture();
64 static void UnbindTexture(
int id);
65 static void SetMaxTextures(uint32_t maxTextures);
66 static inline int GetMaxTextures() {
return __maxTextures; }
67 static bool UsingLargeBindlessTextures() {
return __maxTextures == VENOM_MAX_BINDLESS_TEXTURES; }
70 virtual void __UpdateDescriptor(
const SetsIndex index,
const int binding,
const void * data,
const size_t size,
const size_t offset = 0) = 0;
73 static int __maxTextures;