DirectX9-DirectX11 Создание общей текстуры терпит неудачу SharpdxC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 DirectX9-DirectX11 Создание общей текстуры терпит неудачу Sharpdx

Сообщение Anonymous »

У меня есть приложение WPF, и я пытаюсь переключиться с рендеринга на управление Winforms на рендеринг на изображение с использованием d3dimage (потому что я хочу иметь возможность разместить немного интерфейса WPF поверх рендеринга, задачи воздушного пространства и все такое), так что я Знаю, что мне нужно создать устройство DirectX 9 и создать общую текстуру, я пытаюсь следовать примерам других людей, но по какой -то причине создание общей текстуры терпит неудачу (но не просто текстура DirectX 9, только когда я передаю рукоятку The DirectX 11 The The The Конструктор), я попытался использовать как аппаратные, так и справочные устройства для DirectX 9 или DirectX 11, я попытался настроить форматы, флаги создания, ничего не помогло, следовали за всеми ограничениями, описанными здесь https://learn.microsoft.com/ru-ru/ Windows/Win32/API/D3D11/NF-D3D11-ID3D11DEVICE-OPENSHAREDRESOURCE? RedirectedFrom = MSDN и до сих пор нет, какие идеи?
xaml:







< /code>
cb: < /p>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
SharpDX.Direct3D11.Device device = new SharpDX.Direct3D11.Device(DriverType.Hardware, DeviceCreationFlags.None | DeviceCreationFlags.BgraSupport, FeatureLevel.Level_11_0);

SharpDX.Direct3D11.Texture2D texture = new SharpDX.Direct3D11.Texture2D(device, new Texture2DDescription()
{
Width = WinFormsControl.ClientSize.Width,
Height = WinFormsControl.ClientSize.Height,
ArraySize = 1,
BindFlags = BindFlags.RenderTarget,
Usage = ResourceUsage.Default,
CpuAccessFlags = CpuAccessFlags.None,
Format = SharpDX.DXGI.Format.R8G8B8A8_UNorm,
MipLevels = 1,
OptionFlags = ResourceOptionFlags.Shared,
SampleDescription = new SampleDescription(1, 0)
});

Direct3DEx d9context = new Direct3DEx();

DeviceEx d9device = new DeviceEx(d9context,
0,
DeviceType.Hardware,
IntPtr.Zero,
CreateFlags.HardwareVertexProcessing | CreateFlags.Multithreaded | CreateFlags.FpuPreserve,
new SharpDX.Direct3D9.PresentParameters()
{
Windowed = true,
SwapEffect = SharpDX.Direct3D9.SwapEffect.Discard,
DeviceWindowHandle = WinFormsControl.Handle,
PresentationInterval = PresentInterval.Immediate,
});

IntPtr renderTextureHandle = texture.QueryInterface().SharedHandle;
SharpDX.Direct3D9.Texture d9texture = new SharpDX.Direct3D9.Texture(d9device,
texture.Description.Width,
texture.Description.Height,
1,
SharpDX.Direct3D9.Usage.RenderTarget,
SharpDX.Direct3D9.Format.A8B8G8R8,
Pool.Default,
ref renderTextureHandle);
}


Подробнее здесь: https://stackoverflow.com/questions/709 ... ls-sharpdx
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Поверхность Unity SharpDX IDirect3DSurface для SharpDX.Direct3D11.Texture2D
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Текстура OpenGL показывает сплошной цвет текстуры, а не всей текстуры.
    Anonymous » » в форуме C++
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Почему мое видео не соответствует размеру текстуры, когда я меняю размер текстуры
    Anonymous » » в форуме Android
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Рисование 2D линий в DirectX9
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как повернуть «верхнюю» текстуру неба с помощью DirectX9?
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»