#pragma once #include "Graphics/CGraphics.hpp" #include "boo/graphicsdev/IGraphicsDataFactory.hpp" namespace urde { class CParticleSwoosh; class CParticleSwooshShaders { public: enum class EShaderClass { Tex, NoTex }; struct Vert { zeus::CVector3f m_pos; zeus::CVector2f m_uv; zeus::CColor m_color; }; private: static boo::ObjToken m_texZWrite; static boo::ObjToken m_texNoZWrite; static boo::ObjToken m_texAdditiveZWrite; static boo::ObjToken m_texAdditiveNoZWrite; static boo::ObjToken m_noTexZWrite; static boo::ObjToken m_noTexNoZWrite; static boo::ObjToken m_noTexAdditiveZWrite; static boo::ObjToken m_noTexAdditiveNoZWrite; public: static void Initialize(); static void Shutdown(); static EShaderClass GetShaderClass(CParticleSwoosh& gen); static void BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CParticleSwoosh& gen); }; }