本文整理汇总了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;
}
}