39 lines
1.4 KiB
C
Raw Normal View History

2025-01-31 20:05:18 +00:00
#include <kinc/graphics4/compute.h>
2025-01-22 16:18:30 +01:00
#include <kinc/graphics4/texture.h>
#include <hl.h>
vbyte *hl_kinc_g4_compute_create_shader(vbyte *data, int length) {
2025-01-31 20:35:00 +00:00
kinc_g4_compute_shader *shader = (kinc_g4_compute_shader *)malloc(sizeof(kinc_g4_compute_shader));
kinc_g4_compute_shader_init(shader, data, length);
2025-01-22 16:18:30 +01:00
return (vbyte *)shader;
}
void hl_kinc_g4_compute_delete_shader(vbyte *shader) {
2025-01-31 20:35:00 +00:00
kinc_g4_compute_shader *sh = (kinc_g4_compute_shader *)shader;
kinc_g4_compute_shader_destroy(sh);
2025-01-22 16:18:30 +01:00
free(sh);
}
vbyte *hl_kinc_g4_compute_get_constantlocation(vbyte *shader, vbyte *name) {
2025-01-31 20:35:00 +00:00
kinc_g4_compute_shader *sh = (kinc_g4_compute_shader *)shader;
kinc_g4_constant_location_t *location = (kinc_g4_constant_location_t *)malloc(sizeof(kinc_g4_constant_location_t));
*location = kinc_g4_compute_shader_get_constant_location(sh, (char *)name), sizeof(kinc_g4_constant_location_t);
2025-01-22 16:18:30 +01:00
return (vbyte *)location;
}
vbyte *hl_kinc_g4_compute_get_textureunit(vbyte *shader, vbyte *name) {
2025-01-31 20:35:00 +00:00
kinc_g4_compute_shader *sh = (kinc_g4_compute_shader *)shader;
kinc_g4_texture_unit_t *unit = (kinc_g4_texture_unit_t *)malloc(sizeof(kinc_g4_texture_unit_t));
*unit = kinc_g4_compute_shader_get_texture_unit(sh, (char *)name), sizeof(kinc_g4_texture_unit_t);
2025-01-22 16:18:30 +01:00
return (vbyte *)unit;
}
void hl_kinc_g4_set_compute_shader(vbyte *shader) {
kinc_g4_set_compute_shader((kinc_g4_compute_shader *)shader);
2025-01-22 16:18:30 +01:00
}
void hl_kinc_g4_compute(int x, int y, int z) {
kinc_g4_compute(x, y, z);
2025-01-22 16:18:30 +01:00
}