» cn.Graphics Card
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

cn.Graphics Card

  我们在了解3D加速卡及其相关技术时,往往会频繁遇到一些抽象的术语,本3D图形加速卡术语大放送,能帮助你快速跨入3D之门。

Video card 图形显示卡

Video card 图形显示卡

视频卡,视频适配器,图形加速器,显卡或图形卡等等叫法的扩展卡,目的在于生成和输出显示的图像。现在的图形卡一般都具备加速的3D和2D图形,视频捕捉,电视收看,MPEG-2/MPEG-4解码, 火线, 光笔, TV输出或多显示器输出等功能。

3D API (3D应用程序接口)

3D 图形 APIs列表

API是Application Programming Interface的缩写。API是许多程序的集合,一个3D API 能让编程人员所设计的3D软件只要调用API内的程序,API就会自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能。目前几种主流的3D API有Direct X、OpenGL、3DR、 RenserWare 、 BRender 、 Glide/3Dfx 及QuickDraw 3D Rave等。

DirectX

DirectX

(Direct eXtension,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现。其API包含DirectGraphic(管理图形)、DirectPlay(管理游戏的网络通讯)、DirectSound(管理游戏的声音输出)、DirectInput(管理游戏的摇杆控制)、DirectSetup(管理游戏的安装)等部分(Direct3D与DirectDraw已集成成DirectGraphic)、DirectMusic、DirectPlay。被广泛使用于Microsoft Windows、Microsoft Xbox和Microsoft Xbox 360电子游戏开发,并且只能支持这些平台。最新版本为DirectX 11,创建在最新的Windows 7上。

OpenGL (开放式图形库)

OpenGL (开放式图形库)

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图元绘制复杂的三维景象。而另一种编程接口系统是仅用于Microsoft Windows上的Direct3D。
OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。

OpenGL的高效实现(利用了图形加速硬件)存在于Windows、很多UNIX平台和MacOS。
这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。
开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。

Alpha Blending (ALPHA色彩混合)

Alpha Blending (ALPHA色彩混合)

简单地说这是一种让3D物件产生透明感的技术。一个在屏幕上显示的3D物件,每个像素中通常附有红、绿、蓝(RGB)三组数值。若3D环境中允许像素能拥有一组 Alpha值,我们就称它拥有一个Alpha Channel。Alpha值记载像素的透明度。这样一来使得每一个物件都可以拥有不同的透明程度。Alpha blending这个功能,就是处理两个物件在屏幕画面上叠加的时候,将Alpha值考虑在内, 使其呈现接近真实世界的效果。

Alpha值的范围在0.0到1.0之间, 0.0代表一个全透明的颜色,而1.0表示一个完全不透明的颜色。

Anti-aliasing (抗锯齿处理)

Anti-aliasing (抗锯齿处理)

应用调色技术将图形边缘的“锯齿”缓和,在视觉上得到一种平滑边缘的效果。

DEPTH CUEING (景深效果处理)

DEPTH CUEING (景深效果处理)
景深效果处理则是当物件远离观测者时,降低物件颜色与亮度的一项功能。例如,当一个物体离我们的视线越来越远时,它看起来就会越来越模糊。

FOG EFFECT (雾化效果处理)

FOG EFFECT (雾化效果处理)

顾名思义,它的功能就是制造一块指定的区域笼罩在一股烟雾弥漫之中的效果,程序设计师可以自由调整雾的范围、程度、颜色等参数,再交由3D芯片负责将结果计算出来。

Depth Cueing和Fog Effect功能, 对于决定“立体空间”的外观显示有相当大的帮助,让虚拟出来的世界更加接近真实的世界。

MIP MAPPING (贴图处理)

MIP MAPPING (贴图处理)

在显示3D图像时,MIP贴图处理非常重要。 这项材质贴图的技术,是依据不同精度的要求,而使用不同版本的材质图样进行贴图。当物件移近或远离观测者时,会在物体表面贴上相对应的材质图案,于是让物体呈现出更加真实的效果。例如:物件逐渐远离,依据这种处理方式,程序就会贴上较单纯、细致度较低的材质图样,进而提高图形处理的整体效率。

SHADING:FLAT,GOURAUD,AND TEXTURE MAPPING (着色处理:平面着色、 高氏着色及材质贴图)

SHADING:FLAT,GOURAUD,AND TEXTURE MAPPING (着色处理:平面着色、 高氏着色及材质贴图)

绝大多数的3D物体是由多边形(polygon)所构成的,它们都必须经过某些着色处理,才不会以线结构(wire frame)的面目示人。Flat shading是最简单,也是最快速的着色方法,每个多边形都会被指定一个单一且没有变化的颜色。这种方法虽然会产生出不真实的效果,但非常适用于快速成像作业(quick rendering)及其它要求速度重于细致度的场合。Gouraud Shading就稍为好一点。在多边形上的每一点都会被指定一组色调(hue)值, 同时将多边形着上平顺的渐层色。

TEXTURE MAPPING(材质贴图)

TEXTURE MAPPING(材质贴图)

材质贴图(Texture mapping)在计算机图形学中是把存储在内存里的位图包裹到3D渲染物体的表面。纹理给物体提供了丰富的细节,用简单的方式模拟出了复杂的外观。一个图像(纹理)被贴(映射)到场景中的一个简单形体上,就像印花贴到一个平面上一样。这大大减少了在场景中制作形体和纹理的计算量。例如,可以建立一个球并把脸的纹理贴上去,这样就不用处理鼻子和眼睛的形状了。

随着图形卡功能越来越强,理论上材质贴图变得越来越不必要,而三维绘制(渲染)成了常用的工具。但事实上,最近的趋势是使用更大和更多的纹理图像,再加上把多幅纹理组合到同个物体的不同角度的复杂技术。(这在实时图形学中更为重要,因为同时显示的纹理个数是可用图形内存容量的函数。)

VIDEO TEXTURE MAPPING(动态材质贴图)

是目前最好的材质贴图效果,具有此种功能的图形图像加速卡,采用高速的图像处理方式,将一段连续的图像(可能是即时运算或来自一个AVI或MPEG的档案)以材质的方法处理,然后贴到3D物件的表面上去。例如在赛车游戏中,在挡风玻璃上贴一段连续的天空动画,就能做出类似即时反射环境贴图的效果。

PERSPECTIVE CORRECTION (透视角修正处理)

要让一个经过材质贴图处理的3D物件具备相当真实的外貌,这项处理不可缺少。它采用数学运算的方式,以确保贴在物件上的部分影像图会向透视的消失方向贴出正确的收敛。由于这项工作十分依赖处理器,所以对新一代的3D加速器而言,这个功能也是相当重要。有了它,3D加速器才能保持图形的真实效果。

TEXTURE MAP INTERPOLATION (材质影像插补处理即滤化处理)

当材质被贴到屏幕所显示的一个3D模型上时,材质处理器必需决定每个图素要贴到的像素位置。由于材质是2D图片,而模型是3D物件,所以图素的范围与像素范围通常不能很好吻合。此时要解决这个像素的贴图问题,就得用插补处理的方式来解决。而这种处理的方式共分三种:Nearest NeighborBilinear以及Trilinear

NEAEST NEIGHBOR(近邻取样处理)

NEAEST NEIGHBOR(近邻取样处理)

是一种较简单的材质影像插补的处理方式。使用包含像素最多部份的图素来贴图。这种处理方式速度比较快,常被用于3D游戏开发,不过图形的品质较差。

BILINEAR LNTERPOLATION(双线性插补处理)

BILINEAR LNTERPOLATION(双线性插补处理)

是一种较好的材质影像插补处理方式,能够先找出最近像素的四个图素,然后在它们之间作差补效果,最后产生的结果才会被贴到像素的位置上,这样,可以避免看到大块的像素呈现到萤幕上,就像在观察近距离图形时常常出现的“马赛克”现象。这种处理方式适用于有一定景深的静态影像,不过无法提供影像的最佳品质,同时也不适用于移动中的物件。

TRILNEAR LNTERPOLATION(三线性插补处理)

TRILNEAR LNTERPOLATION(三线性插补处理)

是一种更复杂的材质影像插补处理方式。会用到相当多的材质影像,而每张的大小恰好会是另一张的四分之一。例如:有一张材质影像是512×512个图素,第二张就会是256×256个图素,第三张便是128×128个图素...等等,最小的一张是1×1,使用这些多重解析度的材质影像,当遇到场景较深、较大时(如飞行模拟),就能提供高品质的贴图效果。三线性插补处理比双线性处理需要更大的计算量,而且需要更大的存储器时钟带宽。但是Trilinear Interpolation可以提供最高的贴图品质。

FRAME RATE (帧速率)

FRAME RATE (帧速率)

显示器上画面的更新的速度,其单位为FPS(帧每秒),FPS越高画面越流畅。

FRAME BUFFER (图形画面缓冲区)

FRAME BUFFER (图形画面缓冲区)

该区域主要用于存储可显示的图形信息, 它决定了可显示的最高分辨率与最大彩色数量。

OUBLE BUFFERING(双重缓冲区处理)

DOUBLE BUFFERING(双重缓冲区处理)

绝大多数支持OpenGL的3D加速卡都会提供两组图形画面信息,一组显示,另一组备用,这两组图形画面信息通常被看着front buffer和back buffer。这项功能让显示卡用front buffer存放正在显示的这格画面,而同时下一格画面已经在back buffer待命。 然后显示卡将两个buffer 互换,back buffer的画面显示出来,且同时再在front buffer中画好下一格待命,如此形成一种互补的工作方式,迅速对画面的快速改变做出反应。

RAMDAC(存储器数模转换速度)

RAMDAC(存储器数模转换速度)

表示将存储器图形数据转换成显示器上可见的像素光点的转换速度,单位为MHz。其工作速度越高,频带越宽,高分辨率时的画面质量越好。

Z BUFFER(Z 缓存)

Z BUFFER(Z 缓存)

在3D环境中,每个像素会利用一组数据资料用来定义像素在显示时的纵深度(即Z轴座标值)。Z Buffer所用的位数越高, 则代表该显示卡所提供的物件纵深感也越精确。一般的3D加速卡仅能支持到16位或24位的Z Buffer,对于普通的3D模型而言这也算足够了,不过高级的3D卡更可支持到32位的Z Buffer。对一个含有很多物体连接的较复杂的3D模型,能拥有较多的位数来表现深度感是相当重要的,能避免闪烁现象发生。

(Z 缓存处理)

Z-BUFFERING(Z 缓存处理)

Z-Buffering是在为物件进行着色时,执行“隐藏面消除”工作的一项技术,使隐藏物件背后的部份不会被显示出来.

中文维基百科上的计算机图形学分类
中文维基百科上的三维计算机图形学分类

anonymous user login

Shoutbox

~4h ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~7d ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~7d ago

fleg: hey there! What's the best tool for remote work? Teamviewer feels terrible. Thanks!

~21d ago

joreg: Last call: 6-session vvvv beginner course starting November 4: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/

~1mth ago

joreg: Missed the last meetup? You can rewatch it here: https://www.youtube.com/live/MdvTa58uxB0?si=Fwi-9hHoCmo794Ag

~1mth ago

theurbankind: When is the next big event, like node festival ?

~1mth ago

~1mth ago

joreg: Join us for the next vvvv meetup on Oktober 17th: https://visualprogramming.net/blog/2024/25.-vvvv-worldwide-meetup/

~1mth ago

joreg: 6 session beginner course part 2 "Deep Dive" starts January 13th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-ii/