2018-09-23 19:29:44 -06:00

43 lines
1.3 KiB
C

#include <stdio.h>
#include "./../../wgpu-bindings/wgpu.h"
WGPUByteArray read_file(const char *name)
{
FILE *file = fopen(name, "rb");
fseek(file, 0, SEEK_END);
long length = ftell(file);
unsigned char *bytes = malloc(length);
fseek(file, 0, SEEK_SET);
fread(bytes, 1, length, file);
fclose(file);
WGPUByteArray ret = {
.bytes = bytes,
.length = length,
};
return ret;
}
int main()
{
WGPUInstanceId instance = wgpu_create_instance();
WGPUAdapterDescriptor adapter_desc = {
.power_preference = WGPUPowerPreference_LowPower,
};
WGPUAdapterId adapter = wgpu_instance_get_adapter(instance, adapter_desc);
WGPUDeviceDescriptor device_desc = {
.extensions = {
.anisotropic_filtering = false,
},
};
WGPUDeviceId device = wgpu_adapter_create_device(adapter, device_desc);
WGPUShaderModuleDescriptor vs_desc = {
.code = read_file("./../data/hello_triangle.vert.spv"),
};
WGPUShaderModuleId _vs = wgpu_device_create_shader_module(device, vs_desc);
WGPUShaderModuleDescriptor fs_desc = {
.code = read_file("./../data/hello_triangle.frag.spv"),
};
WGPUShaderModuleId _fs = wgpu_device_create_shader_module(device, fs_desc);
return 0;
}