青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Gattaca

標(biāo)題是記憶非常深刻的一部電影,《太空夢(mèng)》,很好的勵(lì)志片。自己一個(gè)人在電視上看的,那種感覺現(xiàn)在還記得。

第2章 - 調(diào)色板, 游戲概念, 雙緩沖區(qū)等等

注:原文地址:http://scorpioncity.com/dj2.html


1、圖像模式

 

按照用多少位來存儲(chǔ)屏幕上的一個(gè)像素,有好多種屏幕模式。使用更多的位,就能顯示更多的顏色,但會(huì)占用更多的顯存。
  • 1、2、4、8位 “indexed”模式(8位就是通常所說的"256色");
  • 16位(64K色)“high-color” 模式;
  • 24位(16.7M色)“真彩色”模式;
  • 32位 RGBA 模式,前三個(gè)字節(jié)和24位真彩色模式一樣,第4個(gè)字節(jié)用做“alpha-channel”,即透明度。
這些模式都是可用的。下面說一下分辨率:
  • 320x200
  • 320x240
  • 640x400
  • 640x480
  • 800x600
  • 1024x768
  • 1280x1024
  • 1600x1200
現(xiàn)在比較常用的是640x480(好像年代比較久遠(yuǎn)了這篇文章,我覺得1024x768應(yīng)該比較常用吧)
顯示器通常是3/4的縱橫比,所以沿著高的那個(gè)邊擁有的像素點(diǎn)應(yīng)該是寬的那個(gè)的3/4,這樣像素點(diǎn)的長(zhǎng)寬比就是1,所以像素點(diǎn)就是正方形,也就是說100個(gè)像素在一個(gè)方向上的物理長(zhǎng)度和另一個(gè)方向上的相當(dāng)。但是320x200不是這樣子滴,實(shí)際上它的像素點(diǎn)是稍顯瘦高一點(diǎn)的。

2、顏色原理


有好多種表示顏色的方法,即“顏色模型”,比較常見的一個(gè)是“RGB”,幾乎所有可見的顏色都可以用紅、綠、藍(lán)三種顏色按照各種比例組合生成。通常會(huì)用三個(gè)字節(jié)來存儲(chǔ)顏色,每位表示一個(gè)主色的強(qiáng)度,從0到255。比如純的亮紅色就是#ff0000,紫色是#ff00ff,灰色是#969696,等等。
下面是一些可以用來表示顏色的c代碼:

 

struct SColor
{
    
int r;
    
int g;
    
int b;
}
;

SColor make_rgb( 
int r, int g, int b )
{
    SColor ret;
    ret.r 
= r;
    ret.g 
= g;
    ret.b 
= b;
    
return ret;
}


或者你可能用一個(gè)無符號(hào)32位整型來儲(chǔ)存RGB顏色,0-7位存藍(lán)色,8-15位綠色等等。

typedef unsigned int rgb_color;

#define MAKE_RGB(r,g,b) ( ((r) 
<< 16| ((g) << 8| (b) )


當(dāng)然還有其他的顏色模型,比如HSV(Hue 色調(diào), Saturation 飽和度, Luminance 亮度),但我不打算涉及它。

2.1 High-color和true-color模式



在這兩種模式下,屏幕像素按照他們相應(yīng)的RGB值存儲(chǔ)到顯存里。比如,如果屏幕左上角的像素點(diǎn)是綠色,那么在true-color模式下,顯存里前三個(gè)字節(jié)就是0,255,0。而在high-color模式下,對(duì)應(yīng)的RGB值分別用5、6、5位來存儲(chǔ),即前5位紅色,接下來6位綠色,然后5位藍(lán)色,所以在這個(gè)模式下顯存對(duì)應(yīng)的就是兩個(gè)字節(jié),二進(jìn)制表示就是 00000111 11100000。

 

2.2 基于調(diào)色板或者indexed模式


Indexed模式使用一個(gè)“look up table”(LUT)的原理,即顏色查看表,通常這種模式使用8位圖像模式,即256色,屏幕上的每個(gè)像素都用一個(gè)字節(jié)來表示,所以每次只能顯示256 種顏色,所以這256種顏色就按照每種3個(gè)字節(jié)存到LUT里,顯卡每次就按照LUT里的值確定要顯示的顏色。
用Indexed模式創(chuàng)建一個(gè)程序是非常痛苦的,尤其是搞圖像藝術(shù)的,但使用Indexed模式還是有一些優(yōu)勢(shì)的:

    * 需要很少的內(nèi)存
    * 運(yùn)行會(huì)更快,因?yàn)樾枰獋鬏數(shù)淖止?jié)變少了
    * 一些有趣的“調(diào)色板動(dòng)畫”技巧,在其他模式下很難完成的在Indexed模式下簡(jiǎn)直太容易了。你可以只改變LUT里的值去改變屏幕顏色,而不需要改變內(nèi)存里每個(gè)像素對(duì)應(yīng)的值。例如,一個(gè)淡出效果可以改變LUT里的RGB值到0來實(shí)現(xiàn)。
    * 當(dāng)你有一個(gè)紋理需要很多內(nèi)存的時(shí)候,有些3D加速器支持Indexed模式的紋理。

2.3 ModeX


ModeX是一個(gè)特殊的 VGA 256色模式,這種模式下顯存的內(nèi)容會(huì)按照一個(gè)稍微復(fù)雜點(diǎn)planar(二維)格式。這個(gè)模式下的分辨率可以非常高,DirectDraw知道如何寫 ModeX表面,但是windows GDI并不會(huì),所以當(dāng)你混合這兩種不同類型表面的時(shí)候要小心。當(dāng)設(shè)置DirectDraw全屏模式時(shí)可以選擇是否允許DirectDraw創(chuàng)建ModeX 表面。這些日子里你可能想避開ModeX。

 

2.4 Pitch/Stride


雖然屏幕分辨率可能是640x480x32,但這并不是說每行像素會(huì)占用640x4個(gè)字節(jié)的顯存。因?yàn)樗俣壬系脑颍@卡存儲(chǔ)的這些表面寬度經(jīng)常比他們邏輯上要寬。例如,最大支持1024x768的顯卡可能會(huì)把所有從320x200到1024x768的模式內(nèi)部實(shí)現(xiàn)為1024x768模式,所以表面的右邊會(huì)留下空白(呵呵,默認(rèn)左對(duì)齊),這個(gè)分配給表面實(shí)際的寬度就稱為表面的Pitch(或者Stride),知道表面的Pitch是非常重要的,不管它是一個(gè)2D DirectDraw 表面還是紋理貼圖,可以使用 DirectDraw 查詢表面的Pitch。

3、一些游戲概念你需要知道

下班了,以后繼續(xù)。。。

posted on 2007-05-18 16:18 Gattaca 閱讀(726) 評(píng)論(1)  編輯 收藏 引用 所屬分類: DirectX

評(píng)論

# re: 第2章 - 調(diào)色板, 游戲概念, 雙緩沖區(qū)等等 2008-09-09 16:15 interim

不錯(cuò)不錯(cuò),入門  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩三区| 激情婷婷欧美| 中文日韩在线视频| 宅男精品视频| 国产精品美女www爽爽爽视频| 亚洲欧美国产77777| 亚洲欧美欧美一区二区三区| 国产伪娘ts一区| 裸体丰满少妇做受久久99精品| 久久人人97超碰精品888| 亚洲精品1234| 亚洲视屏在线播放| 国产一区二区三区免费观看| 欧美mv日韩mv亚洲| 欧美日韩久久精品| 欧美在线精品一区| 噜噜噜噜噜久久久久久91| 日韩视频一区二区在线观看 | 美国成人直播| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲免费观看高清在线观看| 能在线观看的日韩av| 亚洲女优在线| 国产亚洲精品久久久久婷婷瑜伽| 久久久另类综合| 久久婷婷综合激情| 亚洲级视频在线观看免费1级| 亚洲风情亚aⅴ在线发布| 欧美伦理a级免费电影| 日韩视频中午一区| 亚洲综合二区| 亚洲第一福利在线观看| 亚洲国产黄色| 国产精品激情| 美女免费视频一区| 欧美日韩网站| 9l视频自拍蝌蚪9l视频成人| 久久不射2019中文字幕| 亚洲精品国产精品乱码不99| 夜夜狂射影院欧美极品| 国产日韩三区| 91久久精品国产| 国产欧美精品日韩区二区麻豆天美| 久久久久欧美精品| 欧美激情导航| 久久久久九九视频| 欧美日韩免费一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 在线观看亚洲视频| 99精品视频网| 亚洲夫妻自拍| 午夜视频一区二区| 夜夜嗨av一区二区三区中文字幕 | 久久精品一二三区| 欧美精品一区三区在线观看| 欧美在线观看天堂一区二区三区| 美女露胸一区二区三区| 亚洲尤物精选| 欧美国产高潮xxxx1819| 久久精品中文字幕一区| 欧美亚韩一区| 亚洲欧洲精品一区二区三区不卡| 国语自产精品视频在线看8查询8| 日韩亚洲成人av在线| 91久久久在线| 久久久久国产精品厨房| 亚洲免费在线播放| 欧美成人精品1314www| 欧美国产综合视频| 影音先锋亚洲一区| 久久精品国语| 久久婷婷av| 国产在线一区二区三区四区 | 99精品视频免费观看视频| 蜜桃av综合| 久久精品九九| 国产午夜精品视频| 午夜免费久久久久| 欧美一区二区在线观看| 国产精品高潮在线| 在线视频精品一| 一本色道久久加勒比88综合| 欧美不卡高清| 日韩视频免费观看| 99视频日韩| 欧美日韩国产综合视频在线观看中文| 欧美高清视频| 亚洲日本欧美| 欧美精品久久久久久久久老牛影院| 亚洲第一色在线| 亚洲精品护士| 欧美激情久久久| 亚洲精品少妇| 亚洲综合欧美| 国产精品免费看| 欧美一区二区在线免费播放| 久久蜜桃资源一区二区老牛 | 欧美激情视频在线播放 | 午夜伦欧美伦电影理论片| 国产精品久久7| 亚洲影视中文字幕| 久久久噜噜噜久久久| 在线观看国产精品淫| 鲁大师成人一区二区三区| 亚洲国产精品欧美一二99| 亚洲国产精品日韩| 欧美日本亚洲视频| 亚洲欧美日韩精品久久奇米色影视 | 欧美成人激情视频免费观看| 亚洲精品久久久久久下一站| 亚洲一区网站| 黄色成人片子| 欧美va亚洲va国产综合| 亚洲欧美日韩区| 亚洲丰满少妇videoshd| 亚洲一区二区三区精品动漫| 国产在线精品二区| 欧美日韩亚洲国产一区| 欧美一级午夜免费电影| 亚洲国产欧美一区二区三区丁香婷| 亚洲字幕一区二区| 极品尤物av久久免费看| 欧美日韩一区二区三区免费| 午夜在线精品| 日韩视频在线一区二区三区| 久久久久久有精品国产| 在线综合亚洲| 在线激情影院一区| 国产精品热久久久久夜色精品三区 | 亚洲图片欧美一区| 一区二区亚洲精品| 国产精品区二区三区日本| 免费日韩一区二区| 亚洲欧美视频| 一本大道久久a久久综合婷婷| 玖玖综合伊人| 午夜日韩视频| 亚洲电影免费| 国产毛片精品视频| 欧美日韩色一区| 另类尿喷潮videofree| 午夜精品福利视频| 国产精品99久久久久久久久久久久| 久久影院亚洲| 久久精品视频一| 亚洲欧美日韩天堂| 在线视频精品一| 亚洲精品九九| 最新国产成人在线观看| 国产有码在线一区二区视频| 国产精品色婷婷| 欧美午夜www高清视频| 欧美成人一区二区| 久久中文字幕一区| 久久精选视频| 欧美一区二区在线播放| 亚洲一区999| 妖精视频成人观看www| 亚洲精品欧美在线| 亚洲精品一区二区三区福利| 亚洲国产精品一区二区三区| 亚洲第一精品福利| 欧美电影免费观看网站| 麻豆亚洲精品| 免费亚洲婷婷| 欧美激情一区二区三区在线视频观看 | 久久视频在线免费观看| 久久aⅴ国产紧身牛仔裤| 毛片av中文字幕一区二区| 久久精品国产视频| 久久国产婷婷国产香蕉| 亚洲自拍三区| 一本色道精品久久一区二区三区| 亚洲欧洲在线看| 亚洲第一黄色| 一本色道久久综合亚洲精品不卡| 亚洲三级视频| 亚洲视频在线一区| 亚洲欧美成人综合| 久久成人一区| 欧美成人激情视频| 91久久精品一区二区三区| 亚洲国产一区在线观看| 最新亚洲电影| 在线视频一区二区| 欧美在线视频日韩| 欧美xart系列高清| 欧美日韩在线播放一区二区| 国产精品久在线观看| 怡红院精品视频| 亚洲最新视频在线| 久久av资源网| 亚洲第一伊人| 亚洲一区免费在线观看| 久热精品视频| 国产精品国产三级国产专区53 | 亚洲精品中文字幕有码专区| 亚洲深爱激情| 蜜桃av一区二区三区| 欧美日韩亚洲在线|