COGLES2ParallaxMapRenderer.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright (C) 2013 Patryk Nadrowski
  2. // Heavily based on the OpenGL driver implemented by Nikolaus Gebhardt
  3. // OpenGL ES driver implemented by Christian Stehno and first OpenGL ES 2.0
  4. // driver implemented by Amundis.
  5. // This file is part of the "Irrlicht Engine".
  6. // For conditions of distribution and use, see copyright notice in Irrlicht.h
  7. #ifndef __C_OGLES2_PARALLAX_MAP_RENDERER_H_INCLUDED__
  8. #define __C_OGLES2_PARALLAX_MAP_RENDERER_H_INCLUDED__
  9. #include "IrrCompileConfig.h"
  10. #ifdef _IRR_COMPILE_WITH_OGLES2_
  11. #include "COGLES2MaterialRenderer.h"
  12. namespace irr
  13. {
  14. namespace video
  15. {
  16. //! Class for parallax mapping in OpenGL ES 2.0
  17. class COGLES2ParallaxMapRenderer : public COGLES2MaterialRenderer
  18. {
  19. public:
  20. //! Constructor
  21. COGLES2ParallaxMapRenderer(const c8* vertexShaderProgram,
  22. const c8* pixelShaderProgram, E_MATERIAL_TYPE baseMaterial,
  23. COGLES2Driver* driver);
  24. //! Destructor
  25. ~COGLES2ParallaxMapRenderer();
  26. virtual void OnSetMaterial(const SMaterial& material, const SMaterial& lastMaterial,
  27. bool resetAllRenderstates, IMaterialRendererServices* services);
  28. virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype);
  29. protected:
  30. COGLES2MaterialRenderer* SharedRenderer;
  31. };
  32. } // end namespace video
  33. } // end namespace irr
  34. #endif
  35. #endif