package kha.compute; import kha.Blob; class Shader { public var _shader: Pointer; public function new(sources: Array, files: Array) { _shader = kinc_compute_create_shader(sources[0].bytes.getData(), sources[0].bytes.getData().length); } public function delete(): Void { kinc_compute_delete_shader(_shader); } public function getConstantLocation(name: String): ConstantLocation { return new ConstantLocation(kinc_compute_get_constantlocation(_shader, StringHelper.convert(name))); } public function getTextureUnit(name: String): TextureUnit { return new TextureUnit(kinc_compute_get_textureunit(_shader, StringHelper.convert(name))); } @:hlNative("std", "kinc_compute_create_shader") static function kinc_compute_create_shader(data: hl.Bytes, length: Int): Pointer { return null; } @:hlNative("std", "kinc_compute_delete_shader") static function kinc_compute_delete_shader(shader: Pointer): Void {} @:hlNative("std", "kinc_compute_get_constantlocation") static function kinc_compute_get_constantlocation(shader: Pointer, name: hl.Bytes): Pointer { return null; } @:hlNative("std", "kinc_compute_get_textureunit") static function kinc_compute_get_textureunit(shader: Pointer, name: hl.Bytes): Pointer { return null; } }