码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • DirectX 12 学习笔记 -结构


    上篇文章我们创建了一个窗口,看样子还不难,我们继续玩DX12

    引用一些文件

    头文件

    #include 
    #include 
    #include 
    
    • 1
    • 2
    • 3

    还有一些库

    #pragma comment(lib, "d3d12.lib")
    #pragma comment(lib, "dxgi.lib")
    
    • 1
    • 2

    请添加图片描述

    这个图是我最开始的理解哈哈,不一定是对的,笔者只是一个小萌新,刚学DX和图形,自己注意真实性

    IDXGIFactory

    仔细一看,我发现居然有IDXGIFactory,IDXGIFactory1,2,3,4…嘶…很抽象,我猜测是不同的API版本,功能应该差不多

    我们就用那个没数字的版本

    这个东西有几个功能

    • 能枚举我们显示器适配器?
    • 还能用它创建一个SwapChain

    IDXGIAdaptor

    似乎这个就是显示器适配器,也有IDXGIAdaptor1…
    (好烦躁啊!!!!怎么这么多,我用哪个)

    适配器是面向不同图形硬件的抽象概念,描述了图形硬件(通常是显卡)的信息(如名称,驱动等),是创建Device的必要参数

    ID3D12Device

    绘图设备是与适配器交互的重要接口,它提供了大量交互适配器的低级操作
    绘图设备,这个东西里面

    • 创建Fence
    • 创建资源堆
    • 创建提交的资源
    • 创建描述符堆
    • …一大堆,不列了

    ID3D12CommandQueue

    命令队列是存储较为低级绘制命令的队列,从属于绘图设备,一个绘图设备可以拥有多个命令队列,队列里的命令按时序出队执行

    就…理解成这个东西会把里面的命令按顺序输入到绘图设备吧

    ID3D12CommandList

    命令列表封装了较为高级的绘制命令,通常需要向命令队列提交命令列表,列表内的高级命令会被翻译为低级命令按顺序排入命令队列

    DX12不让直接往Queue里丢命令,只能先丢进List,再把List丢进Queue

    ID3D12CommandAllocator

    命令分配器提供了创建命令列表的手段,与命令列表一一对应并管理命令列表的资源

    也就是说这个玩意是管着命令列表的,然后能创建命令列表

    IDXGISwapChain

    这个东西…嗯…1234

    大概原理就是把DX渲染的东西放进这个里面,然后一次性输出到屏幕,省得出现介于两个画面之间的情况。

    ID3D12DescriptorHeap

    描述符堆,看样子是存东西的,描述内存里一块空间是什么东西

  • 相关阅读:
    手写签名到背景上合为1张图
    关于windows的文件监控管理系统(Java)
    135:vue+openlayers添加海量点,使用WebGLPoints方法(示例代码)
    全面指南:如何发布自己的npm插件包
    arcgis js api 4.x通过TileLayer类加载arcgis server10.2发布的切片服务跨域问题的解决办法
    JSP开发环境搭建(Tomcat的安装和配置)
    外星人笔记本Alienware Area-51m R2原装出厂Windows10系统
    淘宝/天猫、1688、京东、抖音按图搜索淘宝商品(拍立淘)API接口(参数说明值)
    使用CEF(六)— 解读CEF的cmake工程配置
    太阳能路灯的根本结构及作业原理
  • 原文地址:https://blog.csdn.net/qq_46273241/article/details/133278693
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号