- 2
- 0
- 约3.09千字
- 约 4页
- 2017-06-07 发布于重庆
- 举报
D3D10指南系列
声明:
? 2012 刘邓 hfutld@yeah.net. All rights reserved.
翻译说明:
1./ 这个符号出现在我翻译一个单词或者词组不确定时可能的选项
2.() 出现在一个汉语词组后,标示这个单词比较关键或者我不认识。
3.在一段中文译文后出现一段原文,说明这一段我翻译的不得要领,还忘自己慎重考虑
4.文中翻译的英文出处为DirectX SDk(2010 JUNE)的帮助文档,具体内容请到微软官网下载查阅。
5.由于本人才疏学浅,错误之处在所难免还望您不吝赐教。
6.最后祝大家天天开心~
指南2:渲染一个三角形
概述:
在前一个指南中,我们创建了一个最简单的Direct3D10应用程序:在一个窗口中输出一种颜色。在这个指南中,我们将扩展这个应用程序实现在窗口中渲染一个三角形。我们将逐一讲解建立三角形相关数据结构的各个过程。最后的输出结构时在窗口中心渲染一个三角形。
三角形元素
一个三角形由它的三个顶点构成。一系列位于不同位置的顶点定义了不同的三角形。为了让GPU能够渲染一个三角形,我们必须告诉它三角形三个顶点的位置。我们以图一(Figure 1)为例,我们将把位置为(0,0,)(0,1)(1,0)的三个点告诉GPU,然后GUP就可以拥有足够的信息来绘制我们想要的三角形。
现在我们知道如果我们想渲染一个三角形就必须把三角形的三个顶点位置告诉GPU。我们如何把这些信息告诉给GPU呢?在Direct3D 10中,顶点信息(比如顶点位置)被存储在一个缓存资源中。我们必须创建一个足够大的顶点缓存来存储三角形三个顶点信息。在Direct3D10中应用程序在创建一个缓存资源时必须以字节的方式指定缓存大小。我们可以知道系统需要为三角形三个顶点分配足够大的空间,但是我们如何知道确切需要多少字节呢?为了回答这个问题我们首先要了解顶点布局(Vertex layout)
输入布局(Input Layout)
一个顶点有一个位置信息。同时往往(More often than not),一个顶点不止包含位置信息,同时还包含属性比如作为一个法线(Normal),一个或者多个颜色,纹理坐标(texture coordinates)(用来做纹理映射)等等。顶点布局就是定义这些属性在内存中如何分布:各种属性的数据类型;各个属性的大小;各个属性在内存中的顺序。因为这些属性通常由不同数据类型的数据构成所以在D3D10中以一个结构体的方式存储。一个的顶点的大小可以很方便的通过结构体的大小获得。(ps.一般用Sizeof()函数)。
在这个指南中,我们仅仅用到顶点的位置信息。因此我们可以定义一个结构体用来包含单一的D3DXVECTOR3(ps.以D3DX开头命名的变量或者函数都是DirectX扩展库中的)。D3DXVERTEX3类型是一个包含三个浮点数元素的向量(vector)(ps.向量是STL即C++标准模板库中的容器,学习D3D了解STL是不现实的,建议百度“STL”获取相关知识。)
Struct SimpleVertex
{
D3DXVERTEX3 pos;
};
现在我们有了一个代表我们顶点的结构体。它专注于在存储顶我们应用程序内存区域内的顶点信息存储(That takes care of storing vertex information in system memory in our application.)
然而,当我们把这个结构体传递给GPU时,实际上我们只是传递了一块内存区域。为了从缓存中提取正确的属性信息,GPU必须要知道我们设置的结构体的布局。为了达到这个要求,我们使用输入布局。
在D3D10中,输入布局是一个让GPU理解顶点描述结构体描述的Direct3D对象(In Direct3D 10, an input layout is a Direct3D object that describes the structure of vertices in a way that can be understood by the GPU)。每一个顶点属性可以被一个D3D10_INPUT_ELEMENT_DESC结构体描述。应用程序定义一个数组包含一个或者多个D3D10_INPUT_ELEMENT_DESC,然后使用这个数组来创建输入布局对象以此来描述顶点。下面是D3D10_INPUT_ELEMENT_DESC的各个字段(files)。
SemanticName
(语义名称) 语义名称是一个包含自然语义描述的单词字符串。单词可以是C语言标示符的任意格式,同时也可以随意选择。比如说一个良好的描述顶点位置的语义名称为POSOTION。语义名称不区分大小写(case-sensitive)。 SemanticIndex
(语义
您可能关注的文档
- C静态类和静态类成员详解.doc
- C页面静态化学习.doc
- C题--简易直流电子负载.doc
- C题库(选择判断).doc
- UN系列之UN-100型对焊机.docx
- C题高效直流稳定电源.docx
- C高级经典开发技术大全.docx
- Unturned31000版合成表.doc
- UP-Atom510开发板上安装meego系统--122更新.docx
- UP350程序设定-CHN.doc
- 印刷服务实施方案.docx
- 2026年春季学期学校听评课活动记录表及评课意见汇总.docx
- 2026事业单位工勤技能-安徽-安徽电工一级(高级技师)历年参考题库含答案详解5卷试题.docx
- 2026年特种作业类特种设备作业锅炉压力容器压力管道安全管理A3-永久气体气瓶充装P1参考题库含答案.docx
- 护眼指南:干眼症缓解与视疲劳恢复.docx
- 2026年学历类自考专业(法律)中国法律思想史-民事诉讼法学参考题库含答案解析(5卷题版).docx
- 2026年学历类自考中国税制-学前儿童发展参考题库含答案解析(5卷试题).docx
- 2026年学历类自考高等数学基础-学前比较教育参考题库含答案解析(5卷试题).docx
- 2026年学历类自考幼儿园教育基础-国民经济统计概论参考题库含答案解析(5卷试题).docx
- 内容电商选品逻辑:高转化率商品的底层共性分析.docx
最近下载
- 数据结构与算法(Java版)第5版叶核亚习题答案.docx VIP
- 关于兵团的面试题及答案.doc VIP
- 论汉代画像石中的动物造型之美.docx
- 2025年益阳职业技术学院单招职业适应性考试题库(各地真题).docx VIP
- 2025年韶关马市镇招聘党群服务中心专职人员考试笔试试题(含答案).pdf VIP
- LY/T 2289-2018 林木种苗生产经营档.案.pdf
- 人教版数学七年级上册第5章一元一次方程的题型举一反三(解析版+原卷版).docx VIP
- 秋梨润肺膏(修改)幻灯片.ppt VIP
- 中国国家标准 GB/T 46954-2026花卉扦插繁殖技术规程.pdf
- 实验一 数据库定义实验.docx VIP
原创力文档

文档评论(0)