自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 DX12阅读笔记_第六章_01

第五章01被我吃了第六章目标:1.发现用于定义、存储和绘制几何数据的Direct3D接口方法。2.了解如何编写基本的顶点和像素着色器。3.了解如何使用管道状态对象配置渲染管道。4.了解如何创建常量缓冲区数据并将其绑定到管道,并熟悉根签名(root signature)。1.顶点和输入布局两种顶点格式:struct Vertex1 { XMFLOAT3 Pos; XMFLOAT4 Color; };struct Vertex2{ XMFLOAT3 Pos; XMFL

2020-11-02 16:37:26 173 1

原创 DX12阅读笔记_第五章_02

5.3.2:128位颜色它是常见的合并一个额外的颜色的格式,多出来的部分称为alpha。alpha组件通常用来表示颜色的不透明度,这在混合中很有用(第10章)。包含alpha分量,表示可以用4维颜色向量(r, g, b, a)表示一种颜色,其中0≤r, g, b, a≤1。这样就可以使用XMVECTOR类型在代码中表示一种颜色,就能利用到SIMD。对于componentwise multiplication,DirectX数学库提供了以下函数:XMVECTOR XM_CALLCONV XMColorMo

2020-10-19 10:23:33 2426

原创 DX12阅读笔记_第四章_End

4.4 计时和动画为了正确地制作动画,我们将需要跟踪时间。我们需要测量动画帧之间流逝的时间。如果帧率很高,帧之间的时间间隔会很短;因此,我们需要一个高精度的定时器。注意看GameTimer 类4.4.1 计时器性能性能计时器以称为计数的单位来衡量时间。 我们使用QueryPerformanceCounter函数获得性能计时器的当前时间值(以计数为单位)。为了获得性能计时器的频率(每秒计数),我们使用QueryPerformanceFrequency函数。QueryPerformanceCount

2020-09-27 08:53:41 123 1

原创 DX12阅读笔记_第四章_3

初始化Direct3D的过程可以分解为以下几个步骤:使用D3D12CreateDevice函数创建ID3D12Device。创建ID3D12Fence对象和查询描述符大小。检查4X MSAAquality level支持。创建命令队列、命令列表分配器和主命令列表。描述并创建交换链。创建应用程序需要的描述符堆。调整后缓冲区的大小,并创建一个渲染目标视图到后缓冲区。创建深度/模板缓冲区及其关联的深度/模板视图。设置视口和scissor rectangles。1-3点的具体实现内容可以查看

2020-09-25 08:57:18 172

原创 DX12阅读笔记_第四章_2

4.2 GPU与CPU的交互GPU与CPU并行工作,有时需要同步。为了获得最佳性能,我们的目标是尽可能地保持两者的忙碌,并尽量减少同步。GPU有一个命令队列。CPU使用命令列表通过Direct3D API向队列提交命令。一旦一组命令被提交到命令队列,它们不会立即被GPU执行。它们一直在队列中,直到GPU准备好处理它们,因为GPU很可能忙于处理之前插入的命令。创建命令队列的方法:Microsoft::WRL::ComPtr<ID3D12CommandQueue> mCommandQueu

2020-09-24 16:32:13 191

原创 DX12阅读笔记_第四章_1

DX12出来许久直到现在才来读一读··。顺便复习一下DX相关知识吧。直接从第四章开始。第四章开头提出本章的知识点:了解Direct3D在3D硬件编程中的作用2.理解COM在Direct3D中扮演的角色3.学习基本的图形概念,如二维图像如何存储,页面翻转,深度缓冲,多采样,以及CPU和GPU如何交互4.了解如何使用性能计数器函数获得高分辨率计时器读数5.来了解如何初始化Direct3D6.熟悉本书所有演示使用的应用程序框架的一般结构第一点:(1) Direct3D是一个低级的图形API

2020-09-22 00:23:03 245

原创 UE4学习笔记1-(渲染)

网格体模型的优化方面(几何体渲染):从技术上来说最好减少模型数量增大模型尺寸,大的模型虽然会减少绘制次数,但是对于绘制的可能性反而增加了,同时对于光照贴图(光照贴图一般最大4096*4096)以及碰撞检测(比如说一个球碰撞到柱子上了他得到的是整个房间的碰撞信息)内存也会产生影响。模块化网格体折中方法:使用少量大型模型或者大量小型模型(倾向于后者)用单独的模型构建场景之后合并模型,一般只合并损耗最大的模型(合并后最好用同一种材质),不会合并所有。1、网格体经常使用,并且面数越低最好。2、只合

2020-08-18 16:28:41 731

转载 CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理

LVN_BEGINDRAG 鼠标左键正在被触发以便进行拖放操作(当鼠标左键开始拖拽列表视图控件中的项目时产生)LVN_BEGINRDRAG 鼠标右键正在被触发以便进行拖放操作(当鼠标右键开始拖拽列表视图控件中的项目时产生)LVN_BEGINLABELEDIT 开始编辑项的文本LVN_COLUMNCLICK 单击列(当鼠标单击列表视图控件列标题时产生)NM_CLICK 当鼠标单击列表...

2018-11-07 10:36:07 216

原创 多幅图像检测连续两张含有相同缺陷位置图像

将图像的轮廓保存在vector中用来和后面的图像轮廓位置作比较。代码块void CImage_defectDlg::ShowPic(vector img) { vectorboundRect2; //记录上次画框位置 for (vector::size_type ix = 0; ix != img.size(); ++ix) { ...

2018-08-02 09:00:31 246

实时渲染翻译第四章

变换矩阵一种以某种方式转换点、向量或颜色等实体的操作。对于计算机图形专业人员来说,掌握变换矩阵是非常重要的。使用它们,可以进行定位、重塑和动画对象、灯光和相机。您还可以确保所有计算都在相同的坐标系中执行,并以不同的方式将对象投影到平面上。这些只是可以使用转换执行的少数操作,但是它们足以说明转换在实时图形或任何计算机图形中的重要作用。

2019-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除