![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DirectX学习之路
文章平均质量分 61
Nim的辙迹
这个作者很懒,什么都没留下…
展开
-
Lesson 10: 着色器
原文地址: http://blog.csdn.net/sinat_24229853/article/details/46941927Direct3D要求使用着色器来渲染几何图形,为了解着色器的由来,我们首先要了解下图形流水线的历史。图形流水线是什么? 图形流水线是GPU(图形处理器,显卡的心脏)工作的通用模型。它以某种形式表示的三维场景或物体为输入,输出二维的光栅化图像到显示器。光翻译 2016-12-14 14:20:26 · 553 阅读 · 0 评论 -
Lesson 12: 索引缓存
原文地址: http://blog.csdn.net/poem_qianmo/article/details/8304741单单用顶点缓存来绘制图形的方法在应对复杂图形的时候非常不科学,显得复杂而力不从心。 也就是说,当物体模型很复杂、顶点数量很大时,仅使用顶点缓存绘制图形会使重复的顶点大大增加,并且Direct3D仍需要对这些重复的顶点进行计算,因此需要更多的存储空间和更大的开销。 这时候,转载 2016-12-15 13:58:43 · 670 阅读 · 0 评论 -
Lesson 18: SDK文档:Tutorial 7 Texture Mapping and Constant Buffers分析
中文翻译文档地址: http://blog.sina.com.cn/s/blog_6e1283650102vfi9.html学习心得:学完本篇,D3D11 SDK文档附带的教程就全部学习完了,想要真正掌握的话,还是需要不断地对代码进行修改,有什么好的想法就在原代码基础上添加、修改,这样你也能在这个过程中弄清其作用及含义。纹理映射纹理映射是指2D纹理到3D几何模型的投影。我们可以认为它是一种包装。为原创 2016-12-17 10:53:22 · 552 阅读 · 0 评论 -
Lesson 8: 渲染框架
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-3设置渲染目标: 在Direct3D里渲染,必须要设置渲染的目标。 通常,这个目标是后台缓冲区。我们一般这样完成设置:ID3D11RenderTargetView *backbuffer; // global declaration// this function翻译 2016-12-14 01:03:36 · 514 阅读 · 0 评论 -
Lesson 9: 全屏
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-4设置屏幕大小: 1.首先,我们必须要对屏幕的宽度和高度进行宏定义:// define the screen resolution#define SCREEN_WIDTH 800#define SCREEN_HEIGHT 6002.下一步,检测整个程序使用到了屏幕大翻译 2016-12-14 13:31:19 · 379 阅读 · 0 评论 -
Lesson 17: SDK文档:Tutorial 6 Lighting分析
中文翻译文档地址: http://blog.sina.com.cn/s/blog_6e1283650102vfi8.html在这个教程中,将介绍最基础的光照类型是方向光。方向光不论对象跟光源的距离,都受到统一的关照。当光照到一个表面时,光照的发射计算这个表面和光线的夹角大小。当光线直接照射到表面时,表面会将所有的光反射回去,显示最高的强度。然而,随着表面与光线的角度增长,反射的光照强度会慢慢暗下来原创 2016-12-16 16:34:33 · 503 阅读 · 0 评论 -
Lesson 16: SDK文档:Tutorial 5 3D Transformation分析
中文翻译文档: http://blog.sina.com.cn/s/blog_6e1283650101cwy7.html深度缓存:没有它的话,在比较小的轨道中,第二个立方体将总是绘制在第一个立方体的上面,即使当它旋转到第一个立方体的后面的时候。深度缓冲区允许Direct3D检测画在屏幕上每个像素的深度。在Direct3D 11中的默认操作是将要画的每个像素和已经在屏幕上的对应像素的深度进行比较。如原创 2016-12-16 15:35:57 · 459 阅读 · 0 评论 -
Lesson 7: 初始化Direct3D
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-2COM: COM是组件对象模型Component Object Model的简称,是一项能够使DirectX独立于编程语言并具备向下兼容的技术。 原文中用乐高积木做了个比喻,乐高积木可以通过堆积在一起形成一个复杂的形状,它们相互兼容,如果想要改变某个部分,只要去掉其中翻译 2016-12-13 21:39:01 · 452 阅读 · 0 评论 -
Lesson 15: SDK文档:Tutorial 4 3D Spaces分析
Constant BufferConstant buffer(cb)是DX10中引入的概念,它取代了DX9时代GPU常量寄存器的概念,允许通过一块大小可变的buffer向shader提供常量数据,而不是之前数量非常受限的n个寄存器,这也是我们遇到的第一种可在shader着色阶段由HLSL访问的资源。 管线的每个可编程阶段都能同时访问一个或者几个cb,对于shader代码来说,cb中的数据都是全局常量原创 2016-12-15 22:04:19 · 400 阅读 · 0 评论 -
Lesson 14: SDK文档:Tutorial02 Rendering a Triangle分析
结构体声明:// Structuresstruct SimpleVertex{ D3DXVECTOR3 Pos;};全局变量声明:// Global VariablesHINSTANCE g_hInst = NULL; //实例句柄HWND g_hWnd = NULL; //窗口句柄D3D10_DRIVER_TY原创 2016-12-15 14:52:49 · 455 阅读 · 0 评论 -
Lesson 11: 绘制三角形
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-5一个三角形由三个点组成,也可以叫做顶点。用一个顶点数组来定义一个三角形,为了GPU能够渲染这个三角形,我们必须告诉GPU三角形的三个顶点的坐标。顶点缓存: 在Direct3D 11中,向顶点信息(如坐标)叫保存在一个缓冲区资源内。如果一个缓冲区用来存放顶点信息,那么它就翻译 2016-12-15 00:28:17 · 529 阅读 · 0 评论 -
Lesson 6: 理解计算机图形学
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-1The CPU Directs the GPU 大意为:CPU驱动GPU绘制图形显示在监视器上。The CPU and GPU Have Separate Memory DirectX图形基础设施(DXGI)示意图: 简单说下,Win32应用程序可以使用Di翻译 2016-12-13 01:32:53 · 448 阅读 · 0 评论 -
Lesson 5: 实时消息循环
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-5In this lesson we will cover a single function, PeekMessage(), and how this function differs from its evil twin, GetMessage(). 主要讲的就是Pe翻译 2016-12-13 00:11:46 · 389 阅读 · 0 评论 -
Lesson 4: 窗口大小和客户区大小
当我们调用CreateWindowEx()函数时,我们使用了500*400来设置窗口的大小。然而,这和客户区的大小是不一样的。客户区为窗口的一部分,游戏软件通常都在客户区完成游戏中的各种画面、功能与效果的实现。 当使用Direct3D时,我们需要确定图片的大小。如果客户区的大小与图片的大小不一致时,它将会被拉伸或收缩以适应客户区的大小。Rendering With and Without Adju翻译 2016-12-12 23:51:11 · 1026 阅读 · 0 评论 -
Lesson 3: 创建窗口
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-3与Lesson2一样,我们使用WinMain函数开始我们的程序。另外,我们将使用另一个叫WinProc()的函数。这个函数将在程序运行的时候处理所有Windows发送给我们的事件消息。下面这个代码用来创建以及运行一个窗口:// include the basic wind翻译 2016-12-12 19:02:35 · 347 阅读 · 0 评论 -
Lesson 2: 基本窗口
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-2运行环境:Visual Studio 2015Win32 Console Programs vs. Windows Programs Win32控制台程序和Windows程序 两项的区别: 我们在学习C++时,用cin、cout那一套写出来的程序通常都是一个黑洞洞的翻译 2016-12-12 16:59:02 · 404 阅读 · 0 评论 -
Lesson 1: 游戏程序的组成
原文地址: http://www.directxtutorial.com/Lesson.aspx?lessonid=11-1-1作者英语水平有限,意思是按自己理解的来,欢迎指导纠正!The Sequence of a Computer Game: Phase 1: Initialize the program 初始化程序: 创建一个窗口来显示我们的游戏,设置图形、模型和其他媒体的加载,分配内翻译 2016-12-12 16:24:07 · 828 阅读 · 0 评论 -
Lesson 13: SDK文档:Tutorial 1 Direct3D 11 Basics分析
头文件:#include <windows.h>#include <d3d11.h>#include <d3dx11.h>#include "resource.h"全局变量声明:// Global VariablesHINSTANCE g_hInst = NULL; //实例句柄HWND g_hWnd = NULL; //原创 2016-12-15 20:04:59 · 501 阅读 · 0 评论