登录 立即注册
查看: 13100|回复: 0

OpenGL和DirectX

[复制链接]

1142

主题

4153

帖子

4346

积分

超级版主

Rank: 8Rank: 8

积分
4346

逍遥会员章逍遥忠实勋章逍遥荣耀勋章逍遥达人勋章逍遥游戏玩家逍遥论坛达人逍遥新人资格章

发表于 2019-12-19 10:35:24 | 显示全部楼层 |阅读模式
本帖后由 心芝雨 于 2021-3-17 11:26 编辑

引言
在与计算机图形的接触中,我一定听说过两个主要的编程接口:OpenGL和DirectX,它们一直在竞争并促进各自的开发。API战争真的很有趣。让我们看看这两个大老板是什么,他们的实力是什么。
OpenGL是什么
OpenGL是一个专业的图形程序接口,它定义了一种跨编程语言和跨平台编程接口规范。它用于三维图像(或二维图像),是一个功能强大、易于调用的底层图形库。OpenGL是一个独立于硬件的软件接口,可以在不同的平台之间移植,如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2。因此,支持OpenGL的软件具有良好的可移植性和广泛的应用前景。由于OpenGL是图形的底层图形库,它不提供几何实体原语,不能直接用于描述场景。但是,通过一些转换程序,可以很容易地将三维图形设计软件(如AutoCAD[2])生成的DXF和3DS模型文件转换为OpenGL的点数组。市场研究机构JonPeddie Research预测OpenGL3.1将安装超过1亿个图形硬件。AMD、Nvidia和S3图形图形驱动程序都支持OpenGL 3.0。
OpenGL-ES是什么
OpenGL(OpenGL用于嵌入式系统)是OpenGL三维图形API的一个子集。它是为移动电话、PDA和游戏主机等嵌入式设备而设计的。Opengles是一个免费的、跨平台的、功能良好的图形应用程序接口API,用于二维和三维应用程序。专业设计各种嵌入式系统,包括控制台、手机、手持设备、家用电器和**。它由一个定义良好的桌面OpenGL子集组成,在软件和图形加速之间创建了一个灵活而强大的底层接口,这是目前在移动游戏中使用的底层图形支持。
DirectX是什么
从1995年到1996年,微软推出了一个新的程序来支持在Windows95上运行的游戏,旨在将市场扩展到任天堂和世嘉控制的游戏。然而,微软不想使用已经在NT上可用的OpenGL技术。微软收购了rendermophics,ltd.并收购了3dapi所称的现实实验室。重组后,微软**了一个新的3dapi,direct3d.microsoft,它实现了direct3d并冻结了OpenGL!发动API战争。这是DirectX的历史!直接扩展(DX)是由微软创建的多媒体编程接口。它用C语言编程,满足COM的要求。广泛应用于Microsoft Windows、Microsoft Xbox、Microsoft Xbox 360和Microsoft Xbox One视频游戏开发,只能支持这些平台。DirectX增强了3D图形和声音的效果,并为设计师提供了通用的硬件驱动程序标准,这样游戏开发者就不必为每个品牌的硬件编写不同的驱动程序,同时也降低了用户安装和硬件设置的复杂性。在字面意义上,直接的x是一个直接的意思,后面的x代表许多意思。从这个角度来看,我们可以看到DirectX是为许多软件提供直接服务的。DirectX不是一个简单的图形API。它是微软开发的一个广泛使用的API。根据其性质,可分为四个部分:显示部分、语音部分、输入部分和网络部分。DirectX已成为一个应用程序平台。目前,DirectX在游戏开发中占有较大的市场份额。
OpenGL和DirectX的工作
两者都是用于渲染二维或三维图形的图像应用程序编程接口。可以说,这些接口连接上应用程序和下GPU。应用程序向这些接口发送渲染命令,而这些接口又向图形卡驱动程序发送渲染命令。这些图形卡驱动程序真的知道如何与GPU通信。正是他们将OpenGL或DirectX函数调用转换为GPU可理解的语言,他们还负责纹理等。数据转换为GPU支持的格式。
OpenGL和DirectX的区别
1 在技术方面
OpenGL具有很强的可移植性,而DirectX只能在Windows操作系统中使用。它是基于Windows操作系统平台的应用程序接口。OpenGL只是一个图形库。它是一个专业的三维程序界面。OpenGL被设计为只输出,所以它只提供渲染。核心API没有窗口系统、音频、打印和其他输入设备的概念。正是因为这种设计允许它呈现完全独立于操作系统的代码,从而允许跨平台开发。DirectX是微软开发的一种广泛使用的API。它提供了一套多媒体接口解决方案,尤其是在3D图形中。在硬件通信方面,DirectX是一个程序,它可以很容易地确定计算机的硬件性能,然后设置与之匹配的程序参数。此程序使多媒体软件程序能够在具有与DirectX兼容的硬件和驱动程序的基于Windows的计算机上运行,同时确保多媒体程序可以紧急使用高性能硬件。OpenGL是一个独立于硬件的软件接口,可以在任何平台上运行。它在设置与硬件匹配的程序参数方面不如DirectX。目前,硬件开发人员正在加强对IT的支持。
2 在应用方面
OpenGL仍然是专业高端图形领域不可替代的主角。OpenGL已广泛应用于CAD、内容创作、能源、娱乐、游戏开发和虚拟现实等行业。DirectX适用于多媒体、娱乐、实时三维动画等广泛实用的三维图形计算。在基于Windows平台的游戏开发中,它占据了大部分市场

OpenGL和DirectX的工作
两者都是用于渲染二维或三维图形的图像应用程序编程接口。可以说,这些接口连接上应用程序和下GPU。应用程序向这些接口发送渲染命令,而这些接口又向图形卡驱动程序发送渲染命令。这些图形卡驱动程序真的知道如何与GPU通信。正是他们将OpenGL或DirectX函数调用转换为GPU可理解的语言,他们还负责纹理等。数据转换为GPU支持的格式

CPU要支持虚拟化技术 主板开启VT 关闭Hyper-V 显卡驱动正确 完整系统
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|模拟器|手机模拟器|手游模拟器|安卓模拟器|( 沪ICP备14046591号 )

GMT+8, 2024-12-22 19:28 , Processed in 0.026049 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表