goat3dgfx
annotate src/rtarg.h @ 27:be9754def417
added missing post-build copy event in the release configuration
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 27 Feb 2014 02:19:16 +0200 |
parents | 1873dfd13f2d |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef RTARG_H_ |
nuclear@0 | 2 #define RTARG_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include "vmath/vmath.h" |
nuclear@0 | 5 #include "opengl.h" |
nuclear@0 | 6 |
nuclear@15 | 7 namespace goatgfx { |
nuclear@15 | 8 |
nuclear@0 | 9 class Texture; |
nuclear@0 | 10 |
nuclear@0 | 11 class RenderTarget { |
nuclear@0 | 12 private: |
nuclear@0 | 13 int width, height; |
nuclear@0 | 14 |
nuclear@0 | 15 unsigned int fbo; |
nuclear@0 | 16 Texture *color_tex; |
nuclear@0 | 17 unsigned int tex_targ; |
nuclear@0 | 18 int tex_face; |
nuclear@0 | 19 unsigned int rbuf_zstencil; |
nuclear@0 | 20 |
nuclear@0 | 21 public: |
nuclear@0 | 22 RenderTarget(); |
nuclear@0 | 23 ~RenderTarget(); |
nuclear@0 | 24 |
nuclear@0 | 25 bool create(unsigned int fmt = GL_RGBA); |
nuclear@0 | 26 bool create(int width, int height, unsigned int fmt = GL_RGBA); |
nuclear@0 | 27 bool create(Texture *tex, int face = 0); |
nuclear@0 | 28 |
nuclear@0 | 29 void cleanup(); |
nuclear@0 | 30 |
nuclear@0 | 31 bool resize(int width, int height); |
nuclear@0 | 32 |
nuclear@0 | 33 int get_width() const; |
nuclear@0 | 34 int get_height() const; |
nuclear@0 | 35 |
nuclear@0 | 36 Texture *get_texture() const; |
nuclear@0 | 37 |
nuclear@0 | 38 /** calculates a texture matrix to map the full texture space |
nuclear@0 | 39 * onto the part of the texture occupied by the render target |
nuclear@0 | 40 */ |
nuclear@0 | 41 Matrix4x4 get_texture_matrix() const; |
nuclear@0 | 42 |
nuclear@0 | 43 bool check() const; |
nuclear@0 | 44 void bind() const; |
nuclear@0 | 45 }; |
nuclear@0 | 46 |
nuclear@0 | 47 void set_render_target(const RenderTarget *rtarg); |
nuclear@0 | 48 |
nuclear@0 | 49 int next_pow2(int x); |
nuclear@0 | 50 |
nuclear@15 | 51 } // namespace goatgfx |
nuclear@15 | 52 |
nuclear@0 | 53 #endif // RTARG_H_ |