初学Direct X(10)—— D3D基础预备知识

初学Direct X(10) —— D3D基础预备知识

1. 像素格式

D3DFMT_X8R8G8B8(F)
X:未加使用
8:8位用于显示
B:用于显示蓝色
F:浮点像素类型

以下三个较为常用,使用其他之前务必验证显卡是否支持

D3DFMT_R8G8B8
D3DFMT_X8R8G8B8
D3DFMT_A8R8G8B8

2. 内存池

定义资源缓存的存储位置

可默认宏为:D3DPOOL_DEFAULT

3. 深度缓存

是只含有特定像素的深度信息而不含图像数据的表面,可用于判断物体的前后显示

D3DFMT_D24S8
D:深度信息
24:利用24保存深度信息
S:供模版使用

4. 顶点运算

进行顶点运算有软硬两种,最好用硬,因为这样可以不占用CPU资源

5. 查找设备是否符合性能

利用D3DCAPS9可以判断主显卡是否支持某些特性,比如是否支持顶点运算

 D3DCAPS9 caps;//检测图形设备的支持的特性
d3d->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);

int vp = 0;//是否支持硬件顶点运算
if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) {
    vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
}
else {
    vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}

6. 多重采样

常用于全屏反走样,缺点是开启后会显著降低程序的运行速度,D3D中使用D3DMULTISAMPLE_NONE进制多重采样,D3DMULTISAMPLE_1_SAMPLESD3DMULTISAMPLE_16_SAMPLES指定了1~16级的多重采样

7. COM

COM接口前都有前缀I

8.中间层

中间层有HAL(Hardware Abstraction Layer)和REL(Reference Rasterizer Device)D3D有的技术,但是显卡不支持,会使用REL,支持则使用HAL。

原文地址:https://www.cnblogs.com/leihui/p/8986465.html

时间: 2024-11-14 12:27:45

初学Direct X(10)—— D3D基础预备知识的相关文章

Linux的基础预备知识

   Linux下一切皆文件 1.[email protected]:/home/mk#   root:该位置表示当前终端登录的用户名 mk-virtual-machine:/home/mk:当前终端的工作目录 #:超级管理用户登录 $ :普通用户 2.su或su username :进入超级用户 sudo passwd root :更改root密码 su与sudo的区别:sudo命令的作用是让授权的普通用户能够以管理员权限执行命令 3.关机命令: shutdown(正常关机).halt(关闭内

大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst

android金阳光自动化测试——学习历程:自动化预备知识上&&下

章节:自动化基础篇——自动化预备知识上&&下 网易云课堂: 上:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877113&courseId=712011 下:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877114&courseId=71

L1--数据结构简介与预备知识

介绍 如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应的操作,这个相应的操作叫做算法. 数据结构 = 个体 + 个体的关系 算法 = 对存储数据的操作(解题的方法和步骤) 衡量算法的标准 1.时间复杂度:大概程序要执行的次数,而非执行的时间: 2.空间复杂度:算法执行过程中,大概所占用的最大的内存: 3.难易程度 4.健壮性 数据结构的地位 数据结构是软件中最核心的

(连载)边喝咖啡边学Unity——第二章 预备知识体系

第二章 预备知识体系 --本章涉及空间数学.解析几何.线性代数.计算机图形学.算法.数据结构等众多基础学科.同上一章相比,虽然枯燥,但是绝不能称为废话之章,即使粗略的看一遍,也比直接跳过来的好,详细地读完,会让读者以后的开发之路走的更加平坦. 并且本章的知识不仅仅对您的Unity游戏开发有帮助,对于大部分软件开发人员都是大有作用的. 作为传统3D游戏编程来讲,需要运用到的知识面非常之广,涉及到的学科特别之多.而通常讲编程的书籍,会弱化数学知识,讲数学的书籍,会弱化编程方面的知识.这就是我在第一章

django框架预备知识

内容: 1.web预备知识 2.django介绍 3.web框架的本质及分类 4.django安装与基本设置 1.web预备知识 HTTP协议:https://www.cnblogs.com/wyb666/p/9383077.html 关于web的本质:http://www.cnblogs.com/wyb666/p/9034042.html 如何自定义web框架:http://www.cnblogs.com/wyb666/p/9038644.html 了解cookie和session:https

记数据结构--入门和预备知识

数据结构(一)--入门和预备知识 1. 概述 数据结构定义: 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中, 以及在此基础上为实现某个功能(如元素的CURD.排序等)而执行的相应操作,这个相应的操作也叫算法. 数据结构 = 元素的存储 + 元素的关系的存储算法 = 对数据存储的操作 算法: 算法就是:解决问题的方法和步骤 衡量算法有如下标准: 时间复杂度(程序要执行的次数,并非执行时间) 空间复杂度(算法执行过程中大概要占用的最大内存) 难易程度(可读

[转]预备知识—程序的内存分配

因为经典,所以转发. 一.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 栈区(stack)  —   由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 堆区(heap)   —   一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回    收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表. 全局区(静态区)(static) —,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,

【转】关于LIS和一类可以用树状数组优化的DP 预备知识

原文链接 http://www.cnblogs.com/liu-runda/p/6193690.html 预备知识 DP(Dynamic Programming):一种以无后效性的状态转移为基础的算法,我们可以将其不严谨地先理解为递推.例如斐波那契数列的递推求法可以不严谨地认为是DP.当然DP的状态也可以是二维/三维的,某一维的含义也不仅仅是指某个数列的第几项. 树状数组(BIT or fenwick tree):一种高效地动态维护一个序列并动态求取前缀和的数据结构.修改某个元素/求一次前缀和的