using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
namespace BansheeEngine
{
///
/// Render target is a frame buffer or a texture that the render system renders the scene to.
///
public class RenderTarget : ScriptObject
{
///
/// Returns the width of the render target, in pixels.
///
public int Width
{
get
{
int value;
Internal_GetWidth(mCachedPtr, out value);
return value;
}
}
///
/// Returns the height of the render target, in pixels.
///
public int Height
{
get
{
int value;
Internal_GetHeight(mCachedPtr, out value);
return value;
}
}
///
/// Returns true if pixels written to the render target will be gamma corrected.
///
public bool GammaCorrection
{
get
{
bool value;
Internal_GetGammaCorrection(mCachedPtr, out value);
return value;
}
}
///
/// Gets the number of samples used for multisampling (0 or 1 if multisampling is not used).
///
public int SampleCount
{
get
{
int value;
Internal_GetSampleCount(mCachedPtr, out value);
return value;
}
}
///
/// Controls in what order is the render target rendered to compared to other render targets. Targets with higher
/// priority will be rendered before ones with lower priority.
///
public int Priority
{
get
{
int value;
Internal_GetPriority(mCachedPtr, out value);
return value;
}
set
{
Internal_SetPriority(mCachedPtr, value);
}
}
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_GetWidth(IntPtr thisPtr, out int value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_GetHeight(IntPtr thisPtr, out int value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_GetGammaCorrection(IntPtr thisPtr, out bool value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_GetSampleCount(IntPtr thisPtr, out int value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_GetPriority(IntPtr thisPtr, out int value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_SetPriority(IntPtr thisPtr, int value);
}
}