dungeon_crawler

view prototype/src/renderer_deferred.h @ 72:a27528035e20

- re-organized the renderer classes a bit wrt final render-target - implemented identity color-grading palette for now - broke particle systems.... - removed multipass renderer
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 19 Oct 2012 02:45:57 +0300
parents fc2b3d06d07c
children
line source
1 #ifndef RENDERER_DEFERRED_H_
2 #define RENDERER_DEFERRED_H_
4 #include "renderer.h"
6 #define MRT_COUNT 3
8 class DeferredRenderer : public Renderer {
9 protected:
10 // render targets
11 unsigned int mrt_tex[MRT_COUNT];
13 // shaders
14 unsigned int mrt_prog;
15 unsigned int deferred_omni, deferred_debug;
17 mutable unsigned int curr_prog;
19 int num_draw_bufs;
21 virtual bool create_rtarg();
23 public:
24 DeferredRenderer();
25 virtual ~DeferredRenderer();
27 virtual bool init(int xsz, int ysz);
29 virtual int get_tangent_location() const;
30 virtual unsigned int get_current_program() const;
32 virtual void resize(int xsz, int ysz);
34 virtual void render(const Level *level) const;
36 virtual void light_pass(const Level *level) const;
37 };
39 #endif // RENDERER_DEFERRED_H_