| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsCorePrerequisites.h"
- namespace BansheeEngine
- {
- /** @addtogroup Material-Internal
- * @{
- */
- /** Allows you to specify defines that can control shader compilation. */
- class BS_CORE_EXPORT ShaderDefines
- {
- public:
- /** Adds a new define with a floating point value. */
- void set(const String& name, float value);
- /** Adds a new define with an integer value. */
- void set(const String& name, INT32 value);
- /** Adds a new define with an integer value. */
- void set(const String& name, UINT32 value);
- /** Adds a new define with a string point value. */
- void set(const String& name, const String& value);
- /** Returns a list of all defines. */
- UnorderedMap<String, String> getAll() const { return mDefines; }
- /** Removes all defines. */
- void clear() { mDefines.clear(); }
- protected:
- UnorderedMap<String, String> mDefines;
- };
- /** @} */
- }
|