dungeon_crawler

view prototype/src/renderer_deferred.h @ 60:aa86119e3295

added multipass deferred
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 25 Sep 2012 06:19:37 +0300
parents acfe0c0110fc
children fc2b3d06d07c
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 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 int num_draw_bufs;
21 virtual bool create_fbo();
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_