日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

计算机图形学 学习笔记 图元的属性

發(fā)布時(shí)間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机图形学 学习笔记 图元的属性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

OpenGL狀態(tài)變量

顏色和灰度

RGB顏色分量

顏色表

灰度

OpenGL顏色函數(shù)

OpenGL的RGB和RGBA顏色模型

OpenGL顏色索引模式

OpenGL顏色調(diào)和

OpenGL顏色數(shù)組

其他OpenGL顏色函數(shù)

點(diǎn)的屬性

OpenGL點(diǎn)屬性函數(shù)

線的屬性

OpenGL線屬性函數(shù)

曲線屬性

填充區(qū)屬性

OpenGL填充區(qū)屬性函數(shù)

字符屬性

OpenGL字符屬性函數(shù)

OpenGL反走樣函數(shù)

OpenGL詢問(wèn)函數(shù)

OpenGL屬性組

總結(jié)


任何影響圖元顯示方法的參數(shù)一般稱為屬性參數(shù),例如顏色和大小等屬性確定了圖元的基本特性。

維護(hù)屬性和其他參數(shù)當(dāng)前值表的圖形系統(tǒng)稱為狀態(tài)系統(tǒng)狀態(tài)機(jī)。輸出圖元的屬性和當(dāng)前幀緩存位置等其他參數(shù)稱為狀態(tài)變量狀態(tài)參數(shù)。在給一個(gè)或幾個(gè)參數(shù)賦值時(shí),系統(tǒng)進(jìn)入一個(gè)特定狀態(tài),該狀態(tài)一直保留到狀態(tài)參數(shù)的值再次改變。

OpenGL狀態(tài)變量

OpenGL中的狀態(tài)變量有顏色和其他圖元屬性、當(dāng)前矩陣模式、模型觀察矩陣的元素、緩存當(dāng)前位置和場(chǎng)景光照效果參數(shù)等。所有OpenGL參數(shù)都有默認(rèn)值,它們?cè)诒恢付樾轮登氨3植蛔儾l(fā)揮作用。

OpenGL中的所有圖元使用當(dāng)前狀態(tài)表中的屬性顯示。

顏色和灰度

顏色時(shí)所有圖元的一個(gè)基本屬性。

RGB顏色分量

顏色信息可以用兩種方式存儲(chǔ)在幀緩存中:

  • 直接在幀緩存中存儲(chǔ)紅色、綠色和藍(lán)色編碼
  • 將顏色碼存入一個(gè)獨(dú)立的表中并在像素位置存儲(chǔ)指向顏色表項(xiàng)的索引

顏色表

在使用顏色表存儲(chǔ)顏色信息時(shí),這時(shí)幀緩存中的值用做指向顏色表的索引。

顏色表可以應(yīng)用于許多應(yīng)用中,既提供了“合理”數(shù)量可同時(shí)顯示的顏色又不要求大容量幀緩存。表項(xiàng)內(nèi)容可以在任何時(shí)候進(jìn)行修改,使用戶可以很容易地實(shí)驗(yàn)設(shè)計(jì)、場(chǎng)景和圖表中地不同顏色組合、而不改變圖形數(shù)據(jù)結(jié)構(gòu)中屬性的設(shè)定。

灰度

當(dāng)RGB函數(shù)中指定相同量的紅色、綠色和藍(lán)色時(shí),結(jié)果是某種程度的灰色。

OpenGL顏色函數(shù)

使用下面的函數(shù)將顏色顯示模型設(shè)定為RGB:

第一個(gè)常量指示正在使用單個(gè)幀緩存,第二個(gè)常量設(shè)定RGB模式,即默認(rèn)模型。如果要用指向顏色表的索引來(lái)指定顏色,則用OpenGL常量GLUT_INDEX取代GLUT_RGB。

OpenGL的RGB和RGBA顏色模型

多數(shù)OpenGL顏色設(shè)定使用RGB模式。除了紅色、綠色和藍(lán)色分量之外,還有稱為α系數(shù)的第四個(gè)分量,用于控制顏色調(diào)和??梢栽谡{(diào)用glutInitDisplayMode時(shí)選擇GLUT_RGBA指定這種模式。

使用下面的函數(shù)來(lái)選擇當(dāng)前的顏色分量:

例如下面的語(yǔ)句將圖元的當(dāng)前顏色指定為青色:

OpenGL顏色索引模式

在使用顏色索引模式下指定顏色時(shí),通過(guò)指定一個(gè)指向顏色表的索引來(lái)設(shè)定當(dāng)前顏色:

下面的語(yǔ)句將當(dāng)前顏色索引設(shè)定為196:

有一個(gè)glut子程序可用來(lái)與窗口系統(tǒng)進(jìn)行交互,從而為指定的一個(gè)索引位置指定顏色如下:

OpenGL顏色調(diào)和

許多圖形軟件包提供生成多種顏色調(diào)和效果的方法,這些函數(shù)稱為顏色調(diào)和函數(shù)圖像混合函數(shù)。在OpenGL中,通過(guò)先將第一個(gè)對(duì)象裝載進(jìn)幀緩存,再將第二個(gè)對(duì)象的顏色與幀緩存顏色相混合來(lái)實(shí)現(xiàn)兩個(gè)對(duì)象顏色的調(diào)和。當(dāng)前幀緩存顏色稱為OpenGL目標(biāo)顏色,而第二個(gè)對(duì)象的顏色稱為OpenGL源顏色。

要在應(yīng)用中進(jìn)行顏色調(diào)和,必須先用下面的函數(shù)激活這個(gè)OpenGL特性:

使用下面的函數(shù)將關(guān)閉OpenGL的顏色調(diào)和子程序:

顏色可按要達(dá)到的效果進(jìn)行多種調(diào)和,通過(guò)指定兩組調(diào)和因子來(lái)生成不同的顏色效果。一組調(diào)和因子針對(duì)幀緩存中的當(dāng)前對(duì)象(“目標(biāo)對(duì)象”),而另一組調(diào)和因子針對(duì)新來(lái)的(“源”)對(duì)象。將要裝入幀緩存的新的調(diào)和顏色計(jì)算如下:

這里,RGBA源顏色分量為(Rs,Gs,Bs,As),目標(biāo)顏色分量為(Rd,Gd,Bd,Ad),源調(diào)和因子為(Sr,Sg,Sb,Sa),而目標(biāo)調(diào)和因子為(Dr,Dg,Db,Da)。

使用下列函數(shù)可選擇調(diào)和因子的值:

OpenGL顏色數(shù)組

可在頂點(diǎn)數(shù)組中和坐標(biāo)值混合來(lái)指定場(chǎng)景中的顏色值。

激活OpenGL的顏色數(shù)組:

對(duì)RGB模式要指定顏色分量的位置和格式:

使用顏色數(shù)組的例子:

可以將顏色和頂點(diǎn)坐標(biāo)一起裝入一個(gè)交錯(cuò)數(shù)組。每一個(gè)指針用適當(dāng)?shù)奈灰浦抵赶騿我坏慕诲e(cuò)數(shù)組。

OpenGL提供一個(gè)可以一次性指定所有頂點(diǎn)和顏色數(shù)組及其他類型信息的函數(shù)。

在顏色索引模式下,使用下面的語(yǔ)句定義一個(gè)顏色索引數(shù)組:

其他OpenGL顏色函數(shù)

用來(lái)為顯示窗口選擇RGB顏色分量的函數(shù),glClearColor指定所有顏色緩存的顏色。然后用下面的命令將凈顏色用于這些顏色緩存:

在顏色索引模式下,使用下面的函數(shù)設(shè)定顯示窗口的顏色:

窗口背景色用存放顏色表中index位置的顏色來(lái)指定。執(zhí)行g(shù)lClear(GL_COLOR_BUFFER_BIT)函數(shù)后窗口就以該顏色顯示。

點(diǎn)的屬性

顏色和大小

OpenGL點(diǎn)屬性函數(shù)

glPointSize(size)指定點(diǎn)的大小

glColor或glIndex指定點(diǎn)的顏色

線的屬性

直線段可以使用三個(gè)基本屬性來(lái)顯示:顏色、線寬和線型。

OpenGL線屬性函數(shù)

glLineWidth(width)設(shè)定線寬

glLineStipple(repeaterFactor, pattern); 默認(rèn)狀態(tài)下,直線段顯示成實(shí)線。但也可以顯示劃線、點(diǎn)線或短劃和點(diǎn)混合的線段。還可以改變短劃及短劃或點(diǎn)之間的長(zhǎng)度。

pattern描述如何顯示線段的一個(gè)16位整數(shù)。repeaterFactor說(shuō)明模式中每一位重復(fù)應(yīng)用多少次才輪到下一位。

在使用線型顯示線段之前,必須先激活線型特性:

使用下列函數(shù)關(guān)閉線型特性:

曲線屬性

曲線屬性的參數(shù)和線段相同,可以使用各種顏色、寬度、短劃線模式和有效的畫(huà)筆和筆刷選擇來(lái)顯示曲線。

嚴(yán)格來(lái)說(shuō),OpenGL并不把曲線作為和點(diǎn)及線段一樣的圖元來(lái)考慮。

在OpenGL中可使用幾種方法來(lái)顯示曲線:

  • 使用一組線段來(lái)逼近曲線
  • 使用樣條來(lái)畫(huà)

填充區(qū)屬性

一般的圖形軟件包提供的基本填充屬性是內(nèi)部的顯示模式。我們可以將一區(qū)域顯示為單一顏色、指定填充圖案或只給出邊界的“空心”模式。也可以使用各種筆刷模式、顏色調(diào)和或紋理對(duì)場(chǎng)景中的指定區(qū)域進(jìn)行填充。其他選項(xiàng)包括填充區(qū)域邊界。對(duì)于多邊形來(lái)說(shuō),可以使用不同顏色、線寬和線型給出邊界。還可以為區(qū)域前向面和后向面選擇不同的顯示屬性。

填充圖案可以使用一個(gè)為不同位置指定不同顏色的矩形顏色陣列來(lái)給出。

也可以按照多種方式將填充圖案和背景顏色混合。圖案和背景色混合時(shí)使用透明因子來(lái)確定背景中有多少應(yīng)該混合到對(duì)象顏色中。

OpenGL填充區(qū)屬性函數(shù)

OpenGL僅提供對(duì)凸多邊形的填充區(qū)子程序。顯示一個(gè)填充凸多邊形要經(jīng)過(guò)下面四個(gè)步驟:

1.定義一個(gè)填充圖案

2.引用多邊形填充子程序

3.激活OpenGL多邊形填充特性

4.描述要填充的多邊形

除了為多邊形內(nèi)部指定一個(gè)填充圖案,還有選項(xiàng):顯示一個(gè)空心多邊形;另一選項(xiàng)是只顯示頂點(diǎn)。

用十六進(jìn)制定義一個(gè)位圖:

建立了掩模之后,可以使用下列函數(shù)將其當(dāng)作填充圖案:

在使用當(dāng)前圖案填充多邊形時(shí)需要激活子程序:

關(guān)掉圖案填充:

填充多邊形的另一種方法是使用紋理。這將生成仿真木材、磚、拉絲鋼或其他材料外貌的圖案。也可以仿照線圖元中的做法得到多邊形內(nèi)部的插值填充。

我們也可以僅顯示多邊形的邊,來(lái)生成線框圖或多邊形的空心顯示。還可以通過(guò)顯示一組頂點(diǎn)來(lái)顯示多邊形。通過(guò)下面函數(shù)選定:

參數(shù)face指定多邊形的哪一個(gè)面上僅顯示邊或頂點(diǎn),displayMode為GL_LINE時(shí)僅描繪邊,GL_POINT時(shí)僅描繪頂點(diǎn),GL_FILL默認(rèn)的顯示模式。

可以在填充內(nèi)部時(shí)同時(shí)使用不同的顏色或圖案來(lái)顯示它的邊或頂點(diǎn)。

這種填充方法可能在邊之間產(chǎn)生縫隙。

消除縫線的方法是:

第二個(gè)函數(shù)用來(lái)設(shè)定一對(duì)計(jì)算深度位移總量的浮點(diǎn)值factor1和factor2.深度位移的計(jì)算如下:

兩因子的典型值為0.75和1.0

OpenGL提供了從線框圖顯示中消除選定邊的機(jī)制:

如下面程序段僅顯示三角形的兩條邊:

多邊形標(biāo)志也可以在一個(gè)數(shù)組中指定,創(chuàng)建一個(gè)邊標(biāo)志數(shù)組的語(yǔ)句為:

使用下列函數(shù)可以單獨(dú)指定一個(gè)場(chǎng)景中的前向面和后向面:

vertextOrder:GL_CW,則隨后定義的順時(shí)針多邊形可看作前向面。GL_CCW逆時(shí)針次數(shù)為前向面朝向,默認(rèn)次序。

該特性用來(lái)交換以順時(shí)針為次序指定頂點(diǎn)的多邊形的面。

字符屬性

顯示的字符外觀由字體、大小、顏色和方向這些屬性控制。

字符大小由磅指定。

字符串的方向按字符向上向量設(shè)定。字符串顯示成其字符底線到帽線的方向與向上向量一致。

對(duì)齊是另一個(gè)可能使用的字符串屬性,這個(gè)屬性指定如何依賴參考坐標(biāo)來(lái)定位文本。下圖中給出了字符水平和垂直對(duì)齊的一般位置。

OpenGL字符屬性函數(shù)

使用OpenGL軟件包顯示字符有兩種方法。使用核心庫(kù)中的位圖函數(shù)來(lái)設(shè)計(jì)字體集,或引用OpenGL字符生成函數(shù)。

OpenGL反走樣函數(shù)

由于低頻采樣(不充分采樣)而造成的信息失真稱為走樣??梢允褂眯U怀浞秩舆^(guò)程的反走樣方法來(lái)改善所顯示的光柵線的外觀。

使用下列函數(shù)激活OpenGL的反走樣子程序:

primitiveType:GL_POINT_SMOOTH、GL_LINE_SMOOTH、GL_POLYGON_SMOOTH

假定用RGBA模式指定顏色,則同樣需要激活OpenGL顏色調(diào)和操作:

顏色調(diào)和方法:

OpenGL詢問(wèn)函數(shù)

使用OpenGL查詢函數(shù)可以獲得包括屬性設(shè)定在內(nèi)的任意狀態(tài)參數(shù)的當(dāng)前值。

需要指定兩個(gè)變量。第一個(gè)是標(biāo)識(shí)一個(gè)屬性或狀態(tài)參數(shù)的OpenGL符號(hào)常量。第二個(gè)變量是一個(gè)指針,指向由函數(shù)名指出的數(shù)據(jù)類型的一個(gè)數(shù)組。例如,使用下列語(yǔ)句可以獲取當(dāng)前RGBA浮點(diǎn)顏色設(shè)定:

OpenGL屬性組

屬性和其他狀態(tài)參數(shù)按屬性組進(jìn)行組織。每一組包括相關(guān)的狀態(tài)參數(shù)集合。

點(diǎn)屬性組包括了大小和點(diǎn)的平滑(反走樣)參數(shù)。

線屬性組包括了線寬、模板狀態(tài)、模板圖案、模板重復(fù)計(jì)數(shù)及線段光滑狀態(tài)等。

多邊形屬性組包括了11種多邊形參數(shù),如填充模式、前向面標(biāo)識(shí)及多邊形平滑狀態(tài)。

保存一個(gè)指定屬性組所有參數(shù)的工作由下列命令實(shí)現(xiàn),它將指定組的所有參數(shù)放進(jìn)屬性棧:

attrGroup用標(biāo)識(shí)一個(gè)屬性組的OpenGL符號(hào)常量來(lái)賦值。

用下列函數(shù)將屬性棧的所有值進(jìn)行重建:

glPopAttrib();

總結(jié)

屬性控制圖元的顯示特征。

顏色是所有圖元的公共屬性。

基本的點(diǎn)屬性是顏色和大小。線屬性由顏色、寬度和線型。

填充屬性包括實(shí)心顏色填充、填充圖案填充或僅僅顯示區(qū)域邊界的空心填充。

字符可以按照不同顏色、大小、間隔和方向進(jìn)行顯示。

我們可以通過(guò)應(yīng)用調(diào)整像素強(qiáng)度的反走樣過(guò)程來(lái)改善光柵圖元的外貌。

OpenGL中,圖元的屬性由狀態(tài)變量來(lái)維護(hù)。

總結(jié)

以上是生活随笔為你收集整理的计算机图形学 学习笔记 图元的属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩人妻一区二区三区蜜桃视频 | 一色道久久88加勒比一 | 少妇高潮一区二区三区99欧美 | 国产精品一区二区三区免费 | 激情免费网站 | 五月婷婷免费视频 | 亚洲一区二区三区成人 | 91精品国产色综合久久不8 | 国产成人av网| 黄色一级一片 | 久久久久久久亚洲av无码 | 成人免费视频国产免费 | 青草操 | 亚洲区av| 超能一家人电影免费喜剧在线观看 | 日本黄区免费视频观看 | 久久久久久久久久久久久久av | 天天综合天天做 | 91视频导航 | 欧美一级做性受免费大片免费 | 国产精品视频一区二区在线观看 | 麻豆一区二区在线观看 | 欧美区亚洲区 | 国产精品无码内射 | 欧美一区二区黄色 | 乱淫的女高中暑假调教h | 男女啊啊啊视频 | 疯狂做爰高潮videossex | 国产呦小j女精品视频 | 欧美射射| 岛国av网站 | 黄色网占 | 五月婷婷小说 | 日韩经典午夜福利发布 | 国精产品一区一区三区免费视频 | 777精品伊人久久久久大香线蕉 | 久久久久久久久久久久91 | 亚洲乱码视频在线观看 | 深夜毛片 | 午夜免费一区二区 | 性生交大片免费看女人按摩 | 欧美激情二区三区 | 日本综合视频 | 国产一级一区二区 | 国产精品欧美久久久久天天影视 | 国产福利第一页 | 日韩视频播放 | 好吊视频一区 | 图书馆的女友在线观看 | 最新日韩在线 | 国产亚洲精品久久777777 | 午夜精品偷拍 | 免费欧美黄色 | 国产黄色片免费看 | 日本理论中文字幕 | av色资源 | 特级毛片av| 亚洲激情午夜 | 国产原创视频在线 | 日本一级免费视频 | 欧美一区二区三区精品 | 一区二区中文字幕 | 美女激情av| 久久91精品国产91久久小草 | 懂色av一区二区三区四区五区 | 欧美一区二区三区免费观看 | 色一情一伦一子一伦一区 | 国产成人激情视频 | 国产精品1234区 | 高清国产一区二区三区四区五区 | 国产精品偷伦视频免费观看了 | jlzzjlzz国产精品久久 | 国产一区二区三区视频在线 | 少妇人妻在线视频 | 久一在线 | 污视频网站免费在线观看 | 日本三级韩国三级三级a级按摩 | 91成人在线观看喷潮蘑菇 | 日韩精品1区 | av电影中文字幕 | 国产一区二区三区免费在线观看 | 草久久久久 | 性户外野战hd | 91在线网址 | 黄色av免费网站 | 蜜臀av中文字幕 | 美女黄页在线观看 | 亚洲欧美自拍视频 | 夜夜操夜夜爽 | 黑人大群体交免费视频 | 欧美高清在线观看 | 一级特级片 | 爽妇网国产精品 | av永久免费观看 | 亚洲av无码乱码在线观看性色 | www.成人在线 | 无码国精品一区二区免费蜜桃 | 少妇一级淫片免费播放 | 人妻一区二区三区四区 |