39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <kinc/graphics4/compute.h>
 | |
| #include <kinc/graphics4/texture.h>
 | |
| 
 | |
| #include <hl.h>
 | |
| 
 | |
| vbyte *hl_kinc_compute_create_shader(vbyte *data, int length) {
 | |
| 	kinc_g4_compute_shader *shader = (kinc_g4_compute_shader *)malloc(sizeof(kinc_g4_compute_shader));
 | |
| 	kinc_g4_compute_shader_init(shader, data, length);
 | |
| 	return (vbyte *)shader;
 | |
| }
 | |
| 
 | |
| void hl_kinc_compute_delete_shader(vbyte *shader) {
 | |
| 	kinc_g4_compute_shader *sh = (kinc_g4_compute_shader *)shader;
 | |
| 	kinc_g4_compute_shader_destroy(sh);
 | |
| 	free(sh);
 | |
| }
 | |
| 
 | |
| vbyte *hl_kinc_compute_get_constantlocation(vbyte *shader, vbyte *name) {
 | |
| 	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);
 | |
| 	return (vbyte *)location;
 | |
| }
 | |
| 
 | |
| vbyte *hl_kinc_compute_get_textureunit(vbyte *shader, vbyte *name) {
 | |
| 	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);
 | |
| 	return (vbyte *)unit;
 | |
| }
 | |
| 
 | |
| void hl_kinc_set_compute_shader(vbyte *shader) {
 | |
| 	kinc_g4_set_compute_shader((kinc_g4_compute_shader *)shader);
 | |
| }
 | |
| 
 | |
| void hl_kinc_compute(int x, int y, int z) {
 | |
| 	kinc_g4_compute(x, y, z);
 | |
| }
 |