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

Gattaca

標題是記憶非常深刻的一部電影,《太空夢》,很好的勵志片。自己一個人在電視上看的,那種感覺現在還記得。

第2章 - 調色板, 游戲概念, 雙緩沖區等等

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


1、圖像模式

 

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

2、顏色原理


有好多種表示顏色的方法,即“顏色模型”,比較常見的一個是“RGB”,幾乎所有可見的顏色都可以用紅、綠、藍三種顏色按照各種比例組合生成。通常會用三個字節來存儲顏色,每位表示一個主色的強度,從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;
}


或者你可能用一個無符號32位整型來儲存RGB顏色,0-7位存藍色,8-15位綠色等等。

typedef unsigned int rgb_color;

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


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

2.1 High-color和true-color模式



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

 

2.2 基于調色板或者indexed模式


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

    * 需要很少的內存
    * 運行會更快,因為需要傳輸的字節變少了
    * 一些有趣的“調色板動畫”技巧,在其他模式下很難完成的在Indexed模式下簡直太容易了。你可以只改變LUT里的值去改變屏幕顏色,而不需要改變內存里每個像素對應的值。例如,一個淡出效果可以改變LUT里的RGB值到0來實現。
    * 當你有一個紋理需要很多內存的時候,有些3D加速器支持Indexed模式的紋理。

2.3 ModeX


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

 

2.4 Pitch/Stride


雖然屏幕分辨率可能是640x480x32,但這并不是說每行像素會占用640x4個字節的顯存。因為速度上的原因,顯卡存儲的這些表面寬度經常比他們邏輯上要寬。例如,最大支持1024x768的顯卡可能會把所有從320x200到1024x768的模式內部實現為1024x768模式,所以表面的右邊會留下空白(呵呵,默認左對齊),這個分配給表面實際的寬度就稱為表面的Pitch(或者Stride),知道表面的Pitch是非常重要的,不管它是一個2D DirectDraw 表面還是紋理貼圖,可以使用 DirectDraw 查詢表面的Pitch。

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

下班了,以后繼續。。。

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

評論

# re: 第2章 - 調色板, 游戲概念, 雙緩沖區等等 2008-09-09 16:15 interim

不錯不錯,入門  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产亚洲成年网址在线观看| 一区福利视频| 亚洲欧洲av一区二区| 亚洲天堂成人在线视频| 国产精品三级久久久久久电影| 久久综合图片| 国内精品久久久久久久97牛牛| 亚洲第一成人在线| 欧美啪啪一区| 日韩亚洲精品在线| 一本久久精品一区二区| 国产精品乱码久久久久久| 欧美一区二视频在线免费观看| 久久综合久久久久88| 亚洲精品黄网在线观看| 欧美日韩高清在线一区| 亚洲午夜在线| 久久精品国产亚洲一区二区| 国产一区二区三区黄| 欧美福利视频一区| 欧美性大战xxxxx久久久| 欧美专区在线观看一区| 久久综合九色综合欧美狠狠| 一区二区三区日韩| 欧美亚洲色图校园春色| 亚洲国产一区二区视频| 亚洲一区二区视频| 亚洲大胆美女视频| 亚洲一级二级| 亚洲激情啪啪| 午夜在线一区| 夜夜嗨av一区二区三区网页| 久久国产精品亚洲va麻豆| 日韩亚洲精品在线| 久久久精品一区| 午夜国产精品视频免费体验区| 亚洲精品影视| 国产在线视频不卡二| 亚洲国产精品va在线看黑人| 国产视频一区在线观看一区免费| 亚洲欧美日韩直播| 美女主播一区| 久久久久久亚洲综合影院红桃 | 国产一区二区三区自拍| 亚洲欧洲在线视频| 国产在线欧美日韩| 正在播放日韩| 一区二区三区av| 蜜臀va亚洲va欧美va天堂| 久久激情婷婷| 国产精品欧美日韩久久| 亚洲人www| 亚洲国产精品成人| 久久久久久亚洲精品杨幂换脸 | 亚洲精品日韩激情在线电影| 午夜精品久久久| 亚洲一区中文| 欧美激情免费在线| 亚洲成人在线网站| 欧美电影电视剧在线观看| 久久中文在线| 一区二区视频免费在线观看| 午夜老司机精品| 久久国内精品视频| 国产日韩欧美不卡| 欧美夜福利tv在线| 欧美在线视频网站| 国产欧美在线观看| 性做久久久久久久免费看| 欧美亚洲网站| 国产一区二区在线观看免费| 欧美在线视频免费| 麻豆精品传媒视频| 在线免费观看日韩欧美| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲视频日本| 国产精品免费观看在线| 亚洲午夜精品视频| 久久精品99国产精品酒店日本| 麻豆精品视频在线| 亚洲经典视频在线观看| 在线一区免费观看| 国产精品麻豆成人av电影艾秋| 久久视频在线视频| 樱桃成人精品视频在线播放| 免费看亚洲片| 亚洲美女精品一区| 欧美一级免费视频| 伊人久久综合| 欧美日本三级| 欧美一区二区三区在线| 欧美大片在线看| 亚洲欧美精品在线| 欲香欲色天天天综合和网| 欧美精品v日韩精品v国产精品| 美女脱光内衣内裤视频久久影院 | 久久se精品一区精品二区| 老司机午夜免费精品视频 | 性久久久久久久| 女人香蕉久久**毛片精品| 99视频一区| 国产揄拍国内精品对白| 久久一区二区三区四区五区| 亚洲精品黄色| 久久伊人亚洲| 亚洲资源av| 91久久久久久国产精品| 国产精品jvid在线观看蜜臀| 久久久久这里只有精品| 亚洲午夜极品| 亚洲国产精品嫩草影院| 久久精品导航| 亚洲一区二区视频在线观看| 亚洲大片精品永久免费| 国产欧美视频一区二区三区| 欧美经典一区二区三区| 久久久水蜜桃av免费网站| 亚洲一级在线观看| 91久久久久| 欧美成人伊人久久综合网| 欧美在线视频免费播放| 亚洲色图制服丝袜| 亚洲精品久久久久久久久| 狠狠久久婷婷| 国产女优一区| 国产精品麻豆成人av电影艾秋| 亚洲永久免费观看| 亚洲美女精品久久| 亚洲国产精品第一区二区三区| 亚洲国产91| 国产一区二区三区免费在线观看| 欧美在线免费播放| 这里只有精品视频在线| 亚洲久色影视| 亚洲另类在线一区| 91久久精品一区二区别| 欧美顶级大胆免费视频| 久久性天堂网| 久久伊人一区二区| 久久精品国产一区二区三| 欧美一区成人| 欧美一区二区在线看| 欧美一级视频| 欧美一区在线视频| 久久成人18免费观看| 久久成人免费日本黄色| 欧美伊久线香蕉线新在线| 欧美主播一区二区三区| 久久久999| 蜜臀a∨国产成人精品| 欧美jizz19性欧美| 欧美成人一二三| 最新日韩在线视频| 亚洲激情在线观看视频免费| 亚洲精品视频一区二区三区| 一本久久综合| 亚洲永久在线观看| 久久精品人人爽| 免费在线亚洲欧美| 欧美日韩成人综合在线一区二区| 午夜精品免费在线| 欧美在线观看一二区| 久久国产视频网站| 免费成人性网站| 欧美日韩中文字幕在线| 国产精品视频第一区| 好吊妞**欧美| 99ri日韩精品视频| 午夜日韩激情| 欧美大片一区二区三区| 日韩一二三在线视频播| 午夜性色一区二区三区免费视频| 亚洲国内欧美| 亚洲欧美激情视频| 久久综合九色| 国产精品嫩草影院一区二区| 影音欧美亚洲| 中日韩美女免费视频网址在线观看 | 欧美激情精品久久久久| 99香蕉国产精品偷在线观看| 欧美在线一二三| 欧美日韩亚洲成人| 欧美成人午夜剧场免费观看| 欧美色精品在线视频| 精品福利av| 亚洲欧美日韩另类精品一区二区三区| 亚洲国产精品一区二区第四页av| 国产日韩欧美在线看| 亚洲麻豆视频| 久久男人av资源网站| 亚洲精品一区二区三区婷婷月 | 在线视频你懂得一区| 久久久av水蜜桃| 国产精品毛片一区二区三区| 亚洲国产老妈| 久久精品国产亚洲aⅴ| 亚洲精品色图| 免费中文日韩| 在线观看成人一级片| 性欧美超级视频|