using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Rendering * @{ */ /// /// Contains definitions of GPU programs used for rendering, as well as a set of global parameters to control those /// programs. /// public partial class Shader : Resource { private Shader(bool __dummy0) { } protected Shader() { } /// Returns a reference wrapper for this resource. public RRef Ref { get { return Internal_GetRef(mCachedPtr); } } /// Returns information about all parameters available in the shader. public ShaderParameter[] Parameters { get { return Internal_getParameters(mCachedPtr); } } /// Returns a reference wrapper for this resource. public static implicit operator RRef(Shader x) { return Internal_GetRef(x.mCachedPtr); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern RRef Internal_GetRef(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern ShaderParameter[] Internal_getParameters(IntPtr thisPtr); } /** @} */ }