rgba textures and binding the decriptor sets

This commit is contained in:
Gregory Wells
2025-06-14 22:08:29 -04:00
parent 012e842e1d
commit 7071d01835
10 changed files with 44 additions and 7 deletions

View File

@@ -91,6 +91,7 @@ typedef struct gnDeviceFunctions_t {
void (*_gnDestroyUniformPool)(gnUniformPool pool);
void (*_gnUpdateBufferUniform)(gnUniform uniform, gnBufferUniformInfo* bufferInfo);
void (*_gnUpdateImageUniform)(gnUniform uniform, gnImageUniformInfo* imageInfo);
gnReturnCode (*_gnCreateTexture)(gnTexture texture, gnDevice device, const gnTextureInfo info);
void (*_gnTextureData)(gnTextureHandle texture, void* pixelData);

View File

@@ -93,6 +93,7 @@ void gnLoadDeviceFunctions(struct gnDynamicLibrary_t* lib, struct gnDeviceFuncti
gnLoadDLLFunction(lib, functions->_gnUniformPoolAllocateUniforms, "gnUniformPoolAllocateUniformsFn");
gnLoadDLLFunction(lib, functions->_gnDestroyUniformPool, "gnDestroyUniformPoolFn");
gnLoadDLLFunction(lib, functions->_gnUpdateBufferUniform, "gnUpdateBufferUniformFn");
gnLoadDLLFunction(lib, functions->_gnUpdateImageUniform, "gnUpdateImageUniformFn");
gnLoadDLLFunction(lib, functions->_gnCreateTexture, "gnCreateTextureFn");
gnLoadDLLFunction(lib, functions->_gnTextureData, "gnTextureDataFn");
gnLoadDLLFunction(lib, functions->_gnDestroyTexture, "gnDestroyTextureFn");

View File

@@ -6,3 +6,7 @@
void gnUpdateBufferUniform(gnUniform uniform, gnBufferUniformInfo bufferInfo) {
uniform->pool->device->deviceFunctions->_gnUpdateBufferUniform(uniform, &bufferInfo);
}
void gnUpdateImageUniform(gnUniform uniform, gnImageUniformInfo imageInfo) {
uniform->pool->device->deviceFunctions->_gnUpdateImageUniform(uniform, &imageInfo);
}

View File

@@ -11,6 +11,11 @@ typedef struct gnBufferUniformInfo {
size_t size;
} gnBufferUniformInfo;
typedef struct gnImageUniformInfo {
uint32_t binding;
gnTexture texture;
} gnImageUniformInfo;
#ifdef GN_REVEAL_IMPL
struct gnUniform_t {
struct gnPlatformUniform_t* uniform;
@@ -20,3 +25,4 @@ struct gnUniform_t {
GN_ARRAY_LIST(gnUniform)
void gnUpdateBufferUniform(gnUniform uniform, gnBufferUniformInfo bufferInfo);
void gnUpdateImageUniform(gnUniform uniform, gnImageUniformInfo imageInfo);

View File

@@ -4,6 +4,7 @@
typedef enum gnUniformType {
GN_UNIFORM_BUFFER_DESCRIPTOR,
GN_IMAGE_DESCRIPTOR,
GN_UNIFORM_TYPE_MAX
} gnUniformType;