Files
Gryphn/projects/apis/opengl/src/shaders/opengl_shader_module.c
2025-08-12 22:40:06 -04:00

20 lines
731 B
C

#include "opengl_shader_module.h"
#include "opengl_shader_compiler.h"
#include "stdlib.h"
gnReturnCode openglCreateShaderModule(gnShaderModule module, gnDevice device, gnShaderModuleInfo shaderModuleInfo) {
module->shaderModule = malloc(sizeof(gnPlatformShaderModule));
glCompilerInfo info = {
.code = shaderModuleInfo.code,
.wordCount = shaderModuleInfo.size / 4,
.entryPoint = gnToCString(shaderModuleInfo.entryPoint),
};
glCompiler compiler = glCreateCompiler(&info);
module->shaderModule->shader = glCompilerCompilerShader(compiler);
glDestroyCompiler(compiler);
return GN_SUCCESS;
}
void openglDestroyShaderModule(gnShaderModule module) {
free(module->shaderModule);
}