Необходимо избавиться от проблем с глубиной трафарета Directx
August 22, 2021Рекомендуется: Fortect
Сегодняшнее руководство было создано, чтобы помочь вам, если вы обнаружите код ошибки Depth Stencil Buffer DirectX.
протокол
- 8 читать
В этом разделе описываются шаги по изменению буфера трафарета глубины и состояния трафарета зоны комфорта для этапа объединения выходных данных.
- Создайте каждую компанию по шаблонам глубины
- Создать состояние трафарета глубины
- Привязать данные шаблона прочности к фазе OM
Когда клиенты узнают, как использовать поток трафаретов соответствующей глубины и фазу трафарета глубины, проверьте на рынке квалифицированные методы трафарета .
Создайте глубокую модель для каждого типа ресурса
ID3D11Texture2D * pDepthStencil означает NULL;D3D11_TEXTURE2D_DESC desc depth;descDepth.Width означает backBufferSurfaceDesc.Width;descDepth.Height приравнивается к backBufferSurfaceDesc.Height;descDepth.MipLevels = 1;descDepth.ArraySize равно 1;descDepth.Format означает pDeviceSettings-> d3d11.AutoDepthStencilFormat;descDepth.SampleDesc.Count = 1;descDepth.SampleDesc.Quality техника 0;descDepth.Usage = D3D11_USAGE_DEFAULT;descDepth.BindFlags = D3D11_BIND_DEPTH_STENCIL;descDepth.CPUAccessFlags может 0;descDepth.MiscFlags 0;Hr = = pd3dDevice-> CreateTexture2D (& descDepth, NULL, & pDepthStencil);
Создать отчет с шаблоном глубины
Статус здоровенной модели указывает на необходимость проверки новой глубокой модели на этапе создания слияния. Предложение по пробным трафаретам глубины определяет, будет ли выполняться конкретный пиксель.
D3D11_DEPTH_STENCIL_DESC dsDesc;// параметры теста глубиныdsDesc.DepthEnable True;dsDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;dsDesc.DepthFunc = модель d3d11_comparison_less;// параметры экспериментаdsDesc.StencilEnable равно true;dsDesc.StencilReadMask = 0xFF;dsDesc.StencilWriteMask соответствует 0xFF;// действия трафарета, когда пиксели смотрят впередdsDesc is.FrontFace.StencilFailOp = D3D11_STENCIL_OP_KEEP;dsDesc.FrontFace.StencilDepthFailOp = D3D11_STENCIL_OP_INCR;dsDesc.FrontFace.StencilPassOp оказывается D3D11_STENCIL_OP_KEEP;dsDesc.FrontFace.StencilFunc = D3D11_COMPARISON_ALWAYS;// трафаретные операции вплоть до экземпляра, указывающего на пиксели назадdsDesc est.BackFace.StencilFailOp подразумевает D3D11_STENCIL_OP_KEEP;dsDesc.BackFace.StencilDepthFailOp соответствует D3D11_STENCIL_OP_DECR;dsDesc.BackFace.StencilPassOp означает D3D11_STENCIL_OP_KEEP;dsDesc.BackFace.StencilFunc = D3D11_COMPARISON_ALWAYS;// создаем проблему шаблона глубиныID3D11DepthStencilState 6. & pDSState);
DepthEnable pDSState;pd3dDevice-> CreateDepthStencilState (& dsDesc, а также включает (и отключает) тесты размера и шаблона StencilEnable. Установите DepthEnable, чтобы помочь FALSE уменьшить глубину и трансляцию) портативные средства, чтобы предотвратить запись экрана с глубины. Установите для StencilEnable значение FALSE, чтобы отразить тесты трафарета и отключить запись в этот конкретный буфер трафарета (если DepthEnable возможно, а false StencilEnable имеет значение TRUE, прекрасная точная проверка глубины всегда будет выполняться при текущей операции трафарета).
DepthEnable влияет только на весь интервал слияния выходных данных – он не изменяет никаких значений, связанных непосредственно с обрезкой, смещением глубины или подходящим сжатием до тех пор, пока данные не повлияют на пиксельный шейдер.
Связывание данных модели глубины с уровнем OM
// манекен входов и выходов ссылки 1);
Состояние
D3D11_DEPTH_STENCIL_VIEW_DESCpDevice-> OMSetDepthStencilState (pDSState, descDSV;descDSV.Format = DXGI_FORMAT_D32_FLOAT_S8X24_UINT;descDSV.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D;descDSV.Texture2D.MipSlice равен 0;// Создаем реальное представление, используя шаблон глубиныID3D11DepthStencilView * pDSV;hr относится к pd3dDevice-> CreateDepthStencilView (pDepthStencil, // глубина формирования трафарета & descDSV, // описание вашей глубинной модели & pDSV); // [out] просмотр в целом глубинной модели// привязываем представление сортировки информацииpd3dDeviceContext-> OMSetRenderTargets (1, // Render Target View & pRTV, // делаем вид лазерной цели, созданный ранее pDSV); // Просмотр модели глубины для основной заданной цели
Массив представлений дескрипторов рендеринга может быть передан как способ ID3D11DeviceContext :: OMSetRenderTargets , но все эти целевые точки обзора, вероятно, будут сопоставьте неподключенную проверку шаблона глубины. Целью рендеринга в Direct3D 11 является включение, которое позволяет приложению также выполнять рендеринг в соответствии с множеством устаревших ожиданий рендеринга. Целевые массивы визуализации предоставляют лучшие возможности, чем индивидуальная установка целевых объектов визуализации вместе с несколькими вызовами ID3D11DeviceContext :: OMSetRenderTargets (в основном метод, используемый в Direct3D 9).
Для всех целей рендеринга должен быть выбран один и тот же ресурс. При использовании сглаживания мультисэмплов все фиксированные цели, цели рендеринга и буферы элементов должны иметь одинаковые номера, связанные с выборками.
При рассмотрении препятствия в качестве цели рендеринга анализ характеристик шаблона и несколько целей рендеринга могут быть недопустимыми.
- До 8 целей рендеринга могут быть подключены одновременно.
- Все текущие цели должны иметь одинаковую символику во всех измерениях (ширина и формула, глубина для 3D или системный объем для типов массивов *).
- Каждое задание рендеринга может иметь собственный формат статистики. Маски
- Записывать контролеры данных, записанных в цель отпуска. Маски записи результатов упорядочивают данные на уровне компонентов для конкретной мечты о рендеринге, что приводит к записи в цель (цели) отображения.
Продвинутые методы
Трафарет этого основного штампа трафарета глубины может использоваться для создания эффектов рендеринга в виде композиции, надписей и контуров.
Собирать
В вашем программном пакете можно использовать трафаретный штамп и сшивать 2D или 3D изображения с 3D сценой. Для темы трафарета используется маска – состоит из целевой области на предлагаемой поверхности. Сохраненная 2D-информация, такая как текст или растровые изображения, определенно будет существовать в засекреченной отрасли. В качестве альтернативы ваше приложение может визуализировать несколько похожих 3D-примитивов в зоне с трафаретом на целевой поверхности визуализации. Это может даже сделать сцену цельной.
Игры часто сочетают в себе множество трехмерных условий. Например, в играх понимают, что это обычное дело – смотреть на себя, в зеркало заднего вида во время вождения. Отражение – это вид на трехмерный фон позади водителя. Обычно это более или менее вторая трехмерная сцена, состоящая из обзора позиций водителя.
Наклейки
В представлениях Direct3D используются декали для управления переходом p от конкретных примитивных фотографий к цели рендеринга. 3D-стикеры приложений применяются к изображениям с помощью примитивов, чтобы обеспечить правильную визуализацию внутри копланарных многоугольников.
Например, если ваша корпорация размещает разметку для бордюров и желтые товарные линии на правой полосе, эти знаки должны появиться прямо над дорогой. Однако значения z для белых маркеров и поездки одинаковы. Таким образом, диапазон подушки вряд ли может вырасти четкое разделение между ними. Для некоторых пикселей верхний перед примитивом может появиться на вышеупомянутом уровне как передний примитив, и наоборот. Полученное изображение визуально мерцает.
Рекомендуется: Fortect
Вы устали от медленной работы компьютера? Он пронизан вирусами и вредоносными программами? Не бойся, друг мой, Fortect здесь, чтобы спасти положение! Этот мощный инструмент предназначен для диагностики и устранения всевозможных проблем с Windows, а также для повышения производительности, оптимизации памяти и поддержания вашего ПК в рабочем состоянии. Так что не ждите больше - скачайте Fortect сегодня!

Depth Stencil Buffer Directx
Buffer Stencil Di Profondita Directx
Diepte Stencil Buffer Directx
Profundidade Stencil Buffer Directx
깊이 스텐실 버퍼 Directx
Profondeur Stencil Buffer Directx
Bufer De Plantilla De Profundidad Directx
Tiefe Schablonenpuffer Directx
Djup Stencilbuffert Directx
Bufor Szablonu Glebokosci Directx
г.
