create graphics pipelines

This commit is contained in:
Gregory Wells
2025-08-18 21:30:54 -04:00
parent 4477c41dc4
commit 10cd374731
3 changed files with 29 additions and 2 deletions

View File

@@ -0,0 +1,16 @@
#include "opengl_graphics_pipeline.h"
#include "shaders/opengl_shader_module.h"
gnReturnCode openglCreateGraphicsPipeline(gnGraphicsPipeline graphicsPipeline, gnOutputDevice device, gnGraphicsPipelineInfo info) {
graphicsPipeline->graphicsPipeline = malloc(sizeof(gnPlatformGraphicsPipeline));
graphicsPipeline->graphicsPipeline->program = glCreateProgram();
for (int i = 0; i < info.shaderModuleCount; i++) {
glAttachShader(graphicsPipeline->graphicsPipeline->program, info.shaderModules[i]->shaderModule->id);
}
glLinkProgram(graphicsPipeline->graphicsPipeline->program);
return GN_SUCCESS;
}
void openglDestroyGraphicsPipeline(gnGraphicsPipeline graphicsPipeline) {
glDeleteProgram(graphicsPipeline->graphicsPipeline->program);
free(graphicsPipeline->graphicsPipeline);
}