首页 > TAG信息列表 > D3D12

在DirectX 12中使用shadow map

shadow map是常见的实现阴影效果的手段,可以分为生成shadow map和采样shadow map两个阶段。生成shadow map首先需要准备好资源,和绑定的view: D3D12_RESOURCE_DESC texDesc; ZeroMemory(&texDesc, sizeof(D3D12_RESOURCE_DESC)); texDesc.Dimension = D3D12_RESOURCE_DIMENSION_TE

在DirectX 12中使用cubemap

DirectX 12支持cubemap采样,我们可以用它来实现一个简易的天空盒效果。首先,我们要修改对texture进行资源绑定的shader resource view,使它不再是绑定texture 2d,而是texture cube: D3D12_SHADER_RESOURCE_VIEW_DESC srvDesc = {}; srvDesc.Shader4ComponentMapping = D3D12_DEFAULT_

2021-09-16 D3D12中各种边界对齐常量定义

#define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 ) #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 ) #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 ) #define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 ) #define D3D12_VIDEO_

每天学习一点点9.12: d3d12中的 drawing Vertex, texture, frame buffering, const buffers, bundles, 一次性全部源码解释

这一期我们来梳理初始化之后的一些基本入门操作 此篇blog都是和第一篇D3d的初始化文章比对进行讲解的. 1.D3D12HelloTriangle 1.Viewport 和scissorRect的区别就是如图所示 2.代码新增了啥? 新增了Vertex格式声明: 这个就是老生常谈了,d3d9里面也有, 就是顶点格式的描述,后面计算的

为上次渲染的三角形添加颜色

让我们在场景中添加一些颜色。 在本教程中,我们将为顶点添加颜色以为三角形着色。 这涉及更新顶点着色器以将颜色传递给像素着色器,像素着色器以输出传递给它的颜色,顶点结构添加颜色属性,输入布局包含颜色输入元素。 介绍 在本教程中,我们将为三角形添加颜色。 这涉及向顶点结构

纹理

本教程将教您如何从文件创建纹理。 我们将学习如何使用Windows Imaging Component(WIC)API从文件中加载图像。 加载完图像后,我们将使用上传堆将其上传到默认资源堆,创建一个SRV,然后在像素着色器中使用该SRV中的样本为立方体着色。 介绍 在本教程中,我们将学习如何使用从文件加载

常量缓冲区(使用根描述符表)

在本教程中,我们将看到如何使用包含常量缓冲区视图的描述符表将数据发送到着色器。 根签名 我将以根签名的说明开始本教程。 根签名本质上是管道中着色器的函数签名(也称为参数列表)。 根签名的这一部分称为根参数。 函数签名描述了函数期望的数据。 void somefunction(int arg

在DirectX12中使用Texture

这次让我们来看看如何在DirectX12中使用Texture。由于我们创建的texture最终是和const buffer一样,存放在同一个DescriptorHeap中的,所以有必要在之前的基础上扩充一下heap的大小: mCbvSrvHeapIncSize = mDevice->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_

在DirectX12中使用Texture

在DirectX12中使用Texture 这次让我们来看看如何在DirectX12中使用Texture。由于我们创建的texture最终是和const buffer一样,存放在同一个DescriptorHeap中的,所以有必要在之前的基础上扩充一下heap的大小: mCbvSrvHeapIncSize = mDevice->GetDescriptorHandleIncrementSi

图形API学习工程(13):资源转换屏障(transition resource barriers)

工程GIT地址:https://gitee.com/yaksue/yaksue-graphics 目标 我注意到:D3D12和Vulkan,相比于D3D11和OpenGL,多了“资源转换屏障”这种操作。我想弄明白: “资源转换屏障”的意义是什么?D3D12和Vulkan用什么样的API来实现?创建纹理贴图时用了这种操作,细节是怎样的?当前工程里其他哪些

D3D12几何体绘制流程

一些名词: 渲染目标视图 RTV(render arget view,渲染目标视图) 顶点缓冲区视图 (vertex buffer view) D3D12几何体绘制流程 1.设置顶点 设置顶点结构体(坐标,颜色,贴图,法线等 2.设置输入布局描述(D3D12_INPUT_LAYOUT_DESC) 定义 typedef struct D3D12_INPUT_ELEMENT_DESC { LP

D3D12遇到的报错记录

E_INVALIDARG One or more arguments are invalid. 这个报错是最常见的报错了,一般是调用D3D的函数时的参数设置不对,或者参数设置无效,或者是当前系统环境不支持你所设置的参数,使用Visual studio进行学习开发的话,多注意Output窗口,一般会在报错提示的前后有更详细的提示 Inva

Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)

原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https://github.com/jiabaodan/Direct12BookReadingNotes 学习目标 理解本章中针对命令队列的更新(不再需要每帧都flush命令队列),提高性能; 理解其他两种类型