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

Gattaca

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

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

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


1、圖像模式

 

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

2、顏色原理


有好多種表示顏色的方法,即“顏色模型”,比較常見的一個是“RGB”,幾乎所有可見的顏色都可以用紅、綠、藍(lán)三種顏色按照各種比例組合生成。通常會用三個字節(jié)來存儲顏色,每位表示一個主色的強度,從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位存藍(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值存儲到顯存里。比如,如果屏幕左上角的像素點是綠色,那么在true-color模式下,顯存里前三個字節(jié)就是0,255,0。而在high-color模式下,對應(yīng)的RGB值分別用5、6、5位來存儲,即前5位紅色,接下來6位綠色,然后5位藍(lán)色,所以在這個模式下顯存對應(yīng)的就是兩個字節(jié),二進(jìn)制表示就是 00000111 11100000。

 

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


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

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

2.3 ModeX


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

 

2.4 Pitch/Stride


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

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

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

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

評論

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

不錯不錯,入門  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(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>
            亚洲视屏在线播放| 国产精品v欧美精品v日本精品动漫| 亚洲欧美国产77777| 亚洲男人第一av网站| 久久高清福利视频| 欧美激情第一页xxx| 国产精品黄色在线观看| 国产亚洲女人久久久久毛片| 亚洲国产精品va在线看黑人动漫| 亚洲美女电影在线| 欧美一区二区三区精品电影| 美腿丝袜亚洲色图| 一区二区三区www| 久久国产精品网站| 欧美日本免费| 黄色日韩精品| 亚洲综合丁香| 欧美a级片一区| 一区二区三区蜜桃网| 亚洲人成在线观看一区二区| 一本色道久久综合一区| 久久精品国产亚洲aⅴ| 欧美日韩国产另类不卡| 狠狠狠色丁香婷婷综合激情| 这里只有精品在线播放| 浪潮色综合久久天堂| 一区二区不卡在线视频 午夜欧美不卡在 | 久久久久久久久久久一区 | 女女同性女同一区二区三区91| 欧美精品自拍| 在线观看中文字幕亚洲| 亚洲欧美怡红院| 亚洲国产欧美精品| 久久国产精彩视频| 国产精品女人久久久久久| 亚洲日本成人| 久久综合色播五月| 亚洲一区二区三区在线观看视频| 欧美华人在线视频| 在线欧美影院| 麻豆国产va免费精品高清在线| 亚洲视频一区在线| 欧美日韩精品一区二区三区四区| 亚洲高清久久| 男女激情久久| 久久视频在线视频| 一区二区视频免费在线观看| 久久se精品一区二区| 亚洲私人影院| 国产精品日韩在线观看| 亚洲男女自偷自拍| 亚洲私人影院| 国产欧美 在线欧美| 亚洲欧美文学| 羞羞色国产精品| 国产情人综合久久777777| 欧美影院午夜播放| 欧美在线免费观看视频| 国产在线播放一区二区三区| 欧美中文字幕精品| 久久国产成人| 亚洲福利国产精品| 亚洲国产精品va在线看黑人| 欧美大片在线观看一区二区| 亚洲精品乱码久久久久久蜜桃91| 亚洲缚视频在线观看| 欧美/亚洲一区| 一本到12不卡视频在线dvd| 亚洲美女电影在线| 国产精品www994| 久久国产精品电影| 玖玖玖免费嫩草在线影院一区| 亚洲国产婷婷| 夜夜嗨av一区二区三区四季av | 午夜精品久久久| 国产亚洲欧美一区| 欧美大成色www永久网站婷| 欧美不卡视频一区| 亚洲免费中文| 久久精品综合网| 亚洲精品日韩一| 亚洲视频中文| 亚洲第一二三四五区| 亚洲精品偷拍| 国产亚洲一区二区三区在线观看| 免费精品视频| 国产精品chinese| 久久天天综合| 欧美日韩在线综合| 久久人人97超碰精品888| 欧美成人免费va影院高清| 亚洲专区一二三| 久久久夜精品| 亚洲欧美综合精品久久成人| 久久综合激情| 午夜日韩电影| 欧美韩日一区二区三区| 欧美一区永久视频免费观看| 欧美成人午夜影院| 欧美主播一区二区三区| 欧美精品色综合| 久久久久国产精品一区三寸| 欧美精品一区在线观看| 久久国产66| 欧美日韩无遮挡| 欧美成人一区二区三区在线观看 | 久久精品二区三区| 亚洲综合色视频| 欧美黄色aaaa| 久久综合久久综合久久| 国产精品成人在线观看| 亚洲国产美女久久久久| 国产亚洲午夜高清国产拍精品| 亚洲毛片在线看| 亚洲三级电影全部在线观看高清 | 久久久免费精品| 国产精品欧美日韩一区| 亚洲清纯自拍| 亚洲黄色免费网站| 另类激情亚洲| 欧美~级网站不卡| 国产日韩一区二区三区在线播放 | 毛片一区二区| 国产精品美女在线| 亚洲国产美女| 亚洲精品久久久久久久久| 久久看片网站| 久久精品主播| 国产在线日韩| 久久久久久久高潮| 裸体女人亚洲精品一区| 好吊妞**欧美| 久久亚洲风情| 亚洲国产成人精品女人久久久 | 亚洲国产精品成人久久综合一区| 黄色成人91| 久久国产精品一区二区三区四区 | 国内精品久久久久久久97牛牛| 亚洲视频一区在线观看| 亚洲视频碰碰| 欧美成人国产| 性久久久久久久久| 欧美日韩在线三级| 欧美黄色aa电影| 国内精品国语自产拍在线观看| 亚洲成色www8888| 在线观看三级视频欧美| 一区二区三区精品| 亚洲国产精品999| 久久精品视频网| 久久婷婷综合激情| 国产午夜久久久久| 午夜精品偷拍| 久久综合网络一区二区| 伊人久久噜噜噜躁狠狠躁| 卡一卡二国产精品| 亚洲国产另类久久精品| 欧美日韩一区综合| 久久精品国产精品亚洲综合| 国产精品久久久久久久浪潮网站| 欧美激情在线播放| 在线亚洲电影| 欧美日韩精品一区二区在线播放| 亚洲欧洲三级| 亚洲性夜色噜噜噜7777| 欧美午夜精品理论片a级按摩 | 女生裸体视频一区二区三区| 国产一区二区三区成人欧美日韩在线观看| 亚洲欧美综合一区| 可以看av的网站久久看| 亚洲动漫精品| 西西裸体人体做爰大胆久久久| 亚洲一区网站| 久久天天躁狠狠躁夜夜av| 欧美国产先锋| 亚洲欧美激情四射在线日 | 国产精一区二区三区| 亚洲欧美日韩高清| 久热re这里精品视频在线6| 亚洲免费av电影| 韩日在线一区| 国产精品入口夜色视频大尺度| 久久一综合视频| 亚洲欧美一区二区三区久久| 欧美国产丝袜视频| 欧美一级大片在线观看| 亚洲精品久久在线| 国产真实久久| 国产精品国产a| 亚洲综合999| 亚洲综合精品四区| 狠狠色丁香婷综合久久| 欧美三级精品| 久久香蕉国产线看观看网| 日韩视频免费观看| 欧美激情1区2区3区| 久久久精品一品道一区| 一区二区三区高清视频在线观看| 一区二区在线免费观看| 国产欧美一区二区三区久久|