#ifndef __URDE_CMAPSURFACESHADER_HPP__ #define __URDE_CMAPSURFACESHADER_HPP__ #include "TShader.hpp" namespace urde { class CMapSurfaceShader { friend struct CMapSurfaceShaderGLDataBindingFactory; friend struct CMapSurfaceShaderVulkanDataBindingFactory; friend struct CMapSurfaceShaderMetalDataBindingFactory; friend struct CMapSurfaceShaderD3DDataBindingFactory; struct Uniform { zeus::CMatrix4f mtx; zeus::CColor color; }; boo::ObjToken m_uniBuf; boo::ObjToken m_vbo; boo::ObjToken m_ibo; boo::ObjToken m_dataBind; public: CMapSurfaceShader(boo::IGraphicsDataFactory::Context& ctx, const boo::ObjToken& vbo, const boo::ObjToken& ibo); void draw(const zeus::CColor& color, u32 start, u32 count); using _CLS = CMapSurfaceShader; #include "TShaderDecl.hpp" }; } #endif // __URDE_CMAPSURFACESHADER_HPP__