| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsScriptEnginePrerequisites.h"
- #include "Wrappers/BsScriptResource.h"
- #include "Material/BsShader.h"
- namespace bs
- {
- /** @addtogroup ScriptInteropEngine
- * @{
- */
- /** @cond SCRIPT_EXTENSIONS */
- /** Type of parameters that can be defined by a shader. */
- enum class BS_SCRIPT_EXPORT(m:Rendering) ShaderParameterType
- {
- Float, Vector2, Vector3, Vector4, Color,
- Matrix3, Matrix4, Texture2D,
- Texture3D, TextureCube, Sampler
- };
- /** Contains information about a single shader parameter. */
- struct BS_SCRIPT_EXPORT(m:Rendering,pl:true) ShaderParameter
- {
- /** Name of the parameter variable. */
- String name;
- /** Data type of the parameter. */
- ShaderParameterType type;
- /** Determines is parameter managed internally be the renderer, or is it expected to be set by the user. */
- bool isInternal;
- };
- /** Extension class for Shader, for adding additional functionality for the script version of the class. */
- class BS_SCRIPT_EXPORT(e:Shader) ShaderEx
- {
- public:
- /** Returns information about all parameters available in the shader. */
- BS_SCRIPT_EXPORT(e:Shader,pr:getter,n:Parameters)
- static Vector<ShaderParameter> getParameters(const HShader& thisPtr);
- };
- /** @endcond */
- /** @} */
- }
|