本文整理匯總了C#中SharpDX.Direct3D11.ShaderResourceView.ResourceAs方法的典型用法代碼示例。如果您正苦於以下問題:C# ShaderResourceView.ResourceAs方法的具體用法?C# ShaderResourceView.ResourceAs怎麽用?C# ShaderResourceView.ResourceAs使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SharpDX.Direct3D11.ShaderResourceView
的用法示例。
在下文中一共展示了ShaderResourceView.ResourceAs方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: BeginBatch
public void BeginBatch(ShaderResourceView texSRV)
{
Debug.Assert(_initialized);
_batchTexSRV = texSRV;
var tex = _batchTexSRV.ResourceAs<Texture2D>();
{
var texDesc = tex.Description;
_texWidth = texDesc.Width;
_texHeight = texDesc.Height;
}
_spriteList.Clear();
}
示例2: CopyUAVToSRV
private void CopyUAVToSRV(ShaderResourceView srv, UnorderedAccessView uav)
{
var device = this.DeviceManager.Direct3DDevice;
using (var t = srv.ResourceAs<Texture2D>())
{
using (var t2 = uav.ResourceAs<Texture2D>())
{
// Copy the texture for the resource to the typeless texture
device.ImmediateContext.CopyResource(t, t2);
}
}
}
示例3: CopySRVToNewR32_UInt_UAV
private UnorderedAccessView CopySRVToNewR32_UInt_UAV(ShaderResourceView srv)
{
UnorderedAccessView uav;
var device = this.DeviceManager.Direct3DDevice;
using (var t = srv.ResourceAs<Texture2D>())
{
// Resize the sourceTexture resource so that it is the correct size
var desc = t.Description;
desc.BindFlags = BindFlags.ShaderResource | BindFlags.UnorderedAccess;
desc.Format = Format.R8G8B8A8_Typeless;
using (var t2 = ToDispose(new Texture2D(device, desc)))
{
uav = ToDispose(new UnorderedAccessView(device, t2, new UnorderedAccessViewDescription
{
Format = Format.R32_UInt,
Dimension = UnorderedAccessViewDimension.Texture2D
}));
// Copy the texture for the resource to the typeless texture
device.ImmediateContext.CopyResource(t, t2);
}
}
return uav;
}
示例4: CopyR32_UInt_UAVToExistingSRV
private void CopyR32_UInt_UAVToExistingSRV(UnorderedAccessView uav, ShaderResourceView srv)
{
var device = this.DeviceManager.Direct3DDevice;
int width, height;
using (var t = uav.ResourceAs<Texture2D>())
{
width = t.Description.Width;
height = t.Description.Height;
if (t.Description.Format != Format.R32_UInt)
throw new ArgumentException("The provided UAV does not use the format R32_Uint", "uav");
using (var t2 = srv.ResourceAs<Texture2D>())
{
if (t2.Description.Format != Format.R8G8B8A8_Typeless)
throw new ArgumentException("Currently only supporting R8G8B8A8_Typeless SRVs", "srv");
this.DeviceManager.Direct3DDevice.ImmediateContext.CopyResource(t, t2);
}
}
}
示例5: CheckSRVWidthHeight
private void CheckSRVWidthHeight(ShaderResourceView srv, out int width, out int height)
{
using (var t = srv.ResourceAs<Texture2D>())
{
width = t.Description.Width;
height = t.Description.Height;
}
}