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);
}
/** @} */
}