圖形系統(tǒng)概述_第1頁(yè)
圖形系統(tǒng)概述_第2頁(yè)
圖形系統(tǒng)概述_第3頁(yè)
圖形系統(tǒng)概述_第4頁(yè)
圖形系統(tǒng)概述_第5頁(yè)
已閱讀5頁(yè),還剩95頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Graphics/VR2007

第二章圖形系統(tǒng)概述

OverviewofGraphicsSystem

SchoolofElectronicInformation,

SiChuanUniversity,ChengduRR.China

‘主要內(nèi)容

?圖形系統(tǒng)的總體層次結(jié)構(gòu)

?圖形系統(tǒng)的輸出/輸入設(shè)備

?圖形工作站

?圖形控制器(圖形卡)

?圖形軟件體系結(jié)構(gòu)及其分類(lèi)

?圖形軟件的標(biāo)準(zhǔn)化問(wèn)題

?OpenGL簡(jiǎn)介

?圖形網(wǎng)絡(luò),Internet上的圖形*

?坐標(biāo)系統(tǒng)

圖形系統(tǒng)的總體層次結(jié)構(gòu):

圖形輸出顯示設(shè)備

?陰極射線管CRT

存儲(chǔ)管式顯示器一隨機(jī)掃描顯示器(矢量顯示器)

一刷新式光柵掃描顯示器一彩色光柵掃描顯示器

?平板顯示器FPD

?等離子體顯示板「

9薄膜光電顯示器上(發(fā)射)

發(fā)光二極管LED」

液晶顯示器LCD(非發(fā)射)

?三維觀察設(shè)備

CRT(cathode一raytube)工作原理

電子槍聚焦系統(tǒng)加速系統(tǒng)磁偏轉(zhuǎn)系統(tǒng)

電子束

熒光屏—

隨機(jī)掃描顯示器一刷新式光柵掃描顯示器

刷新式CRT光柵掃描顯示器

電子槍聚焦系統(tǒng)加速系統(tǒng)磁偏轉(zhuǎn)系統(tǒng)掃描線

水平回掃

■刷新:電子束從上到下掃W垂直回掃

屏。刷新頻率工60Hz。

逐行掃描

■幀

隔行掃描

彩色CRT顯示器■蔭罩法Shadow-mask

電子槍

RGB顏色模型

按三角形排列

磁化(激活)熒光點(diǎn)三點(diǎn)距為.28的球

熒光點(diǎn)

角形,對(duì)應(yīng)一個(gè)像素面顯示器

?像素:每個(gè)可點(diǎn)亮的屏幕點(diǎn),最小顯示/處理單位。包含顏

色、亮度、位置等信息。

?刷新緩存(幀緩存,顯存):保存圖形定義的存儲(chǔ)器,包括

顏色緩存、位置緩存等。

J彩色CRT顯示器■蔭柵式

點(diǎn)距為?25的柱

面顯示器

常用于高分辨率彩色顯示器

善離子體顯示板PDP(PlasmaDisplayPanel)

導(dǎo)體

《體

玻璃板

、瞰璃板

導(dǎo)電帶上施加點(diǎn)火電壓,

導(dǎo)致交叉點(diǎn)處(像素位置)

的氣體進(jìn)入電子和離子的

輝光放電等離子區(qū),即點(diǎn)

亮該像素。

7液晶顯示器LCD(liquidcrystaldisplay)

?液晶

?介于液體和固體之間,具有晶狀結(jié)構(gòu)分子的.

化合物。

?具有液體的流態(tài)性質(zhì)和固體的光學(xué)性質(zhì)。

■當(dāng)液晶受電壓影響時(shí),物理性質(zhì)發(fā)生變化,

此時(shí)通過(guò)它的光的折射角度就會(huì)發(fā)生變化,

從而產(chǎn)生色彩。

液晶顯示器LCD工作原理開(kāi)態(tài)

線狀液晶

透明導(dǎo)體亞//偏振器

歹U

7

U光

偏振器

.?開(kāi)態(tài)

將該像素/的光反射給觀察者

液晶顯示器LCD原理—關(guān)態(tài)

?點(diǎn)距:兩個(gè)液晶顆粒(光點(diǎn)。之間的距離_

?分辨率:液晶顯示器含有的液晶顆粒,如1024X768

光柵掃描顯示器的一些性能指標(biāo)

?分辨率:

光點(diǎn)無(wú)重疊顯示的最多點(diǎn)數(shù),如1280)

1024X768等。一般0?28~0?32mm療

較好顯示效果。

?緩存位數(shù)(深度或位平面數(shù)):

每個(gè)像素包含的信息位數(shù)。

?全彩色(真彩色)

每個(gè)像素具有24個(gè)存儲(chǔ)位以上的顏色位o

問(wèn):分辨率1024X:L024的真彩色顯示器(每像

素顏色位為24位),至少需要多少容量的幀緩存?

■虛擬現(xiàn)實(shí)系統(tǒng)的三維觀察設(shè)備

圖形工作站的觀察系統(tǒng)

?面向高端應(yīng)用,如醫(yī)學(xué)成像處理、空中交通控制、

復(fù)雜系統(tǒng)設(shè)計(jì)與仿真……

SGIRealityCenter3300W

顯示寬屏分子系統(tǒng)視圖

SGIRealityCenter2000D

顯示體繪制上脈管血流仿真

SuperWall多板顯示系統(tǒng)曲面式屏幕系統(tǒng)

輸入設(shè)備

?鍵盤(pán)、鼠標(biāo)

?按鈕盒、旋鈕

?跟蹤球、空間球、操作桿、數(shù)據(jù)手套

?數(shù)字化儀

?掃描儀

?觸摸板

?光筆

光筆

?光筆是一種檢測(cè)光的裝置,直接在屏幕上操

作拾取位置。

透鏡組光導(dǎo)纖維

GO掃描儀,一

?將對(duì)象掃描到計(jì)算機(jī),一般以像素信息進(jìn)行存儲(chǔ)。

如36位或48位真彩色掃描儀,感光器件多數(shù)采用CCD

(ChargeCoupledDevice,電荷耦合器件)

三維信息輸入系統(tǒng)

?輸入真實(shí)物體的三維信息,在計(jì)算機(jī)中生成三

維實(shí)體模型。

AppleMacintosh采用

小組工作現(xiàn)場(chǎng)

的三維數(shù)字化系統(tǒng)一MareLevoy

(Siggraph'2000)

C三維信息輸入系統(tǒng)

3DCameraM3

?三維照相機(jī)

3DCameraM13DCameraM2

G圖形輸出硬拷貝設(shè)備

?打印機(jī)

?噴墨

g激光.

?繪圖儀

臺(tái)式

大型滾動(dòng)傳送式

圖形工作站組成模塊示意

DAC

GPU存

系統(tǒng)視頻卡

存儲(chǔ)器CPU口

0

系統(tǒng)總線

設(shè)備驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)

主機(jī)主板示意:

視頻卡

?接口

PCI,PCIExpress

IEEE-1394,RS-422

視頻輸入/輸出:Video、S-Video>AV...

音頻輸入/輸出

?調(diào)制制式:

NTSC/PAL,NTSL

?信號(hào)轉(zhuǎn)換

DACADC

?視頻數(shù)據(jù)壓縮格式

硬件/軟件壓縮,多種格式如MPEG、ASF、AVI...

圖形處理器(圖形卡,顯卡)

?連接計(jì)算機(jī)和顯示終端的紐帶

?存儲(chǔ)圖形數(shù)據(jù)

?完成大部分圖形構(gòu)建、處理運(yùn)算函數(shù)

?減輕CPU負(fù)擔(dān),提高顯示能力和顯示速度

圖形卡的組成模塊視頻存儲(chǔ)數(shù)字

模擬轉(zhuǎn)換器,

模擬信號(hào)輸出

將二進(jìn)制的數(shù)

字信號(hào)轉(zhuǎn)換為

計(jì)和顯示器相適

機(jī)

制GPU

顯仔

AGP,VGA,DVI,TV-Out

圖形卡的主處理芯片——GPU

?GPU(GraphicsProcessingUnit)

?運(yùn)行各類(lèi)圖形函數(shù),如OpenGL硬件加速,

DirectX(硬件編程接口,包括

DirectDraw?DirectSound..)

?二主流GPU芯片舉例

AMD&ATI

AProcessingPofwerhousc

A>CrwWATI

mrwwWw<Mjdw*.*?€<?<??Hw.

cuM-rnrtmplarfwma

3Dlabs的專(zhuān)業(yè)芯片

圖形卡的存儲(chǔ)模塊一幀緩存’(刷新緩存,顯存)

?存儲(chǔ)將要顯示的圖形像素信息,及保存圖形

運(yùn)算的中間數(shù)據(jù)。主要類(lèi)型:

SGRAM(SynchronousGraphicsRAM)

SDRAM(SynchronousDynamicRAM)

,DDR(DynamicDoubleRAM)

GDDR2(GraphicsDynamicDoubleRAM2)

?GDDR3

?幀緩存(FrameorRefreshBuffer)

Interfacewithhostcomputer

(Displaycommands)(Interactiondata)

Keyboard

*Displaycontroller

Mouse

OOOOCOOOOOCOCOOOOCCOCC00300COOOOOCOO

OOOOOOOOOOCOCODOOOCCCCC1110000000000

OOOOOOGOOOCOOOOOOOCCC111OCOOGOSOOOOO

OOOOCOOOOOOOODOOOOOOCOnOOOCGOOOOCOO

OOOOOOOOOOCOCOOOOOOCOOOOM0000000000

00OO0C000DCDG00O111CCOOOOOOQOOOCOOOO

000000000000^1-OCOGOCOOOOOOC

000000011:111,1m;…1,?二co。

ooooooovM-noocooconni:oooooooo

000000011*1:111111111111111-oooooooo

oooooooi111Mmcoon->1-1-1-00000000

0000000111111111000111’11,-oaaaoooo

0000000111-m1100D11m1?oooooooo

0000000111,,:111C0C*1?1:r-OOCO0O3Q

OOCOOCOI11,:M111V11'?V?11?20QC0000

OOCOOOOOOvQOOOOCOGOOOCOCOC'OOCOOOOOOO

Refreshbuffer

顯卡示例:GeForce8800GTS

?芯片:nVIDIAGeforce8600GTS

?顯卡屬性:桌面顯卡

?接口類(lèi)型:PCI-E

?最大分辨率:2560x1600

?外部接口:VGA/DVI/TV-Out

?顯存:GDDR3640M

?顯存位寬:320bit

?顯存頻率:1600MHz

?3DAPI:DirectX10

顯卡示例:ATIFireGLV7300

?芯片:ATIFireGLV7300

?顯卡屬性:專(zhuān)業(yè)顯卡,適用于工作站

?接口類(lèi)型:PCI-E

?最大分辨率:3840x2400

?外部接口:雙DVI,3D眼睛接口

?顯存:512MDDR3SDRAM

■顯存位寬:256bit

?顯存頻率:1300MHZ

?顯存帶寬:41.6GB/Sec

?3DAPI:DirectX9.0b、OpenGL2.0

圖形軟件的體系結(jié)構(gòu)

圖形硬件

圖形軟件層次中的主要軟件類(lèi)型

?通用圖形軟件包(GraphicsPackages)

用現(xiàn)有某種計(jì)算機(jī)語(yǔ)言寫(xiě)成的子程序包。使用時(shí)按相應(yīng)

計(jì)算機(jī)語(yǔ)言的規(guī)定調(diào)用所需要的子程序生成各種圖形。

如:GKS、OpenGL

?專(zhuān)用圖形軟件包

針對(duì)某設(shè)備或應(yīng)用,設(shè)計(jì)/配置專(zhuān)用的圖形生成語(yǔ)言或

函數(shù)集。

例如:場(chǎng)景描述:OpenInventor

建立虛擬世界的三維模型:VRML

生成三維Web顯示:Java3D

倉(cāng)Ll建Javaapplet中的二維場(chǎng)景:Java2D

生成各種光照模型場(chǎng)景:Renderm到11nterface

圖形軟件層次中的主要軟件類(lèi)型

?擴(kuò)展的圖形編程語(yǔ)言

擴(kuò)充某種計(jì)算機(jī)語(yǔ)言使其具有圖形生成和處理

功能。

MidPointCircle(intr,intcolor)

例如:Fortran>Pascal、{intx,y;

C、C++(Visual(floatd;

x=0;y=r;d=1.25-r;

AutoLispcirclepoints(x,y,color);

while(x<=y)

{if(d<0)d+=2*x+3;

else{d+=2*(x-y)+5;y-;}

x++;

circlepoints(x,y,color);

圖形軟件層次中的主要軟件類(lèi)型

?專(zhuān)業(yè)圖形應(yīng)用軟件

針對(duì)專(zhuān)業(yè)領(lǐng)域而專(zhuān)門(mén)開(kāi)發(fā),例如:

A制造領(lǐng)域:Unigraphics>Pro/Engineer>AutoCAD>

CATIA、ANSYS>MSCSoftware

A數(shù)值計(jì)算與可視化:MATLAB

A控制:MatrixX

AEDA/虛擬實(shí)驗(yàn)/虛擬儀器:ProteLEWB、LabVIEW

>GIS:Mapinfo>ArcGIS…?.

A效果設(shè)計(jì)/動(dòng)畫(huà):3DStudioMAX>Maya、Coreldraw...

>圖像/畫(huà)圖:Photoshop、Painter>Illustrator

A網(wǎng)頁(yè)設(shè)計(jì):Dreamweaver/Flash/Firework

?流程設(shè)計(jì):Visio……

專(zhuān)業(yè)圖形應(yīng)用軟件舉例

discreet'

◎12.2.Izxyd.max-3dsmax7-Stand-aloneLicense-|g|X

日IeEditToolsGroipViewsCreateModifiersCharacterreactorAnimationGraphEditorsRenderingCustomize

MAXScriptHelp

'飛九匏11^3仄氫翼⑦冬&ei.MFia即看《.公音@紙|9e..!后

dca&圖閡隱1131Tl

i百會(huì)『.那□.-■

[standardPriniti,▼|

s

、

A

?

3

4*1

L

0/100

11II1111111II11111111111

8090100

L.+cR」k.1"+.T3-1M4.UE11?1q陽(yáng)rff用

專(zhuān)業(yè)圖形應(yīng)用軟件舉例

-|D|X

EileEditViewguildSimulateReviewSettingsJootaHelp

loModel

7ADAMS/View2005.0.0-|g|x|

FileEditViewRuddSimulateReviewSettirgsTodsHelp

LastRunTime=0.(Xr_double_cA點(diǎn)加速度曲線兇

5.0E+005

Time:0.007-Current3.68e+005

>Main

4.0E+005

X

0.00450.009

曲柄

C

4」2J

ZthetaZthetadoub。角加速度曲線兇

BasePart

7ContourPiol$

RenderIcons

專(zhuān)業(yè)圖形應(yīng)用軟件舉例

.

AutoCAD:sM

mAutoCAD2006-[D:\nlngqtanVft洞規(guī)劃'昭魯濯區(qū)總圖.dwg]①

K?文件(日編皆(EJ視圖⑨插入⑴格式(Q)工具CD繪圖◎)標(biāo)注M)脩改M?Q(W)P

WQd).lalx[o

、浦取QQlxiaSJs6?:Y叱'■—7n?lalll*際不~~Z/

■Q」'IBOByL?y?r.||fryLa

/+J

/n

nv

o

-

rOl

Q

~

o

?

a

q

?

x

H

u

A

具有圖形功能的專(zhuān)業(yè)軟件舉例

?GUI

?Two-dimensional

?Three-MATLAB"

dimensionalTheLatipiageoflechniciilComputing

Version32(R2006a)

?DatavisualizationJanuary27,2006

LicenseNumber:161051

mngqian

?Imageprocessingscu

?Animation

?Presentation

graphicsTheMalhWbrks

Copyright1984-2006.TheMathWork卻!nc?

ProtectedbyU.S.patents.Seewww.m^/patents,

-ControlSystem

④CurveFitting

QDataAcquisition

公DatatAase

@Datafeed

鄰居ADAMS-ADA小DistributedComputing

bMATLAB4FilterDesign

Elle&ditDefcogFilterDesignHDLCoder

DcS'Financialp-mFil?s\MATLAB\m?<\7^k_|④

Shorten冉Hg,。AMjFinancialDerivatives

CurrentDirectoFixed-Incomew

ElQfi0?mFlxecPPoIntorStoptoendrpkl6ma(1/4)

-4FuzzyLogic

一④GARCH

AG^ietlcAlgorithmandDirectSearch

norlentablesurfaceinfour-diaenrionalcpace.It

始]m溝eAcquisitiontvoKobiusstripsalorgtheirconaonboundary.

4ImageProcessing

■IretrumentControleconstructedwithoutintersectionmthree-space,

即LinkforCodeComposerStudio(tm)exampleofsuchaself-intersectingKleinbottle,

/卜LinkforModelSIm?

ne,OniversjtyofKinne^ot&.

爾M^ing

?ModdPredictiveControl

④Model-BasedCalibration

4NeuralNetwork

4KOPC

《Optimization

SMATLAB?烝PartialDifferentialEquation

?JToolboxesdMore.,.<RF

ESlmulink?:一,x小RobustControl

箕Blocksets?」於SignalProcessing

-LI1-、-3

09xztajts?二氽SplineRBlockLfcrary

I浮DesktopTools?,;,/aatistlcs&Help

9Web?娥SymbolicMath◎Demos

啕Preferences[二、4SystemIdentification,0ProductPage(Web)

~。ProdxtSupportPage(Web)

?珀FindFiles--工!EVirtualReality

;3rtSlp?T■Wavelet)

&Demos,t

[6S3-

Kleinbottle

TransparentbottleHalfofthebottle

Inversesof

Matricesn=100;

50a=rand(n):

60

70imagesc(a):

80

90colormap(hot):

100

20406080100

axissquare;

10

20

30

40b=inv(a);

50

imagesc(a*b);60imagesc(b);

70

80

axissciuare;

90axissquare;

100

20406080100

圖形軟件層次中的主要軟件類(lèi)型

?通用/專(zhuān)用圖形軟件包(圖形庫(kù))

?擴(kuò)展的圖形編程語(yǔ)言

?專(zhuān)業(yè)圖形應(yīng)用軟件系統(tǒng)

應(yīng)

開(kāi)

發(fā)

統(tǒng)

■圖形庫(kù)(軟件包)的主要構(gòu)成

?圖形構(gòu)造、變換、渲染等函數(shù)庫(kù)(核心庫(kù))

一如構(gòu)造圖元、描述圖元屬性、幾何變換、觀察

變換,分割/管理圖形部件……

?控制操作類(lèi)函數(shù)集

處理事務(wù)性任務(wù),各種狀態(tài)設(shè)置,初始化參數(shù)

設(shè)置……

?程序與硬件的接口

,輸出函數(shù),組織并在輸出設(shè)備上顯示圖形

輸入函數(shù),用于控制和處理交互式輸入設(shè)備的

數(shù)據(jù)流……

圖形軟件包中的函數(shù)及調(diào)用舉例

#indude<GL/glut.h>〃包含頭文件

voidinit(void)〃初始化及相關(guān)參數(shù)設(shè)定

<

glClearColor(1.0,1.0,1.0,0.0);〃設(shè)置窗口背

景顏色

gIMatrixMode(GL_PROJECTION);

gluOrthoZD(0.0,200.0,0.0,150.0);〃設(shè)置

圖形軟件包中的函數(shù)及調(diào)用舉例(續(xù))

voidlinesegment(void)//圖形的幾彳可描f述過(guò)程

<

glQear(GLCOLOR_BUFFER_BIT);〃指定顏

色緩存的位值一

.Color3f(LO,0.0,0.0);〃將對(duì)象顏色設(shè)定為

1I-frL

gIBegin(GL_LINES);

glVertexZi(180,15);

gIVertexZi(10,145);

glEnd0;

gIFIush();〃清空緩存來(lái)處理OpenGL函數(shù)

圖形軟件的標(biāo)準(zhǔn)化問(wèn)題

?可移植性

?通用,與設(shè)備、平臺(tái)無(wú)關(guān)

?圖形資源信息、知識(shí)共享

?促進(jìn)計(jì)算機(jī)圖形學(xué)的推廣、應(yīng)用

0)

圖形軟件的標(biāo)準(zhǔn)化歷程

■1974年,ANSI在ACMSiggraph的

一個(gè)與“與機(jī)器無(wú)關(guān)的圖形技術(shù)”

的會(huì)議上,提出了制定圖形標(biāo)準(zhǔn)的

基本規(guī)則。

?ACM成立圖形標(biāo)準(zhǔn)化委員會(huì),于

1977、1979年制定和修改了“核

心圖形系統(tǒng)CGS(CoreGraphics

System)

?隨后,ISO發(fā)布了:

CGI(ComputerGraphicsInterface)

CGM(ComputerGraphicsMetafile)

GKS(GraphicsKernelSystem,1984)

PHIGS(Programmer'sHierarchical

InteractiveGraphicsStandard)

1

附:圖元文件GraphicsMetafile

?一種詮釋文件,可定義為標(biāo)準(zhǔn)之標(biāo)準(zhǔn)

?描述和限定其它程序的文件,如程序的重要

特征,設(shè)計(jì)者名稱(chēng),發(fā)布時(shí)間等

?用于信息定位的文件,如“圖書(shū)分類(lèi)卡片”、

“磁盤(pán)的標(biāo)簽”、“電視節(jié)目的時(shí)間和頻道”

?有助于信息檢索的文件,如文本描述“信息

摘要”,信息的關(guān)鍵詞和分類(lèi)名稱(chēng)等

?促進(jìn)圖形對(duì)象信息的共享、應(yīng)用和搜索

圖形軟件的標(biāo)準(zhǔn)化歷程(續(xù))

?GKS、PHIGS后,SGI的GL

(GraphicsLibrary)函數(shù)集成為

圖形界廣泛使用的圖形軟件包

?90年代早期,作為GL與硬件無(wú)關(guān)

的版本——OpenGL被制定出來(lái)

年,版正式發(fā)外部應(yīng)用

(1992OpenGLL0數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)

布)API

?由OpenGLARB(ArchitectureGKS/GKS3D

ReviewBoard結(jié)構(gòu)評(píng)議委員會(huì))

進(jìn)行維護(hù)和更新

?Microsoft將OpenGLLO集成到

Windows

設(shè)備相關(guān)服務(wù)

?OpenGL^fh

OpenGL的特點(diǎn)

?廣泛應(yīng)用的CGAPI,圖形指令與函數(shù)的集合

主流的二、三維交互式圖形應(yīng)用程序開(kāi)發(fā)圖形庫(kù)

?包含大量與其他數(shù)據(jù)和程序交互的動(dòng)態(tài)鏈接子程序.….

?跨平臺(tái)性

UNIX、Mac0S>OS/2、Windows、Linux...

?高性能圖形生成、變換、渲染能力

?穩(wěn)定性,伸縮性,易使用性

?網(wǎng)絡(luò)透明性(支持網(wǎng)絡(luò)應(yīng)用)

允許運(yùn)行在本地工作站上的進(jìn)程,通過(guò)網(wǎng)絡(luò)在遠(yuǎn)程工作

站上顯示圖形。

cOpenGL相關(guān)庫(kù)

二^?與計(jì)算機(jī)系統(tǒng)接口,如輸入/

輸出函數(shù)

實(shí)用函數(shù)工具包GLUT

?管理顯示窗口,與窗口交互

glutlnit,glutDisplayFunc...-生成某些三維形體

?控制、操作類(lèi)函數(shù)

二二二[?矩陣管理,指定觀察參數(shù)

實(shí)用函數(shù)庫(kù)GLU?復(fù)雜對(duì)象生成

gluOrtho2D...?表繪制,二次曲面

-^NURBS曲線曲面

與硬件無(wú)關(guān)

基本函數(shù)庫(kù)(核心庫(kù))GL描述圖元、屬性、幾何變換、

glClear,glCopyPixels...觀察變換……

窗口系統(tǒng)相若庫(kù)一,

*WGL:Win32支持

?GLX(X窗口系統(tǒng)擴(kuò)充):UNIX、Linux系

統(tǒng)支持的OpenGL編程接口

?AppleGL:AppleMacOS支持

*PGL:IBMOS/2支持

GLUT:

提供了與各種屏幕窗口系統(tǒng)進(jìn)行交互的函數(shù)庫(kù),

可作為與其他依賴(lài)于設(shè)備的窗口系統(tǒng)之間的接口。這

樣可以利用GLUT,實(shí)現(xiàn)程序與設(shè)備無(wú)關(guān)。

(/opengl/glut3/glut3.html)

?窗口系統(tǒng):圖形化的用戶(hù)接口環(huán)境

例如:

//Windows

#ifdef_WIN32

//StandardWindowsincludes

#include<windows.h>

#include<gl/gl.h>

#include<gl/glu.h>

#include''glut.h''

#endif

//MacOSX

#ifdef_APPLE_

#include<Carbon/Carbon.h>

include<GLUT/glut.h>

//#include<OpenGL/glext.h>

#include"glext.h"

0

glu32.dllopengl32.dllglut,h

GLEXT.H

WGLEKT.H

Windows對(duì)OpenGL的支持

?OpenGL進(jìn)入Win32平臺(tái)是在WindowsNT3.5

發(fā)布之后;隨后成為Windows95的一部分

?OS需要具有將OpenGL繪圖命令關(guān)聯(lián)到一個(gè)特定

窗口的函數(shù)代碼。

一組前綴為wgl的Wiggle函數(shù),包含在WindowsAPI

OpenGL在所有Win32平臺(tái)上都是一種本地APL

?OS還需提供相關(guān)

深度以及其他繪E"/StandardWindowsincludes

#include<windows.h>

#include<gl/gl.h>

#include<gl/glu.h>

#include"ghit.h"

OpenGL管線(pineline)

OpenGL

API調(diào)用

/硬件加速(硬件渲染)

/軟件渲染

Windows上的OpenGL實(shí)現(xiàn)

?OpenGL在Windows平臺(tái)上的實(shí)現(xiàn)類(lèi)型:

?泛型實(shí)現(xiàn)(軟件實(shí)現(xiàn))

硬件實(shí)現(xiàn)

現(xiàn)概述’,

?一種軟件實(shí)現(xiàn)

?Microsoft隨Windows所集成的OpenGL

實(shí)現(xiàn),就是一種泛型軟件實(shí)現(xiàn)。

?但在OpenGLVL1后Microsoft沒(méi)有更新。

4\ddraw.dll

二2L

MicrosoftDirect...

ddrawex..dll

5.3.2600.2180

DirectDrawEx

“OpenGL軟件實(shí)現(xiàn)相關(guān)國(guó)數(shù)庫(kù)的位置

?位于動(dòng)態(tài)鏈接庫(kù)DLL中,即OpenGL相關(guān)庫(kù)以

動(dòng)態(tài)鏈接庫(kù)的形式存在:

opengl32.dll(opengl32.lib):OpenGL核

心庫(kù)(GL),位宇Windows的system目錄

-?gl.h:包含OpenGL函數(shù)、類(lèi)型和宏的原型

glu32.dll(glu32.lib):實(shí)用庫(kù),也位于

system目錄?

,glu.h:包含glu實(shí)]

//StandardWindowsincludes

#include<windows.h>

閡閡#include<gl/gLh>

#include<gl/glu.h>

opengl32.dllglu32.dll

應(yīng)用程序中泛型實(shí)現(xiàn)OpenGL示意

硬件實(shí)現(xiàn)(硬件加速)

?基于一種特定的硬件設(shè)備,如圖形卡

?通常采用圖形卡驅(qū)動(dòng)程序的形式實(shí)現(xiàn)

擴(kuò)展機(jī)制ZCExtended)J

Windows的用戶(hù)如何使用新的OpenGL功能?

?擴(kuò)展方式

硬件驅(qū)動(dòng)程序可以直接認(rèn)識(shí)一些簡(jiǎn)單的新常量和

枚舉值;

調(diào)用增加到AP

wglext.h,gl//StandardWindowsincludes

OpenGL擴(kuò)展#include<windows.h>

#include<gl/gl.h>

#include<gl/glu.h>

#include<glext,h>

#include<wglext-h>

#include"ghit.h"

Windows的OpenGL擴(kuò)展頭文件

Bglext.h

專(zhuān)為Windows開(kāi)發(fā)人員提供。包含了OpenGL

L1版本以后的標(biāo)準(zhǔn)OpenGL擴(kuò)展和許多廠商特

定的OpenGL擴(kuò)展,如一些常量和函數(shù)原型4

?wglext.h

$包含一些Windows特有的擴(kuò)展。也]

?glut.hGLEXT.E

替代早期的AUX輔助函數(shù)庫(kù),包含卬潸巴吃(如

復(fù)雜三維形體,管理顯示窗口,與屏幕窗口交

互,輸入/輸出函數(shù)……)

0

glut,h

OpenGL基本語(yǔ)法函數(shù)名

以c、C++版本為例

?基本函數(shù)

?gl為函數(shù)名前綴,每一組成詞第一字母大寫(xiě),如:

gIBegin,glClearColor()...

?實(shí)用函數(shù)

glu為函數(shù)名前綴,如:gluSphere()...

?實(shí)用工具函數(shù)

glut為函數(shù)名前綴,如:glutDisplayFunc()...

OpenGL基本語(yǔ)法數(shù)據(jù)類(lèi)型和格式

?一些函數(shù)名后接不同的后綴以支持不同的數(shù)據(jù)類(lèi)

型和格式。如定義顏色值glColor*。:

glColor3b(...)3表示函數(shù)帶有三個(gè)參數(shù),b表示參數(shù)

是字節(jié)型

glColor3d(...)d表示參數(shù)是雙精度浮點(diǎn)型

glColor3f(...)f表示單精度浮點(diǎn)型

glColor3bv(...)v表示參數(shù)以向量形式出現(xiàn)

?OpenGL的內(nèi)置數(shù)據(jù)類(lèi)型,例如:

:GLbyte以GL開(kāi)頭,后面小寫(xiě)表示標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型名

GLshort,GLint,GLfloat,GLdouble

OpenGL基本語(yǔ)法常量

?基本常量(也稱(chēng)符號(hào)常量symbolicconstant或

原語(yǔ))

以GL_開(kāi)頭,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論