FreeBSD中3D加速功能的启用。转[lsstarboy的文章…
2009-05-13 14:00:43来源:未知 阅读 ()
在windows的世界里,3D功能是一个比较热门的话题,大多数的游戏都是基于3D的。但在*nix的世界,3D好象就不是那么太重要的,甚至有的”大侠“级的高手,竟然不知道有3D功能的存在。本人为了将笔记本的3D功能启动(操作系统用FreeBSD),费尽了心思,整日游荡于sourceforge和google之间,终于经过近一个月的努力,打开了3D功能,将主要的问题罗列于下:
(声明:本文内容皆为本人的个人理解,有很多可能是错误的,敬请各位高手指正)
一、FreeBSD下实现3D的原理。
其实这不仅仅是FreeBSD下的原理,也是整个*nix家族的原理。
3D功能的实现其实也是分层的,近似于OSI的分层模型。
(1)、在最上端,是应用层,就是应用程序提出3D渲染的申请。这个申请通过一个函数调用,从而调用下面一层的3D加速的调用接口。
(2)、3D加速的函数接口(API)。它将应用层的各个应用转换为系统的调用,从而可以让X系统去和硬件打交道。最流行的API包括:DirectX,OpenGL等。在*nix的领域,就不得不提到一个Windows领域比较陌生的名词:MESA。最原始的Mesa就是一个OpenGL的实现,现在的Mesa在许多地方都有所突破。详情可以参看:
http://www.mesa3d.org/
而这些函数和X系统的接口,就是GLX。GLX是运行在X上的一种协议,能过它,函数调用才能和X系统打交道。
(3)、DRI。这是实现3D功能最重要的部分。
DRI是Direct Rendering Infrastructure,可以简单得把它理解为X和硬件间的接口。但它包含很多独立的模块,负责从X到硬件的各个环节,包括内核。
它最主要的工作就是将Mesa或OpenGL的函数调用转换为硬件的指令,从而指挥硬件进行渲染等工作。
(4)、DRI驱动程序。这是直接和硬件相关的程序。它提供对硬件的支持。
二、实现的条件
由前面的介绍可以知道,最重要的事情就是让你DRI支持你的显卡。目前为止,在FreeBSD中,DRI支持以下几个系统的显卡(在/usr/src/sys/i386/conf/NOTES中有介绍):
device drm # DRM core module required by DRM drivers
device i915drm # Intel i830 through i915
device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL
device mgadrm # AGP Matrox G200, G400, G450, G550
device r128drm # ATI Rage 128
device radeondrm # ATI Radeon
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 最便宜的空间域名! 2014-11-11
- FreeBSD中启用SSH 2009-05-13
- 关于转载网页/文章的说明 2009-05-13
- SecureCRT设置 2009-05-13
- 通过lagg, 实现网络接口故障转移failover功能(即双网卡绑定) 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash