23 using DefineSet = ::std::set<::std::string>;
25 using MaterialVariationMap = ::std::map<::std::string, ::std::shared_ptr<::cg::RenderMaterialBase>>;
30 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::std::shared_ptr<::cg::RenderMaterialBase>>>
32 ::ll::TypedStorage<8, 32, ::cg::VariationMap> mVariationMap;
33 ::ll::TypedStorage<8, 32, ::std::string> mFullMaterialName;
34 ::ll::TypedStorage<8, 32, ::std::string> mVariantName;
35 ::ll::TypedStorage<8, 32, ::std::string> mMaterialIdentifier;
36 ::ll::TypedStorage<8, 16, ::std::set<::std::string>> mDefines;
37 ::ll::TypedStorage<2, 2, ::mce::RenderState> mStateMask;
38 ::ll::TypedStorage<8, 32, ::std::string> mShaderHeader;
39 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mVertexShader;
40 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mFragmentShader;
41 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mGeometryShader;
42 ::ll::TypedStorage<8, 24, ::SemVersion> mVersion;
43 ::ll::TypedStorage<1, 1, uchar> mRequiredTextures;
55 virtual void parseRuntimeStates(
::Json::Value const& root) = 0;
57 virtual void appendShaderPathForGfxAPI() = 0;
60 virtual ::std::string buildHeader(::std::set<::std::string>
const&);
62 virtual ::std::string buildHeader(::std::set<::std::string>
const& defines);
87 MCAPI
bool parseVariantWithInheritance(
89 ::std::string_view key,
90 ::mce::InheritanceType inheritanceType
117 MCAPI ::std::string $buildHeader(::std::set<::std::string>
const& defines);