2 #include "meshbuilder.h"
3 #include "postprocessor.h"
8 const char fullscreen_vs_source[] =
9 "attribute vec4 vertex;\n"
10 "varying vec2 texcoord;\n"
13 " gl_Position = vertex;\n"
14 " texcoord = vertex.xy*0.5+0.5;\n"
23 void PostProcessor::render(Renderer &, const Texture2D &color, const Texture2D &depth)
28 Shader &PostProcessor::get_fullscreen_vertex_shader()
30 static VertexShader shader(fullscreen_vs_source);
34 const Mesh &PostProcessor::get_fullscreen_quad()
36 static const Mesh &mesh = create_fullscreen_quad();
40 const Mesh &PostProcessor::create_fullscreen_quad()
42 static Mesh mesh(VERTEX2);
43 MeshBuilder builder(mesh);
44 builder.begin(TRIANGLE_STRIP);
45 builder.vertex(-1, 1);
46 builder.vertex(-1, -1);
48 builder.vertex(1, -1);
54 PostProcessor::Template::Template():
59 PostProcessor::Template::Loader::Loader(Template &t):
60 DataFile::ObjectLoader<Template>(t)
62 add("size_divisor", &Template::size_divisor);