33 lines
1.4 KiB
C#
33 lines
1.4 KiB
C#
using SharpDX;
|
|
using SharpDX.Direct3D11;
|
|
using SharpDX.DXGI;
|
|
using T3.Core.Resource;
|
|
using Texture2D = T3.Core.DataTypes.Texture2D;
|
|
|
|
namespace T3.Core.Rendering.Material;
|
|
|
|
internal static class TextureUtils
|
|
{
|
|
internal static Texture2D CreateColorTexture(Vector4 c)
|
|
{
|
|
var colorDesc = new Texture2DDescription()
|
|
{
|
|
ArraySize = 1,
|
|
BindFlags = BindFlags.RenderTarget | BindFlags.ShaderResource | BindFlags.UnorderedAccess,
|
|
CpuAccessFlags = CpuAccessFlags.None,
|
|
Format = Format.R16G16B16A16_Float,
|
|
Width = 1,
|
|
Height = 1,
|
|
MipLevels = 0,
|
|
OptionFlags = ResourceOptionFlags.None,
|
|
SampleDescription = new SampleDescription(1, 0),
|
|
Usage = ResourceUsage.Default
|
|
};
|
|
|
|
var dxTex = new SharpDX.Direct3D11.Texture2D(ResourceManager.Device, colorDesc);
|
|
var colorBuffer = new Texture2D(dxTex);
|
|
var colorBufferRtv = new RenderTargetView(ResourceManager.Device, dxTex);
|
|
ResourceManager.Device.ImmediateContext.ClearRenderTargetView(colorBufferRtv, new Color(c.X, c.Y, c.Z, c.W));
|
|
return colorBuffer;
|
|
}
|
|
} |