You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

57 line
1.0 KiB

  1. //
  2. // Neercs
  3. //
  4. #pragma once
  5. class Render : public WorldEntity
  6. {
  7. public:
  8. Render(caca_canvas_t *caca);
  9. virtual ~Render();
  10. char const *GetName() { return "<title>"; }
  11. protected:
  12. virtual void TickGame(float seconds);
  13. virtual void TickDraw(float seconds, Scene &scene);
  14. void Draw2D();
  15. void Draw3D();
  16. private:
  17. int InitDrawResources();
  18. void ShaderSimple(Framebuffer *fbo_output, int n);
  19. void TraceQuad();
  20. void Pause();
  21. void Shader();
  22. void InitShaderVar();
  23. void UpdateVar();
  24. void UpdateSize();
  25. caca_canvas_t *m_cv_screen, *m_cv_setup;
  26. class TextRender *m_txt_screen, *m_txt_setup;
  27. VertexDeclaration *m_vdecl;
  28. VertexBuffer *m_vbo;
  29. Entity *m_fps_debug;
  30. struct
  31. {
  32. Framebuffer *back, *screen, *front, *buffer,
  33. *blur_h, *blur_v, *tmp;
  34. }
  35. m_fbos;
  36. bool m_ready;
  37. bool m_pause;
  38. struct
  39. {
  40. bool shader, remanence, glow, blur, postfx,
  41. copper, color, noise, mirror, radial;
  42. }
  43. m_flags;
  44. };