摸爬滚打DirectX11_day01——VS2015与DirectX11的配置

2023-11-12

什么是DirectX11?


DirectX,微软提供的应用程序接口集(APIs),被设计为在运行 windows 操作系统平台上用来提供给开发人员控制硬件的底层接口。它的各个组件提供了访问不同硬件的能力,包括图形(显卡),声音(声卡),GPU,输入设备以及所有的标准接口(译者注:比如游戏操纵杆,鼠标等)。
DirectX 是首先被游戏制作者用来在 Windows 和 Xbox 平台上使用的标准 API 集。它是在设备上提供驱动层来操作硬件的。(注意:Xbox369 使用 DirectX9 之后的版本开发)

DirectX11与之前版本的比较


Direct3D 10 的 API 相比于前一个版本是显得轻量的,并且其 API 比过去的版本都更加的容易使用。
与其他版本一个显而易见的不同就是在 Direct3D 10 中移除了固定的函数管线,而被移除的部分却是渲染状态和在 API 中构建算法来允许使用公共特效渲染对象的一个必须的集合。在图形硬件上面移除固定函数管线取而代之的是可编程着色器。
在 Direct3D 9 中,我们能够通过着色器来渲染几何体,开启光照只需要设置少量的性质和渲染状态,那些 API会转化我们的几何体使得发布时只需要调用少量的 Direct3D 函数。在 Direct3D 10 中我们依旧能够通过着色器做上述所有的事情,而且还能做得更多。初学者需要记住的关键一点是当第一次学习图形编程时固定管线被内建的 API所限制,而着色器允许我们创建任何特效,唯一的限制是游戏中的帧率。想使用光照?只需要掉了 Direct3D 函数来开启它并且设置它的属性(上限是 8 种光照)。想通过多幅图像渲染表面?只需要开启它。甚至能够表现你所想要的基于像素的模糊运行和深度域,而使用固定管线就没那么幸运了。
DirectX 11 更像是 DirectX10.1 的一个增强版本而不像从 DirectX9 到 DirectX10 的主版本升级。

DirectX的组成部分


DirectX 是一个代码库集合,提供给游戏和多媒体应用一个公共的函数集合。为了确保你的游戏只需要使用必须的函数,DirectX 被划分为多个组件。
DirectX API 被划分为多个组件,使得每一部分都只响应系统的一个方面。组件之间的 API 相互独立,从而允许使用你的游戏所要求的那部分。在最新版本中,一些组件已经被更新,例如 Direct3D 组件,而另外一些部分像之前的版本一样被保留下来直到微软将他们移除(如果他们是过时的组件)。DX 之间的组件应新函数要求被独立的更新。

我的第一个DirectX程序


关于VS2015下DirectX11的配置
可以参考:
传统D3D11程序面向VS2015编译环境的配置修正细节
VS2015update2环境下DirectX11编程说明(2016.5.5更新)
龙书D3D11 Demo配置(VS2015+win10)


官方Sample

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

摸爬滚打DirectX11_day01——VS2015与DirectX11的配置 的相关文章

  • Unity --- Vector3类的API讲解

    1 Vector3中的静态变量是相对于世界坐标系的还是相对于自身坐标系呢 我们创建的Vector3类对象同理 答 这取决我们将创建的Vector3类对象 通过Vector3调用的静态变量传给了哪一个引用 如果是传给了positon的话 则该
  • Unity小游戏-勇闯小岛(PC) 项目展示+完整项目源码

    游戏录像 游戏玩法 主角可以变换四种状态 玩家通过四种状态特有的技能来击败眼前的怪物闯关 切换到棕色 有一个一直围绕自己旋转的大摆斧攻击敌人 切换到绿色 可以抵挡一切的投掷物 但是无法攻击敌人 切换到粉色 切换瞬间可以发出飞镖 切换到蓝色
  • Unity的三级排序层级渲染Layer,sorting layer,order in layer

    一 前言 Unity游戏开发中 模型 界面 特效等等 需要规划好层的概念 涉及到摄像机 Camera 画布 Canvas Shader等相关内容 Unity大致按照三级排序进行层级渲染 Camera的Depth CullingMask gt
  • 跨平台游戏引擎 Axmol-2.0.0 正式发布

    下载 https github com axmolengine axmol releases tag v2 0 0 更新日志 添加实验性的 WebAssembly 构建支持 WebGL 2 0 由 nowasm 贡献 已知问题 WebGL
  • Unity 用脚本操作常用UI控件(上)

    控件介绍 在界面系统的术语中 将一个具有独立状态 外观和操作的对象称为控件 例如 常用的交互控件有按钮 输入框 滑动条等 常见的非交互式控件有文本标签 图片等 Unity采用了父子物体和组件的设计思想 其每个界面控件 往往也是由游戏物体挂载
  • 一些个人常用的网站网址

    一些个人常用的网站网址 GitHub https github com Gitee https gitee com 1 书栈网 https www bookstack cn explore cid 27 tab popular 2 Unit
  • Unity WebGL错误集锦

    ips 0 Unity的PlayerSettings的otherSettings或者Publish Settings里面的Enable Exceptions里面选择Full StackTrace 可以在打出的包中的浏览器的webgl打印出错
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity动画系统详解

    目录 动画编辑器 编辑器面板 动画复用 前言 人形重定向动画 Humanoid 通用动画 Generic 旧版本动画 Legacy 动画控制器 系统状态 切换条件 状态机脚本 IK动画 反向动力学 BlendTree 混合树 Animato
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • 【Unity步步升】监控与检测物体的各种方案,如:射线、碰撞、挂载等...

    在制作AR模型数值控制方案的时候遇到了检测的问题 学习过程受益匪浅 故今天为大家整理带来一篇监控与检测物体的参考方案集合 目录 一 射线检测 二 物体存在检测 三 碰撞检测 一 射线检测 单射线检测 首先完成搭建场景如下图1 1 我这里用到
  • DirectX 11 像素着色器 什么是 SV_POSITION?

    我正在学习 DirectX 11 的 HLSL 我想知道 SV POSITION 究竟是什么 它是顶点着色器的输出和像素着色器的输入 1 这是屏幕上每个像素的 x y z 还是物体的 x y z 2 为什么是4个32位浮点数 3 顶点输出需
  • DX11 未解决的外部问题

    1 gt Build started Project Setup Configuration Debug Win32 1 gt BoxDemo obj error LNK2019 unresolved external symbol D3D
  • Directx 11 前缓冲器

    我希望这是对一个我找不到答案的简单问题的简单答案 如何访问 Directx 11 DXGI 中的前端缓冲区 我发现在 Directx 9 中可以使用 GetFrontBufferData 在 Directx 11 中可以使用 GetBuff
  • 使用 Media Foundation 对 Direct X 表面进行编码

    我正在尝试使用 MediaFoundation API 对视频进行编码 但在将示例推送到 SinkWriter 时遇到问题 我正在通过桌面复制 API 获取要编码的帧 我最终得到的是一个包含桌面图像的 ID3D11Texture2D 我正在
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • DirectX 11 ClearRenderTargetView 恢复透明缓冲区?

    我正在尝试创建一个使用 directx 进行绘制的窗口opaque上面的内容透明的视图 即桌面显示出来 使用 DirectX11 我尝试执行以下操作 但它并没有使背景透明 事实上 我输入的任何不透明度值都会给出完全相同的结果 我在做什么 f

随机推荐

  • 【快速实现List转Map,stream去重、过滤、筛选、拼接方法的使用】

    一 List转List List对象转List单字段 List
  • 基于SSM的遂川特产销售管理系统

    项目背景 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 遂川特产销售系统当然也不能排除在外 遂川特产销售系统是以实际运用为开发背景 运用软件工程开发方法 采用SSM技术构建的一个
  • QT界面美化与添加多个界面

    一 在QT界面中添加图片 首先在工程中添加源文件 右键选择class1 选择Add new 如下图 添加完成之后会出现源文件夹目录 然后右键选择 qrc文件 然后选择Open in Edit 5 再点击鼠标位置 创建目录 只留下 表示根目录
  • VS Code 源码分析 - 多语言实现

    NO 1 前言 传统前端 App 多语言最简单的实现可以由一套响应式数据流管理系统来托管多语言文案 切换语言时通过数据流的变化使得界面根据文案重新渲染 但由于 VS Code 架构的复杂性 需要有一套能兼容 Electron 渲染窗口 Ch
  • Jedis介绍及配置(Java操作Redis)

    Jedis介绍及配置 Java操作Redis 一 Jedis是什么 jedis就是基于java语言的redis客户端 集成了redis的命令操作 提供了连接池管理 redis cli是redis官方提供的客户端 可以看作一个shell程序
  • [ctfshow]web入门——命令执行(web54-web71)

    文章目录 system过滤 web54 web55 web56 web57 disabled function绕过 web58 web59 web60 web61 web62 web63 web64 web65 wbe66 web67 we
  • SpringMVC的数据响应(页面跳转、回写数据)

    SpringMVC的数据响应 一 SpringMVC的数据响应 01 SpringMVC的数据响应 数据响应方式 02 SpringMVC的数据响应 页面跳转 返回字符串形式 03 SpringMVC的数据响应 页面跳转 返回ModelAn
  • 找不到MSVCP140_1.dll、VCRUNTIME140_1.dll,打不开designer解决方法

    在使用designer的时候报了两个缺少运行库的错误 查了很多方法 最后看到需要下载这两个库 在这里下载 https cn dll files com vcruntime140 1 dll html 我是win10系统 下载完之后把它俩丢进
  • 快速搭建测ceph

    一 cephadm介绍 Cephadm是一个由Ceph社区维护的工具 它用于在Ceph集群中管理和部署Ceph服务 它是一个基于容器化的工具 使用了容器技术来部署Ceph集群的不同组件 使用Cephadm 管理员可以通过简单的命令行界面在整
  • Spring boot 拦截器的编写

    编写拦截器需要在Controller层 编写两个类 一个类类名 Interceptor1 类名没有特定要求 另一个类名 InterceptorConfig 类名没有特定要求 InterceptorConfig类实现WebMvcConfigu
  • python-OpenCV-人脸、眼睛,微笑检测

    文章目录 前言 一 人脸检测是什么 二 案例 总结 前言 随着人工智能的不断发展 OpenCV这门技术也越来越重要 很多人都开启了学习OpenCV 本文就介绍了OpenCV的基础内容 提示 以下是本篇文章正文内容 下面案例可供参考 案例 F
  • python中如何导入math模块_Python中的math模块如何进行数学运算?

    在数学之中 除了加减乘除四则运算之外 还有其它跟多的运算 比如乘方 开方 对数运算等等 其实我们的计算机如同我们人类一样也具备了基本的运算常识 知道了基本的运算规则与方法 但是计算机如何高速 精确的运算呢 在python中 基于基本的运算规
  • prometheus安装以及错误汇总

    首先 最简洁的安装就是通过 编译好的包 开箱即用 下面是链接 https prometheus io download d dhttps prometheus io download 但是为了后续更好的使用 建议下载源码 然后编译 编译过程
  • Scala集合和遍历

    目录 1 列表 1 1 定义 1 1 1 示例一 1 1 2 示例二 1 1 3 示例三 2 可变列表 2 1 定义 2 1 1 示例一 2 1 2 示例二 2 2 可变列表操作 2 2 1 示例 3 列表常用操作 3 1 判断列表是否为空
  • 毕业季:我和未来有个对话

    2013年迎来新中国建国以来人数最多的大学毕业生 699万 史上最难就业季 成为一个全社会关注的热点话题 由中央电视台综合频道与唯众传媒联合打造的关注青年人成长的首档青年电视公开课节目 开讲啦 邀请四位跨界嘉宾来开讲 并且和青年人一起和未来
  • jvm虚拟机_JVM虚拟机五连问,能过并不是只靠运气

    对于Java程序员来说 在众多Java知识点当中JVM是很重要的一块 每个Java程序都离不开Java虚拟机 Java程序的运行依靠具体的Java虚拟机实例 在Java虚拟机规范中 分别用子系统 内存区 数据类型以及指令这几个术语来描述的
  • 两个数值互换的几种方式

    一 建立临时变量 1 普通的方法 思路简介 建立一个临时变量 通过temp a a b b temp来实现交换 缺点 这只是一种假交换 由于这只是在函数内部临时变量间的交换 所以当函数退出 函数栈帧被释放 原本的值并没有交换 具体方法 in
  • MongoDB的使用

    MongoDB 是一个跨平台的 以 JSON 为数据模型的文档数据库 是当前 NoSQL 数据库产品中最热门的一种 它介于关系数据库和非关系数据库之间 是非关系数据库当中功能最丰富 最像关系数据库的产品 1 MongoDB 与 MySQL
  • 使用DVD光盘或者ISO作为本地YUM源

    Yum 全称为 Yellow dog Updater Modified 是一个在 Fedora RedHat CentOS 中的 Shell 前端软件包管理器 基于 RPM 包管理 能够从指定的服务器自动下载 RPM 包并且安装 可以自动处
  • 摸爬滚打DirectX11_day01——VS2015与DirectX11的配置

    什么是DirectX11 DirectX 微软提供的应用程序接口集 APIs 被设计为在运行 windows 操作系统平台上用来提供给开发人员控制硬件的底层接口 它的各个组件提供了访问不同硬件的能力 包括图形 显卡 声音 声卡 GPU 输入