当前位置:谷粒网 > 生活妙招 > 正文

Direct3D (direct3d怎么开启)

作者:赵颂鸣 生活妙招 2023-04-07 11:03:05 阅读:22

由微软公司所制定的3D规格界面,与Windows 95和Windows NT作业系统兼容性好,可绕过图形显示接口(GDI)直接进行支持该API的各种硬体的底层操作,大大提高了游戏的运行速度。

基本介绍

外文名:Direct3D本质:3D规格界面基础:微软的通用对象模式开发:微软套用:多媒体、娱乐、即时3D动画平台:Windows作业系统

简介

Direct 3D是基于微软的通用对象模式COM(Common Object Mode)的3D图形API。它是由微软(Microsoft)一手树立的3D API规范,微软公司拥有该库着作权,它所有的语法定义包含在微软提供的程式开发组件的帮助档案、原始码中。Direct3D是微软公司DirectX SDK集成开发包中的重要部分,适合多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算。自1996年发布以来,Direct3D以其良好的硬体兼容性和友好的编程方式很快得到了广泛的认可,现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。但它也有缺陷,由于是以COM接口形式提供的,所以较为複杂,稳定性差,另外,目前只在Windows平台上可用。★Direct3D(简称:D3D)是微软公司在Microsoft Windows作业系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广为各家显示卡所支援。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一。Direct3D的抽象概念包括:devices, swap chains和resources。有4种device type,D3DDEVTYPE定义了设备类型。HAL(hardware abstraction layer):使硬体加速。reference:应用程式请求一个reference设备。null reference:当系统没有装SDK,但是应用程式请求一个reference设备的时候,它就返回一个null reference。可插拔的软体(Pluggable software);设备通过RegisterDevice设备方法提供。Device每一个设备至少要有一个swap chain.一个swap chain可用来产生一个或多个back buffer surfaces。渲染目标(render target)也是back buffer surface。back buffer是属于渲染(render)的部份。所有的back buffer都是合理的render target,但是并非所有render target都是back buffer。surface是一种资源,包含一个矩形集合的像素数据,如color, alpha, depth/stencil。资源有4个属性:Type:资源的类型,如顶点缓冲区(vexert buffer),或一个渲染目标(render target)。Usage:资源的用途,如纹理(texture)或渲染目标,是一系统的旗标所组成,每个旗标占1 bits。Format:数据的格式,如一个二维表面的像素格式。例如,D3DFMT_R8G8B8的值是一个24 bits的颜色深度(colour depth,8 bits是红色,8 bits绿色以及8 bits是蓝色)。Pool:资源所分配的内部存储器空间类型。

Pipeline

Graphics pipeline processDirect3D 10 API定义了vertices, textures, buffers,以及state组群转换到萤幕上的流程。这样的流程被描述成rendering pipeline有着许多不同的stages. The different stages of the Direct3D 10 pipelineare:Input Assembler:从程式里读取vertex data并将程式提供的vertex buffer倒进pipeline.顶点着色引擎(Vertex Shader): Performs operations on a single vertex at a time,像是transformations, skinning,或lighting.几何着色器(Geometry Shader): Shader Model 4.0引进了几何着色器,使用Shader资源来处理点、线、面的几何坐标变换,一次最多处理六个点,快速地将模型类似的顶点结合起来进行运算。此一过程无需CPU参与。Stream Output:将Vertex Shader和Pixel Shader处理完成的数据输出给用户。Rasterizer: Converts primitives into pixels,再将像素(pixels)输出给pixel shader. The Rasterizer亦可运行其他工作,像是切割非视觉性的像素,or interpolating vertex data into per-pixel data.像素着色引擎(Pixel Shader):决定最后的像素颜色(pixel colour)to be written to the render target and can also calculate a depth value to be written to the depth buffer.Output Merger:接收来自于pixel shader的slice,进行传统的Stencil测试和Depth测试,整并各种不同的输出数据,用以创建最后之结果。

显示模式

Direct3D有两种display modes:全萤幕模式(Fullscreen mode):全萤幕是指画面全部被Direct3D所占据,不会再显示其他的视窗画面。目前市面上发展的游戏软体多採用此模式。视窗模式(Windowed mode):视窗模式是指可以有多个视窗同时出现在萤幕上。

历史

1992年,Servan Keondjian开创RenderMorphics公司,成立了一个Reality Lab实验室,专事3D图形技术及API技术研究。有两种版本的API被发布。1995年2月微软买下RenderMorphics,由Keondjian在Windows 95上开发3D图形引擎,主持Direct3D项目的开发。

版权声明:本文内容由用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。转载请注明出处:https://www.gulizw.com/guli/68371.html

网友评论

  • 随机文章

  • 热门文章

  • 最新文章