Widgets: Reuse materials to improve performance
This commit is contained in:
@@ -15,6 +15,9 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class Material;
|
||||
class MaterialPass;
|
||||
|
||||
class NAZARA_WIDGETS_API Widgets : public ModuleBase<Widgets>
|
||||
{
|
||||
friend ModuleBase;
|
||||
@@ -27,9 +30,22 @@ namespace Nz
|
||||
Widgets(Config config);
|
||||
~Widgets() = default;
|
||||
|
||||
inline const std::shared_ptr<Material>& GetOpaqueMaterial() const;
|
||||
inline const std::shared_ptr<MaterialPass>& GetOpaqueMaterialPass() const;
|
||||
|
||||
inline const std::shared_ptr<Material>& GetTransparentMaterial() const;
|
||||
inline const std::shared_ptr<MaterialPass>& GetTransparentMaterialPass() const;
|
||||
|
||||
struct Config {};
|
||||
|
||||
private:
|
||||
void CreateDefaultMaterials();
|
||||
|
||||
std::shared_ptr<Material> m_opaqueMaterial;
|
||||
std::shared_ptr<Material> m_transparentMaterial;
|
||||
std::shared_ptr<MaterialPass> m_opaqueMaterialPass;
|
||||
std::shared_ptr<MaterialPass> m_transparentMaterialPass;
|
||||
|
||||
static Widgets* s_instance;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user