DirectX 12
万里归来少年心
这个作者很懒,什么都没留下…
展开
-
DirectX12 3D的绘制函数Draw()
本文简要的介绍了DirectX12 3D的绘制流程。void InitDirect3DApp::Draw(const GameTimer& gt){ // 重复使用记录命令的相关内存,只有当与GPU关联的命令列表执行完成时,才将其重置 ThrowIfFailed(mDirectCmdListAlloc->Reset()); // 通过ExecuteComm...原创 2019-06-25 14:43:40 · 1902 阅读 · 0 评论 -
DirectX12 3D 顶点和输入布局
DirectX 3D中的顶点可以存储空间位置及其它属性数据。1.顶点 自定义包含位置和颜色的顶点。struct Vertex{ XMFLOAT3 Pos; XMFLOAT4 Color;};2.顶点描述 提供该顶点的描述,表明如何处理结构体的成员。std::vector<D3D12_INPUT_ELEMENT_DESC>...原创 2019-06-25 16:56:11 · 863 阅读 · 0 评论 -
DirectX12 3D 中的Light
1.Light结构体struct Light{ float3 Strength; // 光源的颜色 float FalloffStart; // 仅供点光源/聚光灯 float3 Direction; // 仅供方向光源/聚光灯 float FalloffEnd; // 仅供点光源/聚光灯 float3 Position; // ...原创 2019-06-26 10:29:58 · 301 阅读 · 0 评论 -
Win10 VS2017编译渲染引擎google/filament
1.前置工具包Windows 10 SDKVisual Studio 2017Clang 8Python 3.4Cmake 3.11git 2.172.安装常用工具包的安装,在此不多赘述,主要介绍Clang 和LLVM Compiler Toolchain的安装。2.1安装Clang地址:http://releases.llvm.org/download.html...原创 2019-07-01 17:41:38 · 2025 阅读 · 5 评论 -
google/filament 场景(Scene)管理
filament专注于渲染,场景管理比较简单。一般场景管理中的空间管理、碰撞检测、LOD、GUI,filament中都没有。1.场景(Scene) 场景(Scene)是渲染物体和光源等的容器,可以增加和删除对象。 场景(Scene)创建和销毁。Engine* engine = Engine::create();Scene* scene = engine-&g...原创 2019-07-02 16:56:03 · 4759 阅读 · 4 评论 -
google/filament 的引擎(Engine)
引擎(Engine)是google/filament应用程序的入口。它跟踪用户创建的所有资源、管理渲染线程以及硬件渲染器。google/ filament的应用程序中应该首先创建引擎(Engine) #include <filament/Engine.h> using namespace filament; Engine* engine = Engine::cre...原创 2019-07-02 18:31:39 · 4532 阅读 · 0 评论 -
DirectX12 3D 初始化
1.创建设备 设备代表显示适配器(如显卡)。设备即可以检测系统对功能的支持情况,又能创建其他接口对象(如资源,视图,命令列表)。//创建设备HRESULT hardwareResult = D3D12CreateDevice( nullptr, // 创建设备时用的显示适配器,nullptr表示使用主显示适配器 D3D_FEATURE_...原创 2019-06-25 09:42:39 · 950 阅读 · 0 评论 -
DirectX12 3D 创建及启用纹理
纹理贴图(texture mapping)将图像数据映射到三角形网格上,使场景更具真实感。1.纹理结构struct Texture{ //材质名(唯一) std::string Name; //材质路径 std::wstring Filename; //载有图像数据的纹理资源 Microsoft::WRL::ComPtr<ID3D12...原创 2019-07-03 11:39:50 · 1788 阅读 · 0 评论 -
DirectX12 采样器对象
采样器对象定义了采集纹理时所用的过滤器和寻址模式。1.创建描述符堆 创建采样器堆,用以存储采样器描述符。 下例中创建1个类型为采样器描述符的堆,并使之在着色器中可见(即可供着色器使用)。D3D12_DESCRIPTOR_HEAP_DESC heapSampler = {};heapSampler.NumDescriptors = 1;heapSampler.Ty...原创 2019-07-03 15:48:14 · 676 阅读 · 0 评论