dungeon_crawler

annotate 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
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@41 9 private:
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@41 19 bool create_fbo();
nuclear@41 20
nuclear@41 21 public:
nuclear@41 22 DeferredRenderer();
nuclear@41 23 ~DeferredRenderer();
nuclear@41 24
nuclear@41 25 bool init(int xsz, int ysz);
nuclear@41 26
nuclear@41 27 int get_tangent_location() const;
nuclear@41 28 unsigned int get_current_program() const;
nuclear@41 29
nuclear@41 30 void resize(int xsz, int ysz);
nuclear@41 31
nuclear@41 32 void render(const Level *level) const;
nuclear@41 33 };
nuclear@41 34
nuclear@41 35 #endif // RENDERER_DEFERRED_H_