#include "v4k.h" int main() { // 75% sized, MSAAx2 window_create(50, WINDOW_SQUARE); window_title(__FILE__); unsigned TEX_WIDTH = 1000; unsigned comp = compute(vfs_read("shaders/compute-test.glsl")); texture_t tex = texture_create(TEX_WIDTH, TEX_WIDTH, 4, 0, TEXTURE_LINEAR|TEXTURE_FLOAT); shader_bind(comp); shader_image(tex, 0, 0, 0, BUFFER_READ); struct { float f; } data; unsigned buf = ssbo_create(&data, sizeof(data), STREAM_DRAW); while ( window_swap() && !input_down(KEY_ESC) ){ if (input(KEY_F5)) window_reload(); shader_bind(comp); data.f = (float)window_time(); ssbo_bind(buf, 1); ssbo_update(0, sizeof(data), &data); compute_dispatch(TEX_WIDTH/10, TEX_WIDTH/10, 1); write_barrier_image(); fullscreen_quad_rgb(tex, 2.2); } return 0; }