dungeon_crawler

view prototype/src/renderer_deferred.h @ 41:acfe0c0110fc

- cleaned up the renderer - implemented fallback (non-deferred renderer)
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 30 Aug 2012 05:35:00 +0300
parents
children aa86119e3295
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 private:
10 unsigned int fbo, rbuf_depth;
11 unsigned int mrt_tex[MRT_COUNT];
12 int tex_xsz, tex_ysz;
14 unsigned int mrt_prog;
15 unsigned int deferred_omni, deferred_debug;
17 mutable unsigned int curr_prog;
19 bool create_fbo();
21 public:
22 DeferredRenderer();
23 ~DeferredRenderer();
25 bool init(int xsz, int ysz);
27 int get_tangent_location() const;
28 unsigned int get_current_program() const;
30 void resize(int xsz, int ysz);
32 void render(const Level *level) const;
33 };
35 #endif // RENDERER_DEFERRED_H_