Guest User

Untitled

a guest
Jul 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. private :
  2.  
  3. friend class RenderTarget;
  4.  
  5. ////////////////////////////////////////////////////////////
  6. /// Draw the object into the specified window
  7. ///
  8. /// param Target : Target into which render the object
  9. ///
  10. ////////////////////////////////////////////////////////////
  11. void Draw(RenderTarget& Target) const;
  12.  
  13. ////////////////////////////////////////////////////////////
  14. /// Render the specific geometry of the object
  15. ///
  16. /// param Target : Target into which render the object
  17. ///
  18. ////////////////////////////////////////////////////////////
  19. virtual void Render(RenderTarget& Target) const = 0;
  20.  
  21. class MyDrawable : public sf::Drawable {
  22.  
  23. private:
  24.  
  25. virtual void Render(RenderTarget& target) const {
  26. // Do some rendering of whatever...
  27. target.Draw(mySubSprite);
  28. }
  29.  
  30. sf::Sprite mySubSprite;
  31.  
  32. };
  33.  
  34. class MyDrawable : public sf::Drawable
  35. {
  36. public :
  37.  
  38. ...
  39.  
  40. private :
  41.  
  42. virtual void Render(sf::RenderTarget& target, sf::Renderer& renderer) const
  43. {
  44. // Low-level geometry rendering
  45. renderer.SetTexture(&myTexture);
  46. renderer.Begin(sf::Renderer::QuadList);
  47. renderer.AddVertex(...);
  48. renderer.AddVertex(...);
  49. renderer.AddVertex(...);
  50. renderer.AddVertex(...);
  51. renderer.End();
  52.  
  53. // High-level drawable rendering
  54. target.Draw(mySubSprite);
  55. }
  56.  
  57. sf::Image myTexture;
  58. sf::Sprite mySubSprite;
  59. };
Add Comment
Please, Sign In to add comment