#c #directx-11 #alphablending #blending
#c #directx-11 #перенос букв #смешивание
Вопрос:
В настоящее время я пытаюсь сделать пользовательский интерфейс прозрачным в DirectX 11 для университетского проекта и просматриваю состояния смешивания и другие ресурсы в документах Microsoft. Я продолжаю сталкиваться pd3dDevice
и действительно теряюсь в том, что это такое. Я смотрел во многих местах, просто чтобы увидеть, как люди используют его, но без ссылки на то, что это такое.
Я впервые нашел это здесь: Настройка функциональности наложения: создайте состояние наложения, и я пытаюсь найти способ использовать его или получить к нему доступ любым способом, но я не могу узнать, что это такое или на что оно ссылается.
ID3D11BlendState1* g_pBlendStateNoBlend = NULL;
D3D11_BLEND_DESC1 BlendState;
ZeroMemory(amp;BlendState, sizeof(D3D11_BLEND_DESC1));
BlendState.RenderTarget[0].BlendEnable = FALSE;
BlendState.RenderTarget[0].RenderTargetWriteMask =
D3D11_COLOR_WRITE_ENABLE_ALL;
pd3dDevice->CreateBlendState1(amp;BlendState, amp;g_pBlendStateNoBlend);
Комментарии:
1. Сначала я должен спросить, что вы знаете о DirectX 11?? можете ли вы создать базовое приложение? потому что, если бы вы могли, вы бы не задавали этот вопрос. Чтобы ответить на ваш вопрос, я бы сказал, изучите основы DirectX, прежде чем что-либо делать, поэтому я бы порекомендовал вам прочитать «Введение в программирование 3D-игр с DirectX 11» Фрэнка Луна
Ответ №1:
Это ID3D11Device1*
.
Чтобы найти это, помимо имени, где p
означает «указатель», просто погуглите метод, поскольку он часто достаточно дискриминантен, например, здесь CreateBlendState1
приведет вас к ID3D11Device1::CreateBlendState1
Комментарии:
1. Это буквально указано в документе, на который ссылается OP, прямо над цитируемым фрагментом кода: » Состояние смешивания — это набор состояний, используемых для управления смешиванием. Эти состояния (определенные в
D3D11_BLEND_DESC1
) используются для создания объекта состояния смешивания путем вызова ID3D11Device1 ::CreateBlendState1. »2. @RemyLebeau — это, возможно, очевидно для вас (и для меня), но, видимо, не для OP, который не понимает, что такое pd3dDevice, вот почему я дал дополнительные подсказки.