shithub: tinygl

ref: d9a2bcf79e6a92ec19b4b6a5535961e8df571f54
dir: /src/zpostprocess.c/

View raw version
#include "../include/GL/gl.h"
#include "../include/zbuffer.h"
#include "zgl.h"

void glPostProcess(GLuint (*postprocess)(GLint x, GLint y, GLuint pixel, GLushort z)) {
	GLint i, j;
	GLContext* c = gl_get_context();
#pragma omp parallel for collapse(2)
	for (j = 0; j < c->zb->ysize; j++)
		for (i = 0; i < c->zb->xsize; i++)
			c->zb->pbuf[i + j * (c->zb->xsize)] = postprocess(i, j, c->zb->pbuf[i + j * (c->zb->xsize)], c->zb->zbuf[i + j * (c->zb->xsize)]);
}