dungeon_crawler

annotate 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
rev   line source
nuclear@41 1 #ifndef RENDERER_DEFERRED_H_
nuclear@41 2 #define RENDERER_DEFERRED_H_
nuclear@41 3
nuclear@41 4 #include "renderer.h"
nuclear@41 5
nuclear@41 6 #define MRT_COUNT 3
nuclear@41 7
nuclear@41 8 class DeferredRenderer : public Renderer {
nuclear@60 9 protected:
nuclear@41 10 unsigned int fbo, rbuf_depth;
nuclear@41 11 unsigned int mrt_tex[MRT_COUNT];
nuclear@41 12 int tex_xsz, tex_ysz;
nuclear@41 13
nuclear@41 14 unsigned int mrt_prog;
nuclear@41 15 unsigned int deferred_omni, deferred_debug;
nuclear@41 16
nuclear@41 17 mutable unsigned int curr_prog;
nuclear@41 18
nuclear@60 19 int num_draw_bufs;
nuclear@60 20
nuclear@60 21 virtual bool create_fbo();
nuclear@41 22
nuclear@41 23 public:
nuclear@41 24 DeferredRenderer();
nuclear@60 25 virtual ~DeferredRenderer();
nuclear@41 26
nuclear@60 27 virtual bool init(int xsz, int ysz);
nuclear@41 28
nuclear@60 29 virtual int get_tangent_location() const;
nuclear@60 30 virtual unsigned int get_current_program() const;
nuclear@41 31
nuclear@60 32 virtual void resize(int xsz, int ysz);
nuclear@41 33
nuclear@60 34 virtual void render(const Level *level) const;
nuclear@60 35
nuclear@60 36 virtual void light_pass(const Level *level) const;
nuclear@41 37 };
nuclear@41 38
nuclear@41 39 #endif // RENDERER_DEFERRED_H_