Files
XCEngine/managed/XCEngine.ScriptCore/Rendering/Core/CommandBuffer.cs

61 lines
1.5 KiB
C#

using XCEngine;
namespace XCEngine.Rendering
{
public sealed class CommandBuffer
{
public CommandBuffer()
: this(string.Empty)
{
}
public CommandBuffer(
string name)
: this(
name,
0ul)
{
}
internal CommandBuffer(
string name,
ulong nativeHandle)
{
this.name = name ?? string.Empty;
m_nativeHandle = nativeHandle;
}
public string name { get; set; }
public bool isValid => m_nativeHandle != 0ul;
public bool ClearRenderTarget(
Color color)
{
return m_nativeHandle != 0ul &&
InternalCalls.Rendering_CommandBuffer_ClearRenderTarget(
m_nativeHandle,
ref color);
}
public bool DrawRendererList(
RendererListHandle rendererList)
{
return m_nativeHandle != 0ul &&
rendererList.isValid &&
InternalCalls.Rendering_CommandBuffer_DrawRendererList(
m_nativeHandle,
rendererList.nativeIndex);
}
public bool DrawSkybox()
{
return m_nativeHandle != 0ul &&
InternalCalls.Rendering_CommandBuffer_DrawSkybox(
m_nativeHandle);
}
private readonly ulong m_nativeHandle;
}
}