metaforce/Runtime/Graphics/Shaders/CMapSurfaceShader.hpp

39 lines
1.0 KiB
C++
Raw Normal View History

2017-04-22 06:42:32 +00:00
#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<boo::IGraphicsBufferD> m_uniBuf;
boo::ObjToken<boo::IGraphicsBufferS> m_vbo;
boo::ObjToken<boo::IGraphicsBufferS> m_ibo;
boo::ObjToken<boo::IShaderDataBinding> m_dataBind;
2017-04-22 06:42:32 +00:00
public:
CMapSurfaceShader(boo::IGraphicsDataFactory::Context& ctx, const boo::ObjToken<boo::IGraphicsBufferS>& vbo,
const boo::ObjToken<boo::IGraphicsBufferS>& ibo);
2017-04-22 06:42:32 +00:00
void draw(const zeus::CColor& color, u32 start, u32 count);
using _CLS = CMapSurfaceShader;
#include "TShaderDecl.hpp"
};
}
#endif // __URDE_CMAPSURFACESHADER_HPP__