圖片是怎么畫到屏幕上的?(如何理解游戲系列)


圖片來源:Lima Sky

《游戲和動(dòng)畫有什么不同盅视?》一文里,提到過這么一個(gè)說法:游戲的狀態(tài)決定了游戲的畫面旦万,這篇文章將繼續(xù)討論一下“具體怎么畫”這個(gè)事情闹击。

我們知道iPhone5的分辨率是1136x640,如果把顯示屏上的每個(gè)像素都想象成一個(gè)格子成艘,那么整個(gè)顯示屏就像是一個(gè)巨大的圍棋盤赏半。棋盤上的每一個(gè)格子都有自己的顏色。

什么是顏色呢淆两?人類眼睛的視網(wǎng)膜上有許許多多的視錐細(xì)胞断箫,這些視錐細(xì)胞可以分成三類,分別對(duì)紅秋冰、綠仲义、藍(lán)三種顏色的光分外敏感。當(dāng)一抹紅色的光射到視網(wǎng)膜上時(shí)剑勾,對(duì)紅色光敏感的這些細(xì)胞會(huì)被刺激到埃撵,并向大腦傳遞紅色信號(hào)。這意味著甥材,不管我們看到什么顏色的光盯另,我們的大腦只知道紅色光有多少,綠色光有多少洲赵,藍(lán)色光有多少鸳惯。因此我們就用三個(gè)數(shù)字來表示一種顏色:R表示這個(gè)顏色有多紅商蕴、G表示它有多綠、B表示它有多藍(lán)芝发。例如(1, 0, 0)表示純正的紅色绪商,(1,1辅鲸,0)表示紅綠各半的顏色格郁,也就是黃色,(0.5, 0.5, 0)表示比較暗的黃色独悴。棋盤上每個(gè)格子都有自己的顏色例书,就是說每個(gè)格子都有自己的三個(gè)數(shù)字。(剛才在搜索資料的時(shí)候刻炒,發(fā)現(xiàn)蝦蛄居然有12種感光細(xì)胞决采,特此感慨一下:煮湯的時(shí)候看不出來它們這么有個(gè)性啊坟奥?)树瞭。

ok,現(xiàn)在假設(shè)你正在開發(fā)《涂鴉跳躍》這個(gè)游戲爱谁。你在PhotoShop里把那個(gè)綠色的主角畫出來后晒喷,你就得到一個(gè)圖片文件叫“主角.png”。這是一張100x100的圖片访敌。跟剛才一樣凉敲,我們把這張圖片想象成一個(gè)棋盤,棋盤上每個(gè)格子同樣也有自己的顏色捐顷。如果你用取色器去點(diǎn)主角身上的某個(gè)格子荡陷,你可以看見這個(gè)格子的顏色是(0,1迅涮,0)废赞。

游戲運(yùn)行的時(shí)候,它會(huì)不斷改變主角的參數(shù)叮姑,如果某一幀它計(jì)算出主角的當(dāng)前位置是(10唉地,20),那么它該怎么把“主角.png”畫到這個(gè)位置上呢传透?

首先耘沼,從iPhone屏幕左下角開始,往右數(shù)10格朱盐,再往上數(shù)20格群嗤,找到目標(biāo)格子;然后兵琳,用一個(gè)釘子把圖片釘在這個(gè)目標(biāo)格子上并挪正狂秘,這時(shí)圖片的格子和屏幕的格子之間就形成一個(gè)對(duì)應(yīng)關(guān)系骇径;接著,它會(huì)把圖片上每個(gè)格子的顏色值抄一份給屏幕上與之對(duì)應(yīng)的格子者春,等所有格子都抄完破衔,這幅圖片就被畫到屏幕上去了。

圖片上那個(gè)被釘子穿透了的格子钱烟,叫做圖片的錨點(diǎn)晰筛。錨點(diǎn)可以是圖片上的任何一個(gè)格子,這取決于你的方便拴袭。很顯然读第,同一個(gè)位置,不同的錨點(diǎn)稻扬,圖片是會(huì)被畫在屏幕上的不同地方的卦方。

每次游戲計(jì)算完當(dāng)前的狀態(tài)后羊瘩,都會(huì)得到一個(gè)新的位置泰佳,然后根據(jù)這個(gè)位置,按照上面的方法尘吗,把圖片畫到屏幕上去逝她。這樣,我們就看到一個(gè)動(dòng)來動(dòng)去的主角了睬捶。

實(shí)際情形當(dāng)然比這個(gè)要復(fù)雜很多黔宛,除了移動(dòng)以外,圖片還可能做各種變換擒贸,例如旋轉(zhuǎn)縮放等臀晃,此外還得處理圖片的透明度,至于3D模型的渲染介劫,則涉及更復(fù)雜的變換徽惋,但不管如何,我們都可以把iPhone畫圖(渲染)的過程座韵,看做是給屏幕上每個(gè)格子賦顏色值的過程险绘。格子們根據(jù)這個(gè)顏色值,發(fā)出不同頻率誉碴、不同強(qiáng)度的光宦棺。

順便說說前不久剛被Facebook收購(gòu)的Oculus VR。這家公司研發(fā)的顯示設(shè)備Rift能讓穿戴者置身于無邊框的虛擬世界中黔帕。盡管在分辨率代咸、渲染效率等方面還不夠完美,但Rift已能給人們帶來及其震撼的視覺感受成黄,很難想象在不久的將來這類設(shè)備會(huì)在多大程度上提升人們玩游戲呐芥、看電影時(shí)的體驗(yàn)白华。試想一下,你通過體感設(shè)備輸入信息贩耐,游戲通過虛擬現(xiàn)實(shí)設(shè)備反饋狀態(tài)弧腥,別說《極品飛車》,就算是《神廟逃亡》也會(huì)玩你一身汗吧潮太。

下一篇《游戲進(jìn)度是如何恢復(fù)的管搪?》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市铡买,隨后出現(xiàn)的幾起案子更鲁,更是在濱河造成了極大的恐慌,老刑警劉巖奇钞,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澡为,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡景埃,警方通過查閱死者的電腦和手機(jī)媒至,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谷徙,“玉大人拒啰,你說我怎么就攤上這事⊥昊郏” “怎么了谋旦?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)屈尼。 經(jīng)常有香客問我册着,道長(zhǎng),這世上最難降的妖魔是什么脾歧? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任甲捏,我火速辦了婚禮,結(jié)果婚禮上涨椒,老公的妹妹穿的比我還像新娘摊鸡。我一直安慰自己,他們只是感情好蚕冬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布免猾。 她就那樣靜靜地躺著,像睡著了一般囤热。 火紅的嫁衣襯著肌膚如雪猎提。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天旁蔼,我揣著相機(jī)與錄音锨苏,去河邊找鬼疙教。 笑死,一個(gè)胖子當(dāng)著我的面吹牛伞租,可吹牛的內(nèi)容都是我干的贞谓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼葵诈,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼裸弦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起作喘,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤理疙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后泞坦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窖贤,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年贰锁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赃梧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡李根,死狀恐怖槽奕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情房轿,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布所森,位于F島的核電站囱持,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏焕济。R本人自食惡果不足惜纷妆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晴弃。 院中可真熱鬧掩幢,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躏敢。三九已至,卻和暖如春裕循,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搓逾。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工轮听, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骗露,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓血巍,卻偏偏與公主長(zhǎng)得像萧锉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子述寡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容