// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "MaterialShader.h" /// /// Represents material that can be used to render particles. /// class VolumeParticleMaterialShader : public MaterialShader { private: GPUPipelineState* _psVolumetricFog = nullptr; public: /// /// Init /// /// Material resource name VolumeParticleMaterialShader(const StringView& name) : MaterialShader(name) { } public: // [MaterialShader] DrawPass GetDrawModes() const override; void Bind(BindParameters& params) override; void Unload() override; protected: // [MaterialShader] bool Load() override; };