日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用于游戏开发和其他目的的光线投射教程

發布時間:2024/3/12 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用于游戏开发和其他目的的光线投射教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用于游戲開發和其他目的的光線投射教程

  • 前言
  • 介紹
  • 一個簡短的歷史
  • 什么是光線投射
  • 用于游戲開發的光線投射與光線追蹤
  • 光線投射的局限性
  • 光線投射第 1 步:創造一個世界
  • 光線投射第 2 步:定義投影屬性
  • 尋找到投影平面的距離
  • 光線投射第 3 步:尋找墻壁
    • 尋找墻壁的光線
    • 這條射線在 A、B、C、D、E 和 F 點與網格相交
  • 尋找到墻壁的距離
    • 查找到墻壁切片的距離
  • 畫墻
  • 紋理貼圖墻
  • 繪制地板
  • 繪制天花板
  • 可變高度的墻
  • 水平運動 // 讓玩家移動
    • A. 向前和向后移動。
    • B、轉向。
  • 上下看
    • A. 上下看。
  • 飛行和蹲伏
  • 綜合效果
  • 陰影
  • 其他參考內容、參考文獻和注釋

前言

本文檔探討了光線投射背后的基本理論,這是一種在 90 年代游戲開發領域非常流行的偽 3 維渲染技術。通常,本文檔不會涉及實現和編碼細節。討論將主要關于概念,實現取決于讀者。對于普通讀者,假設了解勾股定理和高中數學知識。

本文檔寫于 1996 年,盡管光線投射已被更新、更強大的技術(和硬件!)所取代,但讀者仍有望從該技術中受益。

介紹

過去幾年,個人電腦市場出現爆炸式增長*。這種增長部分是由對多媒體標題的興奮和好奇產生的。本項目是嘗試在多媒體標題開發過程中獲得一些知識和經驗。具體來說,我們將仔細研究與3D多媒體游戲開發相關的問題。

(*本文檔寫于 1996 年)

一個簡短的歷史

1992 年,隨著一款游戲《德軍總部 3D》(iD Software)的發布,光線投射的轟動開始了。在 Wolfenstein 3D 中,玩家被放置在一個 3D 迷宮般的環境中,他/她必須在與多個對手作戰時找到出口。Wolfenstein 3D 因其快速流暢的動畫而成為即時經典。使這種動畫成為可能的是一種稱為“光線投射”的創新 3 維渲染方法。

Wolfenstein 3D 由 Id Software 開發和創建。從今以后,Id 的程序員 John Carmack 很可能是發起光線投射感覺的人(Myers 5)。

什么是光線投射

光線投射是一種技術,它通過將光線從視點追蹤到觀看體 (LaMothe 942)來將有限形式的數據(非常簡化的地圖或平面圖)轉換為 3D 投影。例如,光線投射變換在下圖中。

請注意,這不是光線投射的唯一應用。光線投射也可用于渲染地形圖,例如圖 2(下圖)。要記住的重點是光線投射“從觀察者的眼睛向后追蹤光線到物體”。

用于游戲開發的光線投射與光線追蹤

與光線投射一樣,光線追蹤“通過追蹤從觀察者的眼睛到場景中物體的假想光線來確定表面的可見性”(Foley 701)。

從這兩個定義來看,光線投射和光線追蹤似乎是一樣的。事實上,有些書籍交替使用這兩個術語。然而,從游戲程序員的角度來看,光線投射被視為光線追蹤的一種特殊實現(子類)。

之所以做出這種區分,是因為一般而言,光線投射比光線追蹤快。這是可能的,因為光線投射利用一些幾何約束來加速渲染過程。例如:墻壁總是與地板垂直(您可以在 Doom 或 Wolfenstein 3D 等游戲中看到這一點)。如果沒有這樣的限制,光線投射將是不可行的。例如,我們不想對任意樣條進行光線投射,因為很難找到對此類形狀的幾何約束。

表 1是光線投射和光線追蹤之間的一般比較。要記住的要點是,由于某些“幾何約束”,在光線投射中要跟蹤的“光線數量較少”。或者,也可以說光線投射是光線追蹤的一種特殊用途的實現。

表 1:光線投射和光線追蹤之間的比較
(游戲程序員/游戲開發者的觀點)

光線投射的局限性

光線投射很快,因為它利用了一些幾何約束。在大多數情況下,墻壁始終與地板成 90 度角。(請注意,我們不是在談論墻壁和另一面墻壁之間的角度,而是墻壁和地板之間的角度。)

因此,光線投射游戲幾乎存在的一個限制是視點不能沿 Z 軸旋轉(圖 5)。如果允許這樣做,則墻壁可能會傾斜,從而失去繪制垂直切片的好處。這種無法沿 Z 軸旋轉是光線投射環境不被視為真正的 3D 環境的原因之一。

在光線投射環境中,玩家可以向前、向后、向左或向右轉;但不能繞Z軸旋轉/擺動(這種Z軸旋轉稱為傾斜)。

光線投射第 1 步:創造一個世界

為了說明光線投射的過程,我們將創建一個具有以下幾何約束的迷宮世界:

  • 墻壁始終與地板成 90° 角。
  • 墻壁由大小相同的立方體組成。
  • 地板總是平坦的。
  • 出于我們的目的,每個立方體的大小為 64x64x64 單位。(選擇 64 是任意的,但選擇 2 的倍數會很有用;因為我們可以對這樣的數字執行一些算術移位運算(移位運算比乘法或除法快)。大小越大立方體,世界看起來會更塊,但較小的立方體會使渲染速度變慢。)
    這樣的世界如 下圖 所示。

    在繼續之前,我們將定義我們的坐標系,以免混淆。我們使用的坐標系如下:

    注意:任何類型的笛卡爾坐標系都可以正常工作。但是,您必須保持一致(不要對一件事使用自上而下的坐標系,而對其他事使用自上而下的坐標)。如果你這樣做,你可能會讓自己感到困惑——我做到了。

    光線投射第 2 步:定義投影屬性

    現在我們有了世界,我們需要定義一些屬性,然后才能投影和渲染世界。具體來說,我們需要知道這些屬性:

  • 玩家/觀眾的高度、玩家的視野(FOV)和玩家的位置。
  • 投影平面的尺寸。
  • 播放器與投影平面的關系。
  • 玩家應該能夠看到他/她面前的東西。為此,我們需要定義一個視野 (FOV)。FOV 決定玩家看到他/她面前的世界的寬度(見下圖)。大多數人的 FOV 為 90 度或更多。然而,這個角度的 FOV 在屏幕上看起來并不好。因此,我們通過試驗和實驗(關于它在屏幕上看起來有多好)將 FOV 定義為 60 度。玩家的高度被定義為 32 個單位,因為考慮到墻壁(立方體)高 64 個單位,這是一個合理的假設。

    要將玩家置于世界中,我們需要定義玩家的 X 坐標、玩家的 Y 坐標以及玩家面對的角度。這三個屬性構成了玩家的“觀點”。

    假設玩家以相對于世界的 45 度視角放置在網格坐標(1,2)中間的某個位置,那么玩家的視角和 FOV 將如下圖 所示。(一個網格組成是 64 x 64 個單位。因此,我們也可以說玩家在單位坐標(96,160)中)。

    播放器位于網格坐標(1,2)或單位坐標(96,160)中間,視角為 45 度,視野為 60 度。

    我們需要定義一個投影平面,以便我們可以將玩家看到的東西投影到投影平面中。320 單位寬和 200 單位高的投影平面是一個不錯的選擇,因為這是大多數 VGA 視頻卡的分辨率。(視頻分辨率通常以像素為單位,因此可以將 1 像素視為等于 1 個單位。)
    當玩家的視角被投影到投影平面時,世界應該看起來像下面中的場景。

    尋找到投影平面的距離

    通過知道視野(FOV)和投影平面的尺寸,我們可以計算出后續光線之間的角度以及玩家與投影平面之間的距離


    這是我們可以計算的(其中大部分是高中數學,如果你不明白,我建議你復習三角學/勾股定理):


    所以現在我們知道:

    • 投影平面的尺寸 = 320 x 200 個單位
    • 投影平面的中心 = (160,100)
    • 到投影平面的距離 = 277 個單位
    • 后續光線之間的角度 = 60/320 度

    (我們偶爾會將“后續光線之間的角度”稱為“后續列之間的角度”。稍后,這個角度將用于從一列到另一列循環。玩家到投影平面之間的距離將用于縮放。)

    光線投射第 3 步:尋找墻壁

    可以將墻視為 320 條垂直線(或 320 條墻切片)的集合。

    這正是一種適用于光線投射的幾何約束形式。我們可以只跟蹤屏幕的每個垂直列,而不是為屏幕上的每個像素跟蹤一條光線。FOV 最左側的光線將投影到投影平面的第 0 列,最右側的光線將投影到投影平面的第 319 列。

    尋找墻壁的光線


    因此,為了渲染這樣的場景,我們可以簡單地從左到右追蹤 320 條光線。這可以在循環中完成。以下說明了這些步驟:

  • 根據視角,減去 30 度(FOV 的一半)。
  • 從第 0 列開始:
    A. 投一縷。(術語“施法”有點令人困惑。想象一下玩家是一個可以“施放”射線而不是法術的巫師。射線只是從玩家延伸出來的“假想”線。)
    B. 跟蹤光線,直到它碰到墻壁。
  • 記錄到墻壁的距離(距離等于射線的長度)。
  • 添加角度增量,使光線向右移動(我們從圖 10 中知道,角度增量的值為 60/320 度)。
  • 對每個后續列重復步驟 2 和 3,直到投射所有 320 條光線。
  • 步驟 2A的技巧是,我們只需檢查每個網格,而不是檢查每個像素。這是因為墻只能出現在網格邊界上。考慮如下面所示跟蹤的光線。要檢查這條射線是否撞到了墻壁,只需檢查 A、B、C、D、E 和 F 處的網格交點即可。

    這條射線在 A、B、C、D、E 和 F 點與網格相交

    要找到墻壁,我們需要檢查射線遇到的任何網格交點;并查看網格上是否有墻。最好的方法是分別檢查水平和垂直交叉點。當垂直或水平交叉口上有墻時,檢查停止。然后比較到兩個交點的距離,并選擇更近的距離。以下兩幅圖說明了此過程。


    找水平網格線交點的步驟:

  • 找到第一個交點的坐標(本例中的點 A)。
  • 找Ya。(注意:Ya只是網格的高度;但是,如果光線朝上,Ya將為負,如果光線朝下,Ya將為正。)
  • 使用上面給出的等式找到 Xa。
  • 檢查交點處的網格。如果網格上有墻,停下來計算距離。
  • 如果沒有墻,則將 延伸到下一個交點。請注意,下一個交點的坐標 - 稱之為 (Xnew,Ynew) 是 Xnew=Xold+Xa,并且 Ynew=YOld+Ya。
  • 例如,以下是您如何獲得 A 點:
    注意:記住笛卡爾坐標向下增加,任何小數值都將向下舍入。

    ====== 尋找水平交點 ====== 1.求A的坐標, 如果光線朝上 Ay = rounded_down(Py/64) * (64) - 1; 如果光線朝下Ay = rounded_down(Py/64) * (64) + 64; (圖中光線朝上,所以我們使用第一個公式 。Ay=rounded_down(224/64) * (64) - 1 = 191;現在,我們可以找到y的網格坐標。但是,我們必須確定 A 是否是該線上方塊的一部分,或該線下方的塊。 在這里,我們選擇將A作為線上方塊的一部分,這就是我們從Ay中減去1的原因,所以Ay的網格坐標為 191/64 = 2;Ax = Px + (Py-Ay)/tan(ALPHA);圖中,(假設ALPHA為60度),Ax=96 + (224-191)/tan(60) = 約115;Ax 的網格坐標為 115/64 = 1;所以 A 在網格 (1,2) 處,我們可以檢查該網格上是否有墻。(1,2) 上沒有墻,所以光線會延伸到 C。2. 尋找 Ya如果光線朝上 Ya=-64; 如果光線朝下Ya=64; 3. 尋找 XaXa = 64/tan(60) = 364、我們可以得到C的坐標如下:Cx=A.x+Xa=115+36=151Cy=A.y+Ya = 191-64 = 127;將每個分量除以64 將其轉化為網格坐標,結果為Cx = 151/64 = 2(網格坐標),Cy = 127/64 = 1(網格坐標)所以C的網格坐標為(2, 1) . (C 程序員注:記住我們總是向下取整,尤其如此,因為您可以使用右移 8 來除以 64)。 5. 網格 (2,1) 被選中。再次,沒有墻,所以射線延伸到 D。 6. 我們可以得到 D 的坐標如下:Dx=C.x+Xa = 151+36 = 187Dy=C.y+Ya = 127-64 = 63;將每個分量除以64 將其轉化為網格坐標,結果為Dx = 187/64 = 2(網格坐標),Dy = 63/64 = 0(網格坐標)所以D的網格坐標為(2, 0) . 6. 網格 (2,0) 被選中。 那里有一堵墻,所以過程停止。

    (可以看到,一旦我們有了Xa和Ya的值,這個過程就很簡單了,我們只要把舊的值與Xa和Ya不斷相加,并進行移位操作,就可以找出下一個的網格坐標被射線擊中的點。)


    尋找垂直網格線交點的步驟:

  • 找到第一個交點的坐標(本例中的點 B)。光線在圖片中朝右,所以 Bx = rounded_down(Px/64) * (64) + 64。
    如果光線朝左 Bx = rounded_down(Px/64) * (64) – 1. Ay = Py + (Px-Ax)*tan(ALPHA);
  • 找到 Xa。(注意:Xa 只是網格的寬度;但是,如果光線朝右,則 Xa 將為正,如果光線朝左,則 Ya 將為 負。)
  • 使用上面給出的等式找到 Ya。
  • 檢查交點處的網格。如果網格上有墻,停下來計算距離。
  • 如果沒有墻,則將 延伸到下一個交點。請注意,下一個交點的坐標 - 稱之為 (Xnew,Ynew) 只是 Xnew=Xold+Xa,而 Ynew=YOld+Ya。
  • 在圖中,首先,光線擊中點 B。網格 (2,2) 被選中。(2,2) 上沒有墻,所以射線延伸到 E。網格 (3,0) 被檢查。那里有一堵墻,所以我們停下來計算距離。

    在此示例中,點 D 比 E 更近。因此將繪制 D(不是 E)處的墻切片。

    尋找到墻壁的距離

    有幾種方法可以找到從視點(玩家)到墻壁切片的距離。它們如下圖所示。

    查找到墻壁切片的距離


    正弦或余弦函數的實現成本更低,因為它們可以預先計算并放入表格中。這是可以做到的,因為 ALPHA(玩家的 POV)必須在 0 到 360 度之間,所以可能性的數量是有限的(平方根方法對 x 和 y 的可能值幾乎沒有限制)。

    在畫墻之前,有一個問題是必須要解決的。這個問題被稱為“魚缸效應”。魚缸效應的發生是因為光線投射實現將極坐標和笛卡爾坐標混合在一起。因此,在不直接位于觀察者面前的墻壁切片上使用上述公式將提供更長的距離。這不是我們想要的,因為它會導致如下圖所示的觀看失真。



    因此,為了消除觀看失真,從上圖 中的方程獲得的最終距離必須乘以 cos(BETA);其中 BETA 是投射的光線相對于視角的角度。在上圖中,視角 (ALPHA) 為 90 度,因為玩家面朝上。因為我們有 60 度的視野,所以最左邊的光線的 BETA 是 30 度,最右邊的光線是 -30 度。

    畫墻

    在前面的步驟中,投射了 320 條光線,當每條光線擊中墻壁時,計算到該墻壁的距離。知道距離,然后可以將墻切片投影到投影平面上。為此,需要找到投影墻切片的高度。事實證明,這可以通過一個簡單的公式來完成:

    實際切片高度 投影切片高度 = --------------------- * 到投影平面的距離到切片的距離

    下面的圖 解釋了該公式背后的邏輯

    墻壁縮放背后的數學


    我們的世界由立方體組成,其中每個立方體的尺寸為 64x64x64 單位, 所以墻高是64個單位。我們也已經知道玩家到投影平面的距離(277)。因此,方程可以簡化為:

    投影切片高度 = 64 / 到切片的距離 * 277

    在實際實現中,可以考慮以下幾點:

    • 例如,可以預先計算 64/277,因為這將是一個常數值。一旦計算出來,就可以在屏幕上繪制墻切片。這可以通過簡單地在投影平面(屏幕)上的相應列上繪制一條垂直線來完成。

    • 還記得數字 277 是從哪里來的嗎?這個數字實際上可以稍微偏離一點,而不會造成太大的影響。事實上,使用255的值會節省時間,因為程序員可以使用移位運算符來節省計算時間(右移3進行乘法,左移進行除法)。

    例如,假設第 200 列的光線在 330 個單位的距離處撞擊墻壁切片。切片的投影將為 64 / 330 * 277 = 54(向上取整)。
    由于投影平面的中心被定義為 100。墻切片的中間應該出現在這一點上。因此,應繪制墻切片的頂部位置是 100-27=73。(其中 27 是 54 的二分之一)。最后,切片的投影將類似于下圖。

    紋理貼圖墻

    為了使墻壁更具吸引力,可以使用稱為紋理映射的技術在墻壁上繪制紋理(位圖)。(紋理映射通常是指在表面上繪制位圖/紋理的技術。)對于立方體世界,我們使用大小為 64 x 64 像素的位圖。選擇這個大小是因為 64 x 64 也是我們在我們的世界中使用的立方體面的大小。可以使用不同大小的位圖,但使用相同大小會簡化紋理映射過程。

    如果我們要將紋理映射到任意多邊形上,紋理映射過程會很復雜。幸運的是,在我們正在創建的光線投射世界中,紋理映射只是縮放位圖切片(一列)的問題(參見下面的圖)。

    當光線尋找墻壁交點時,可以很容易地找到偏移量(光線相對于網格的位置)。然后可以使用該偏移量來確定位圖的哪一列將被繪制為墻切片。下圖說明了查找偏移量的過程。

    繪制地板

    要繪制地板,我們可以進行地板澆鑄(floor-casting 是指渲染地板的一種技術)。但是請注意,在沒有紋理映射或著色的情況下執行地板鑄造將是浪費的。換句話說,如果地板沒有紋理或陰影(陰影將在后面探討),那么我們可以簡單地用純色繪制地板,我們就完成了。牢記這一點,讓我們探索進行地板鑄造所需的條件。

    有幾種方法可以進行地板澆鑄。但是,它們都使用類似的技術。該技術解釋如下。

  • 找到與地板的交點。
  • 確定已經相交的地板的世界坐標。
  • 計算玩家與地板交點的距離。
  • 將地板交點投影到投影平面上。
  • 請注意,沒有必要繪制所有樓層。我們應該只繪制未被墻壁覆蓋的地板。出于這個原因,我們應該從壁切片的底部開始鑄造。從切片的底部,我們然后向下掃描投影平面上的每個像素(即:隨后向下投射光線)。然而,這一次,光線不是尋找與墻壁的交點,而是尋找與地板的交點。


    請記住,我們不需要投射超出投影平面。(即:從墻片底部開始,逐行向下投射;到達投影平面底部時停止。)

    下面的圖解釋了地板澆鑄背后的數學原理。


    重申一下,請在閱讀以下步驟時查看插圖:

    • 從墻切片的底部開始。
  • 獲取像素位置(您在進行墻壁投射時具有此值)。
  • 從像素到觀察者的眼睛畫一條線(一條光線)。
  • 延長線使其與地板相交。
  • 線與地板“相交”的點是紋理貼圖上被光線擊中的點。
  • 獲取紋理貼圖上那個點的像素值(參見下圖,了解如何做到這一點)并將其繪制在屏幕上。
    • 重復 1-5 直到到達屏幕底部。

    繪制天花板

    要繪制天花板,可以顛倒地板澆筑過程。而不是從跟蹤光線的底部在一個壁切片的向下方向,從追蹤射線頂壁在向上方向。一旦掌握了地板鑄造背后的理論,這實際上非常簡單。


    稍后,我們將解釋如何模擬仰視、俯視、飛行和蹲伏的錯覺。如果程序員不想模擬這些,可以同時繪制地板和天花板。這是因為玩家的眼睛到地板和天花板的距離相等/對稱。(地板和天花板是對稱的,因為玩家的眼睛正好在地板和天花板的中點。)

    可變高度的墻

    到目前為止,我們世界上所有的墻都具有相同的高度。通過一些創新,我們實際上可以使用不同高度的墻壁。這使世界變得更有趣,如下圖所示。


    將可變高度墻概念化的最簡單方法是將墻視為地板。也就是說,將墻壁想象成升高的地板。我們需要一個數組來保存每個地板網格的高度來完成這項工作。渲染場景的基本方法是這樣的:

  • 從投影平面的最左側列開始。
  • 找出玩家當前站立的地板的高度。(稱之為 CURRENT_HEIGHT。)
  • 像以前一樣投射光線并檢查交叉點。
  • 如果光線擊中高度與 CURRENT_HEIGHT 不同的地板,則該地板要么升高/下沉。(活動地板只是一堵墻。)
  • 如果它被提升,那么它將是可見的。投影它,并渲染它。(下面的圖 30 說明了這背后的數學原理。)
  • 如果它沉沒了,那么我們不需要對其進行投影,因為它將不可見。
  • 從發生高度變化的點開始繪制地板,直到最后一個墻切片的頂部投影到的點。 (最初,最后一個墻切片的頂部將是投影平面的底部。)
  • 重復直到射線延伸通過世界地圖的限制。
  • 對所有后續列重復步驟 2 到 8。
  • 為了闡明這個過程,請考慮渲染下面圖中的場景的過程。


    首先跟蹤擊中 A 點(投影平面的最底行)的光線。當光線沿投影平面向上移動時,B點的壁被擊中,因此繪制了切片BC。知道A點到B點沒有高度變化,就繪制了A點到B點的地板。然后射線被延伸。它檢測到 D 點的高度變化。因此,繪制了切片 DE。知道C點到D點沒有高度變化,繪制C點到D點的地板。然后射線再次延伸。在 F 點,到達地圖的邊緣。由于不能再有高度變化,所以繪制了從 F 點到 E 點的地板,并重復該過程,直到渲染整個屏幕。

    使用可變高度墻的主要缺點是渲染過程會相當慢。這是因為當最近的墻壁被擊中時,光線不再停止。加快此過程的一種方法是設置可見距離,然后忽略超出該距離的任何內容。

    可變高度墻背后的數學計算。

    水平運動 // 讓玩家移動

    玩家至少應該能夠以三種方式移動:向前、向后和轉身。玩家的位置由坐標和視角定義。為了允許運動,還需要兩個屬性。它們是玩家的移動速度,以及玩家的轉彎速度。玩家的移動速度定義了玩家向前或向后移動時應該移動多少個單位。玩家的轉彎速度(以角度衡量)定義了玩家轉彎時要增加或減少的角度。我們將討論我們如何使用這些屬性來允許運動。

    A. 向前和向后移動。

    我們將玩家的移動速度定義為 10 個單位。(通常,這可以是任何數字,但數字越大,運動就越不平滑。) 查找 x 和 y 位移的過程如下圖所示。如果玩家向前移動,我們將 XDisplacement 添加到當前玩家的 X 坐標;并將 Ydisplacement 添加到當前玩家的 Y 坐標。如果玩家向后移動,我們將 XDisplacement 減去當前玩家的 X 坐標;并將 Ydisplacement 減去當前玩家的 Y 坐標。(始終檢查世界/墻壁邊界,以免玩家走出地圖或穿過墻壁。)

    根據玩家的速度查找位移(在本例中,玩家的速度以 10 個單位表示)。

    B、轉向。

    車削過程實施起來非常簡單。我們需要做的就是在當前玩家的視角上增加或減少一個角度增量 (aI)(每當轉彎變成一個完整的圓圈時就環繞)。同樣,較大的角度增量會導致運動看起來不太平滑。

    上下看

    可以模擬在光線投射環境中向上和向下看以及飛行和蹲伏的錯覺。然而,請注意——這很重要——這里將要解釋的技巧并不總是遵循正確的三維投影理論。即:這些是技巧,它們不是進行“真實”模擬的正確方法。

    A. 上下看。

    回想一下,投影平面是 200 個單位高。并且到此為止,我們始終將投影平面的垂直中心設置為正好在中間(即點 y=100)。因此,任何墻切片的中點都將在投影點 y=100 處繪制。事實證明,只需更改此值即可模擬向上或向下查找的效果。

    也就是說,為了模擬仰視,我們不是將垂直切片的中心放在 y=100 處,而是將其放在 y>100 的點上(這類似于向上移動投影平面)。

    類似地,為了模擬向下看,我們不是將垂直切片的中心放在 y=100 處,而是將其放在 y<100 處(這類似于向下移動投影平面)。

    為什么這個技巧有效?希望下面的插圖可以解釋它。


    如果你感到困惑,想象一下站在你身后拿著一面墻的鏡子,同時站直。當鏡子向上或向下移動時,會顯示墻壁的不同部分。鏡子是投影平面。(在繼續之前花點時間想象一下。)

    飛行和蹲伏

    回想一下,玩家的高度設置為 32 個單位。這意味著玩家的眼睛(假設玩家的眼睛正好在玩家的頭頂上)正直視點 32 處的墻壁。由于 32 是墻壁高度的一半,因此玩家的高度為 32 會使玩家的眼睛位于地板和天花板之間的中間(見下圖)。

    如果我們改變這個值怎么辦?令人驚訝的是(或可能不會),墻壁會根據玩家的身高是增加還是減少而向上或向下移動。

    因此,為了讓玩家仿佛在飛行(或跳躍),我們可以簡單地增加玩家的高度。同樣,為了讓玩家好像她/他在蹲伏,我們可以降低玩家的高度。高度不應小于 0 或大于墻壁的高度,因為這樣做會使玩家越過天花板或沉入地板。

    下圖顯示了此方法為何有效。


    如果您感到困惑,我們再次使用鏡像方法來闡明其工作原理。想象一下,你站直了,在一個小房間里拿著一面鏡子。背對墻壁站立。將鏡子放在眼睛前面(即:您不必轉頭就能看到鏡子)。現在,想象一下如果你蹲下看看鏡子里的東西會發生什么。在鏡子里,你應該看到墻壁的不同部分和更多的地板面積…就像本頁的第二張圖片… 希望你明白了。

    鏡子是投影平面,眼睛位置是玩家的高度。


    這種垂直運動方法有一個反直覺的方面,那就是:

    投影平面必須始終與玩家的眼睛垂直。(也就是說:投影平面必須始終與墻壁平行——它們不能以任何方式傾斜。)對此進行概念化的最佳方法是想象一個人通過相機鏡頭“瞄準”。人總是以 90 度角向前瞄準;即使他/她蹲伏或站在桌子上。

    這樣做的原因是使用這種方法時,我們不能像下圖那樣傾斜投影平面;因為如果我們旋轉投影平面以遵循“正常”的眼睛方向,那么墻壁將傾斜(不再與投影平面平行);然后渲染過程必須考慮到這一點。這意味著將需要更復雜的計算,并且渲染過程將變得非常緩慢。


    更真實的俯視應該是這樣的:
    當你往下看時,你不僅會移動眼睛,還會移動頭部,因此視角不同(與前6張圖片相比)。本頁描述的技術使用之前的技巧來“模擬”這一點。

    綜合效果

    上面解釋的效果可以結合起來創建更有趣的動作,如下圖所示。

    陰影

    陰影
    當一個物體離觀察者更遠時,該物體應該顯得更暗/更亮。為了實現這一點,需要陰影效果。但首先,我們需要了解顏色是如何表示的。

    標準的 256 色 VGA 模式寄存器包含調色板中每種顏色的 0 到 63 之間的三個數字,稱為 RGB (RedGreenBlue) 值。例如,全紅色具有 (63,0,0) 的 RGB 分量;全綠色有 (0,63,0); 全藍有 (0,0,63)。諸如全黃之類的顏色,可以通過混合全紅和全綠使(63,63,0)為黃色來獲得。

    要更改顏色的紅色、綠色或藍色分量的亮度,必須增加或減少表示顏色分量的數字。例如,要將具有 RGB 分量 (50,10,10) 的顏色的強度降低一半,請將每個分量乘以 0.5。生成的顏色將為 (25,5,5)。

    這很簡單,但是我們如何知道在什么距離上使用什么強度?第一個選項是使用一個精確的光強度公式,它是這樣的:

    強度 = (kI/(d+do))(NL)

    從游戲程序員的角度來看,這個公式太復雜了,而且速度會非常慢,所以我們甚至不會去理會它。我們的主要目標將是制作看起來正確(或至少合理)的陰影效果。我們并不特別關心我們使用的公式是否是正確的教科書公式。

    (旁注:對于游戲編程,我傾向于同意這個原則:
    最好是擁有快速且看起來合理正確的東西;擁有完全正確但緩慢的東西。)

    因此,改為使用以下公式(Lampton 406)。

    強度 = 物體強度/距離 * 乘數

    這里,Object Intensity是程序員希望使用的強度(它應該在 0 和 1 之間)。這實際上在概念上非常簡單。它基本上是說隨著物體變遠,物體的強度變小。乘數是一個數字,以防止強度隨距離下降到快速。這種實時計算仍然很昂貴,因此可以使用如下表所示的距離表:

    到物體的距離強度
    0 到 5001
    501 至 10000.75
    1001 至 15000.50

    光線投射過程在這里非常有用,因為當我們投射光線時,我們還獲得了到要渲染的對象的距離。在實際實現中,我們還需要考慮可用顏色的數量。由于大多數游戲只能使用 256 種顏色,因此需要進行一些操作以確保調色板包含正確的顏色范圍。一個可能的解決方案是使用顏色匹配算法并將結果映射到強度表中。渲染時,我們只需從相應的表中獲取正確的顏色值。(這非常快,因為一個特定的墻切片對于它的所有像素都具有相同的強度。所以我們只需要在墻切片之間切換表格。)

    到物體的距離強度調色板映射表索引
    0 到 50011
    501 至 10000.752
    1001 至 15000.503

    通常,當物體的強度接近零時,物體會顯得更暗。然而,情況并非總是如此。我們可以通過改變“目標顏色”來創建有趣的效果,例如霧或水下效果。例如,要創建霧效果,我們可以使調色板收斂為白色。

    其他參考內容、參考文獻和注釋

    https://dev.opera.com/articles/3d-games-with-canvas-and-raycasting-part-1/

    總結

    以上是生活随笔為你收集整理的用于游戏开发和其他目的的光线投射教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲人成人在线 | 久久精品9| 国产精品一区二区久久久久 | 午夜精品一区二区国产 | 亚洲激情综合 | 日产中文字幕 | 久久狠狠亚洲综合 | 狠狠干天天色 | 日本中文字幕系列 | 中文字幕电影一区 | 日韩精品久久一区二区三区 | 亚洲国产小视频在线观看 | 久久久久久久久久福利 | 香蕉久久国产 | 91精品夜夜| 日韩免费一区二区 | 久草在线免费在线观看 | 国产黄在线播放 | 国产亚洲人 | 婷婷色婷婷| 天天爽夜夜爽人人爽一区二区 | 日韩成人免费观看 | 99精品久久久 | 不卡电影免费在线播放一区 | 欧美国产高清 | www免费在线观看 | 男女激情麻豆 | 最近中文字幕免费 | 99中文字幕视频 | 五月婷婷中文 | 国产高清专区 | 丁香花在线视频观看免费 | 久久久久久久毛片 | 一区二区在线影院 | www.久久久 | av网站在线免费观看 | 精品视频一区在线 | 在线三级播放 | 午夜av网站 | 久久精品毛片 | 婷婷深爱激情 | 国产三级国产精品国产专区50 | 国产免费人成xvideos视频 | 久久久久久久久久久黄色 | 国产精品av久久久久久无 | 一区二区激情视频 | 亚洲最大成人免费网站 | 天天摸日日摸人人看 | 欧美日韩在线观看视频 | 久久久国产网站 | 国产在线观看你懂得 | 国产剧情久久 | 久久试看 | 免费看久久 | 在线观看激情av | 美女一级毛片视频 | 美女黄频在线观看 | 国产精品av免费在线观看 | 国产精品久久久久久久久免费 | 99精品国产aⅴ| 99久久精品国产亚洲 | 国产在线91在线电影 | 国产日韩精品在线观看 | 五月婷婷亚洲 | 亚洲国产精品999 | 日韩网站一区二区 | 奇米四色影狠狠爱7777 | 国产不卡精品 | 国产精品久久嫩一区二区免费 | 日韩欧美国产免费播放 | 国产一级精品绿帽视频 | 色婷在线 | 天天操天天曰 | 久久一区二区三区四区 | 99热99 | 丁香综合五月 | 国内精品久久久久影院优 | 欧美在线观看视频免费 | 91在线精品播放 | 久久在线| 久久精品99国产精品日本 | 欧美日韩高清一区 | 久久精品国产精品亚洲精品 | 国产不卡精品 | 国产一区视频在线观看免费 | 在线免费中文字幕 | 久久久亚洲麻豆日韩精品一区三区 | www.久久爱.cn| 人人爱人人做人人爽 | 欧美另类一二三四区 | 手机av在线不卡 | 亚洲视屏 | 亚洲国产视频直播 | 亚洲精品午夜一区人人爽 | 日日干夜夜草 | 国产精品久久久 | 成人午夜电影在线播放 | 黄色成年网站 | 国产精品黄色在线观看 | 天天曰天天曰 | 久久久久久久久久久久久久电影 | 欧美精品在线观看一区 | 香蕉视频久久 | 天天操天天操天天操天天操 | 成人97人人超碰人人99 | 精品国产a | 日本在线观看一区二区 | 亚洲国产精品久久久 | 中文字幕一区二区三区四区在线视频 | 久久国产精品免费观看 | 国产免费久久 | 最新亚洲视频 | 激情文学丁香 | 国产成人精品一区二区三区福利 | 草 免费视频 | 久久精品国产成人 | 婷婷视频导航 | 91精品久久久久久综合乱菊 | 婷婷综合在线 | 色婷婷av在线 | 国产在线视频资源 | 探花视频免费观看 | 91麻豆精品国产自产在线游戏 | 色999视频 | 最新91在线视频 | 亚洲综合成人专区片 | 国产成人一区二区精品非洲 | 麻豆视传媒官网免费观看 | 久久免费国产电影 | www免费视频com| 久久草网站 | 精品国产一区二区三区蜜臀 | 久久国产精品久久国产精品 | 日韩精品在线免费观看 | 免费视频成人 | 在线亚州 | 4438全国亚洲精品观看视频 | 最新免费中文字幕 | 久久毛片高清国产 | 欧美精选一区二区三区 | 日韩免费视频一区二区 | 久久人人精品 | 国产一区二区久久久 | 久久在线看 | 国产美女主播精品一区二区三区 | 国产福利精品在线观看 | 亚洲一区二区视频 | 欧美精品在线观看一区 | 亚洲最大av在线播放 | 亚洲欧美日本国产 | 成人免费在线播放 | 91精品啪在线观看国产 | 国产午夜精品视频 | 中文字幕视频免费观看 | 日韩久久精品 | 国产成人亚洲在线电影 | 久草视频在线资源站 | 国产日韩欧美在线 | 在线观看av免费观看 | 精品国产伦一区二区三区免费 | 黄色免费观看视频 | 国产精品99久久久久久久久久久久 | www.国产精品| 看国产黄色片 | 97人人精品| 在线国产激情视频 | 欧美日韩xxxxx | 国产精品久久久久久久99 | 中文字幕一区二区三区四区久久 | 黄色小视频在线观看免费 | 一区二区电影网 | 久草视频中文在线 | 最近最新mv字幕免费观看 | 久久久久久久久综合 | 欧美色婷婷 | 天天草天天摸 | 久久久综合九色合综国产精品 | 成人久久免费视频 | 国产91精品一区二区麻豆亚洲 | 久久精品79国产精品 | 国产精品va最新国产精品视频 | 91传媒在线观看 | 久草精品在线观看 | 久久免费国产视频 | 久久永久免费视频 | 免费看的黄色的网站 | 亚洲午夜久久久久久久久 | 日韩字幕| 999久久久久久久久 69av视频在线观看 | 亚洲精品在线观看不卡 | 五月天欧美精品 | 91精品国产自产老师啪 | 精品久久久久久久久久久久久久久久 | 91大神一区二区三区 | 欧美a√在线 | 日韩免费在线观看视频 | 蜜臀av夜夜澡人人爽人人桃色 | 免费能看的av| 97人人爽人人 | 国产成人一区二区在线观看 | 91精品国产自产91精品 | 欧美日韩三级在线观看 | 99这里只有久久精品视频 | 午夜国产在线观看 | 亚洲a免费 | 五月婷婷综合激情 | 丝袜网站在线观看 | 久久久久电影网站 | 国产视频在线观看免费 | 国产精品久久久久久久久久久久久久 | 国产99亚洲 | 国产精品网址在线观看 | 日韩网站视频 | 国产在线成人 | 91精品国产乱码久久 | 久久综合加勒比 | 亚洲激情| 免费在线看成人av | 日韩久久在线 | 亚洲视频中文 | 免费视频一二三 | 日韩 在线a| 精品亚洲国产视频 | 在线观看香蕉视频 | 欧美人牲| 伊人五月 | 久久久久久中文字幕 | 亚洲综合欧美精品电影 | 91精品蜜桃| 国产不卡一区二区视频 | 久久免费公开视频 | 91精品秘密在线观看 | 久久久亚洲精华液 | 日本中文字幕观看 | 少妇资源站 | 欧美色图亚洲图片 | 亚洲成人精品久久 | 在线中文字幕一区二区 | 成 人 黄 色 视频播放1 | 国际精品久久久久 | 亚洲国产影院 | 久久综合欧美精品亚洲一区 | 精品福利av | 国外av在线 | 超碰在线天天 | 久久精品综合视频 | 高清免费av在线 | 亚洲视频 中文字幕 | 日韩精品视频久久 | 国产黄免费在线观看 | 日韩av片免费在线观看 | 91超碰免费在线 | 一区二区视频网站 | 国产伦理一区二区三区 | 亚洲成av人片一区二区梦乃 | 国产午夜激情视频 | 天天色天天操综合 | 久久久久激情视频 | 国产成人久久av977小说 | 国产精品久久麻豆 | 久久69精品久久久久久久电影好 | 国产亚洲精品免费 | 欧美日韩一区二区在线 | 91亚洲精品乱码久久久久久蜜桃 | 日韩com | 国产亚洲日本 | 美女黄网站视频免费 | 91欧美在线 | 麻豆av一区二区三区在线观看 | 日韩色综合网 | 国产精品福利久久久 | 99国内精品久久久久久久 | 国产精品6 | 黄色日本免费 | 久草在线资源观看 | a黄在线观看 | 日本久久久精品视频 | 国产精品一区二区久久 | 亚洲精品美女久久久久网站 | 99热都是精品 | 国产精品一码二码三码在线 | 免费视频二区 | 99视频在线免费看 | 国产中文字幕亚洲 | 中文av一区二区 | 最新高清无码专区 | 中文字幕在线不卡国产视频 | 天天色天天草天天射 | 91九色porny蝌蚪视频 | 男女视频91 | 日本精品一区二区三区在线观看 | 精品视频一区在线 | 四虎8848免费高清在线观看 | 久视频在线 | 91丨九色丨国产在线观看 | 免费v片 | 欧美成天堂网地址 | 亚洲人成精品久久久久 | 婷婷六月天天 | 久久综合综合久久综合 | 国产麻豆精品久久 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 亚洲色图27p | 国产资源网站 | 免费视频三区 | 东方av在 | 色婷婷在线视频 | 91九色成人蝌蚪首页 | 最新国产一区二区三区 | 午夜私人影院 | 黄色1级毛片 | 亚洲在线视频播放 | 一区二区三区久久 | 婷婷六月综合亚洲 | 超碰在线人人97 | 国产精品高 | 成人免费视频播放 | 国产午夜精品久久久久久久久久 | 色婷婷免费视频 | 99中文字幕在线观看 | 亚洲第一av在线播放 | 碰超在线 | 久久99精品久久久久婷婷 | 国产在线不卡视频 | 亚洲成人资源在线观看 | 亚洲综合小说电影qvod | 亚洲网站在线看 | 国产日韩欧美中文 | 麻豆精品在线视频 | 久久免费看 | 日韩综合视频在线观看 | 久草精品视频在线播放 | 日韩黄色软件 | 国语精品久久 | 五月婷婷激情 | 丰满少妇一级片 | 一区二区三区在线免费 | 99视频在线精品国自产拍免费观看 | 国产精品一区二区白浆 | 蜜臀久久99精品久久久无需会员 | 色网站在线看 | 欧美日韩大片在线观看 | 久久人人97超碰com | 99中文在线 | 伊人国产女| 最近更新的中文字幕 | 激情视频一区二区 | 日日干美女 | 国产精品久久久久毛片大屁完整版 | 日韩视频免费播放 | 97成人免费 | 国产一线二线三线在线观看 | 射综合网| 免费亚洲黄色 | 国产高清福利在线 | 成人午夜剧场在线观看 | 天天曰天天曰 | 国产一区二区在线免费视频 | 九九视频精品免费 | 久青草电影 | 国产精品欧美久久久久无广告 | 999视频在线播放 | 91福利视频久久久久 | 免费美女久久99 | 国产精品手机看片 | 久久久久久国产精品美女 | 国产在线日韩 | 黄色免费在线视频 | 毛片99| 国产精品一区二区三区免费看 | 日韩精品一区二区三区水蜜桃 | 99综合电影在线视频 | 免费看一级特黄a大片 | 久久久久人人 | 亚洲性xxxx| 久久手机免费观看 | 天天操天天射天天爱 | 五月婷婷一区 | 亚洲国产一区在线观看 | 四虎影视8848dvd | 网站免费黄色 | 黄污在线看 | 国产999精品久久久久久绿帽 | 国产亚洲精品bv在线观看 | 日韩亚洲在线 | 精品一区二区在线免费观看 | 亚洲爱爱视频 | 欧美日韩中字 | 日韩精品免费一区二区三区 | 美女久久视频 | 狠狠做深爱婷婷综合一区 | 99热这里只有精品国产首页 | 日韩在线观看网站 | 国产成人av福利 | 久久国产精品99国产精 | 91成人网页版 | 欧洲一区二区在线观看 | 九九热国产视频 | 国产亚洲一级高清 | 中文在线免费一区三区 | 黄色性av| 一级特黄av| 国产亚洲精品免费 | 欧美国产日韩一区二区三区 | 亚州激情视频 | 天天激情在线 | 在线观看资源 | 天天曰视频 | 日韩高清一二区 | 四虎影视欧美 | 免费观看国产视频 | 九九热只有精品 | 亚洲va欧美va | 国产日韩欧美在线观看视频 | 97精品在线视频 | 狠狠狠色丁香婷婷综合激情 | 最近日本韩国中文字幕 | 天天爽天天摸 | 中文字幕免费观看全部电影 | 欧美日韩高清一区 | 久久久久久久久网站 | 久草在线免费看视频 | 免费在线激情视频 | 91喷水| 日韩三级视频在线看 | 免费欧美| 国产va饥渴难耐女保洁员在线观看 | 亚洲最大的av网站 | 91免费的视频在线播放 | 又色又爽又黄高潮的免费视频 | 午夜性色 | 亚洲少妇xxxx | 天天撸夜夜操 | 欧美国产日韩一区二区三区 | 在线天堂日本 | 成av人电影 | 欧美国产日韩一区 | 久久国内免费视频 | 久久国产精品一二三区 | 在线免费观看视频a | 久久精品五月 | 久久亚洲免费视频 | 国内精品久久久久久久久久久久 | 久久久久久久综合色一本 | 国产伦精品一区二区三区免费 | 日日夜av| 在线亚洲激情 | 欧美日韩高清一区二区 国产亚洲免费看 | 日韩在线观看视频在线 | 三级黄色片子 | 麻豆mv在线观看 | 日韩网站视频 | 国产成人精品一区二区三区在线观看 | 日本韩国欧美在线观看 | 99热这里有 | 国产在线专区 | 夜夜躁天天躁很躁波 | 四虎影视成人永久免费观看视频 | 日韩视频1区 | 精品国产日本 | av在线h| 午夜精品一区二区三区视频免费看 | 日韩黄色免费在线观看 | 亚洲久草网 | 日日干网址| 国产成人免费网站 | 亚洲精品视频一二三 | 中文国产在线观看 | 久久精品在线免费观看 | 国产高清中文字幕 | 亚洲一区久久久 | 欧美精品在线一区二区 | a级免费观看 | 一本一本久久aa综合精品 | 国产精品美女 | 91成品人影院 | 免费久久99精品国产 | www狠狠操 | 99在线视频观看 | 久久99国产精品二区护士 | 中文字幕 影院 | 成人h动漫精品一区二 | 特级西西www44高清大胆图片 | 中文字幕色站 | 国产成人a v电影 | 色干干| 黄色免费在线视频 | 波多野结衣在线观看一区 | 欧美夫妻生活视频 | 中文字幕中文字幕在线中文字幕三区 | av中文在线影视 | 国产对白av | 黄色的网站免费看 | 久久久www成人免费精品张筱雨 | 国产天天综合 | 天堂v中文| .国产精品成人自产拍在线观看6 | 午夜av影院 | 成人免费在线观看电影 | www.大网伊人| 亚洲国产小视频在线观看 | .国产精品成人自产拍在线观看6 | 久久在视频 | 久久精品123| 九九在线高清精品视频 | 香蕉久久国产 | 中文字幕网站视频在线 | 日韩特级黄色片 | 亚洲精品美女久久久久网站 | 丁香六月激情婷婷 | 人人草在线视频 | 国产高清成人在线 | 久久久久精 | a级国产乱理论片在线观看 特级毛片在线观看 | 在线看av的网址 | 婷婷色五 | 中文字幕久久精品一区 | 日韩欧美高清在线观看 | 亚洲精品视频在线观看免费视频 | 日韩精品不卡在线 | 国产首页| 免费91麻豆精品国产自产在线观看 | 久久久综合电影 | 精品久久久久久国产偷窥 | 国产精品18久久久久久vr | 欧美日韩在线观看一区二区 | 日韩av电影中文字幕在线观看 | 日本视频网 | av成人动漫 | 波多野结衣一区二区 | 亚洲理论电影网 | 99精品毛片| 日韩在线观看视频在线 | 又长又大又黑又粗欧美 | 三上悠亚在线免费 | 麻豆久久 | 黄色av网站在线免费观看 | 国产在线999 | 日本激情视频中文字幕 | 国产无套视频 | 国产在线超碰 | 欧美日韩在线视频一区二区 | 美女网站黄在线观看 | 亚洲欧美乱综合图片区小说区 | 午夜精品福利影院 | 91精品视频在线观看免费 | 美女福利视频在线 | 日本中文字幕在线免费观看 | 在线一区观看 | 亚洲少妇天堂 | 狠狠的干狠狠的操 | 国产精品美女久久久久久 | 久久精品伊人 | 久久久九色精品国产一区二区三区 | 久久看片| 视频国产区 | 久久久久久久久久久久国产精品 | 欧美在一区 | 亚洲伊人色 | 亚洲精品国产自产拍在线观看 | 在线免费看黄网站 | 国产精品乱码久久久久 | 黄a在线看| 欧美午夜性 | 91视频下载 | 一区二区三区日韩精品 | 91精品1区2区 | 狠狠干夜夜 | 欧美日韩在线精品一区二区 | 欧美成人手机版 | 久草视频网 | 久草视频2 | 91av原创| 免费在线观看午夜视频 | 欧美最爽乱淫视频播放 | 国产色a在线观看 | 激情五月***国产精品 | 亚洲精品乱码久久久久 | 999在线精品 | 婷婷四房综合激情五月 | 久久精品免费看 | 91精品亚洲影视在线观看 | 国产精品爽爽久久久久久蜜臀 | 免费中文字幕在线观看 | 97香蕉久久超级碰碰高清版 | 国产成人精品亚洲精品 | 91综合色 | 中文字幕亚洲精品日韩 | 国产精品免费在线播放 | 亚洲综合情 | 91精品第一页 | 亚洲精品视频在线观看网站 | 毛片精品免费在线观看 | 欧美成人黄色 | 五月天久久久 | 色av资源网| 日韩理论 | 免费大片黄在线 | 欧美小视频在线观看 | 久久免费视频播放 | av免费在线观看网站 | 色午夜影院 | 在线观看av国产 | 国产69精品久久久久久 | 久久精品三 | 不卡在线一区 | 三级av中文字幕 | 成年人在线免费看片 | 一区二区精品久久 | 久久深夜福利免费观看 | 在线观看免费视频你懂的 | 国产一级在线观看 | 99视频一区| 97夜夜澡人人爽人人免费 | 欧美日韩午夜爽爽 | 欧美精品乱码久久久久久按摩 | 国产一区视频免费在线观看 | 中文字幕欧美日韩va免费视频 | 91网页版在线观看 | va视频在线| 99热在| 黄色免费av| 韩国精品视频在线观看 | 天天操天天综合网 | 免费三级骚 | 日韩欧美电影在线 | 国产18精品乱码免费看 | 黄色a一级视频 | 欧美成人精品欧美一级乱黄 | 色综合天天狠狠 | 久久久久成人精品免费播放动漫 | 天天操天天干天天爱 | 91污污视频在线观看 | 在线 精品 国产 | 日韩欧美精品在线视频 | 欧美亚洲xxx| 国产女人40精品一区毛片视频 | 成人av一区二区在线观看 | 精品国产精品一区二区夜夜嗨 | 久久久久久久99 | 日日草视频 | 国产最新视频在线 | 成人xxxx | 久久久久久久久久久精 | 中文字幕观看在线 | www.久久免费视频 | 国产精品欧美激情在线观看 | 丁香影院在线 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 狠狠色丁香婷婷综合 | 在线观看视频国产一区 | 国产亚洲午夜高清国产拍精品 | 五月婷婷激情六月 | 欧美黄色特级片 | 日韩久久久久久久久 | 久久狠狠婷婷 | 国产精品一区二区三区在线播放 | a黄色片在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | www.夜色321.com| 成人在线视频在线观看 | 免费能看的av | 亚洲精品字幕在线 | 久久精品看片 | 中文字幕亚洲情99在线 | 91网页版免费观看 | 能在线观看的日韩av | 婷婷六月天丁香 | 精品99免费 | 成年人app网址 | 亚洲人成免费网站 | 在线日韩精品视频 | 热99在线视频 | 97在线观看视频免费 | 久久国产精品99久久久久久老狼 | 中文字幕文字幕一区二区 | 久久精品精品电影网 | www.av在线.com | 久久久网站| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲一级电影视频 | 91视频链接| 久久久免费观看视频 | 色网免费观看 | 亚洲综合在线五月天 | 欧美一级特黄高清视频 | 九九久久婷婷 | 日韩欧美高清免费 | 精品国产电影 | 成人亚洲精品国产www | 一级免费黄色 | 亚洲精品视频在线观看视频 | 91麻豆免费版 | 九九精品视频在线看 | 免费三级黄色片 | 玖玖精品在线 | 在线99| 亚洲情感电影大片 | 成人久久久久久久久久 | 欧美韩日在线 | v片在线播放| 五月婷激情 | 国产 日韩 在线 亚洲 字幕 中文 | 91香蕉视频 | 免费av看片 | 免费国产在线视频 | 免费看国产黄色 | 国产黄色精品在线 | 九九国产视频 | 国产高清中文字幕 | 色婷婷狠狠五月综合天色拍 | 天天躁天天狠天天透 | 色婷婷激情网 | www.五月婷| 永久免费精品视频网站 | 国产在线精品一区二区不卡了 | 蜜桃传媒一区二区 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 小草av在线播放 | 爱干视频 | 91中文字幕视频 | 欧美疯狂性受xxxxx另类 | 天天曰| 精品国产久 | 中文久草| 国产美女精品视频 | 国产精品视频一二三 | 狠狠操操 | 亚洲视频一区二区三区在线观看 | 久久一级电影 | 国产日韩欧美在线观看视频 | 国产麻豆电影在线观看 | 亚洲成人黄色在线观看 | 中文字幕视频一区二区 | 日韩电影中文,亚洲精品乱码 | 国产一区二区三区在线免费观看 | 在线观看视频亚洲 | 啪啪av在线 | 一级黄色片在线免费观看 | 国产精品一区二区在线观看 | 欧美综合国产 | 日韩精品视频久久 | 8x成人在线 | 日日摸日日添日日躁av | 国产一区二区久久精品 | 免费看污污视频的网站 | 亚洲国产精品久久久久 | 国产黄a三级 | 九九久久久久久久久激情 | 国产精品成人国产乱 | 99精品视频免费观看视频 | 久草视频在线资源 | ,久久福利影视 | 在线之家免费在线观看电影 | 在线亚洲激情 | 久久精品美女视频 | 国产永久免费观看 | 亚洲成人xxx | 久久激情久久 | 国产免费视频一区二区裸体 | 婷婷免费在线视频 | 国产精品视频地址 | 午夜少妇 | 麻豆av一区二区三区在线观看 | 亚洲精品久久久久中文字幕m男 | 国产专区视频在线 | 国产精品久久久久国产精品日日 | 免费av影视 | 人人超碰在线 | 开心激情五月婷婷 | 免费看片日韩 | 日韩区欠美精品av视频 | 六月婷婷久香在线视频 | 日韩精品一区在线观看 | 色综合天天色综合 | 91精品办公室少妇高潮对白 | 久久香蕉一区 | 国产精品每日更新 | 国产高清小视频 | 一区二区不卡高清 | 999男人的天堂 | 五月婷婷丁香 | 人人草天天草 | 精品国自产在线观看 | 日韩中文在线字幕 | 成人动漫精品一区二区 | 一本一道久久a久久精品蜜桃 | av福利第一导航 | 91九色网站 | 日本二区三区在线 | 久久精视频 | 国产原创在线 | 亚洲精品美女久久久 | 国产亚洲综合精品 | 精品久久久久国产 | 91高清完整版在线观看 | 国产精品美女免费视频 | 国产精品毛片一区视频 | 色五月激情五月 | 最新极品jizzhd欧美 | 五月激情片 | 超碰国产在线播放 | 色悠悠久久综合 | 日韩手机在线 | 国产一区 在线播放 | 成年人电影免费看 | 日日操日日插 | 911香蕉视频 | 久久伊人五月天 | 日本最新高清不卡中文字幕 | 日韩欧美精品一区二区三区经典 | 九九涩涩av台湾日本热热 | 国产96视频 | 夜夜操天天 | 91插插插免费视频 | 激情视频区 | 色国产精品| 国产精品久久久久久久久久ktv | 深爱婷婷久久综合 | 中文字幕在线观看播放 | 狠狠久久伊人 | 天天操天天干天天玩 | 婷婷在线观看视频 | 中文在线免费视频 | 天天色天天爱天天射综合 | japanesexxxhd奶水 国产一区二区在线免费观看 | 99精品久久99久久久久 | 色妞久久福利网 | 国产激情电影综合在线看 | 久久草在线精品 | 国产精品一区二区三区视频免费 | 成人全视频免费观看在线看 | 色婷婷97 | 视频国产在线观看18 | 日韩网站在线观看 | 国内成人精品2018免费看 | 欧美日韩免费一区二区三区 | 狠狠干夜夜爱 | 在线播放视频一区 | 国产高清在线观看av | 亚洲国产成人久久综合 | 黄色日视频 | aaa日本高清在线播放免费观看 | 成人小视频在线观看免费 | 久久久九色精品国产一区二区三区 | 久久免费美女视频 | 日韩高清在线一区 | 国产精品第2页 | 亚洲伦理中文字幕 | 国产尤物在线 | 免费高清在线观看成人 | 韩国精品一区二区三区六区色诱 | 精品99免费 | 天天综合天天综合 | 黄色a三级| 欧美a性| 视频福利在线观看 | 久久99亚洲精品久久久久 | 亚洲精品美女久久久 | 色姑娘综合网 | 亚洲性少妇性猛交wwww乱大交 | av观看久久久 | 亚洲精品久久久久999中文字幕 | 日本成人免费在线观看 | 欧美成人日韩 | 欧美日韩免费网站 | 久久99中文字幕 | 日韩中文字幕在线看 | 亚洲更新最快 | 色网站免费在线观看 | 在线播放日韩av | 狠狠干五月天 | 久草在线资源观看 | 欧洲亚洲女同hd | 久久久久亚洲精品国产 | 91亚洲国产成人久久精品网站 | 亚洲综合干 | 久久久久99精品国产片 | 日本韩国欧美在线观看 | 午夜在线观看一区 | 国产日女人 | 国产成人精品一区二区三区福利 | 成人a毛片 | 成人97人人超碰人人99 | 久久97久久97精品免视看 | 黄色精品久久久 | 日本中文字幕在线免费观看 | 亚洲精品视频在线观看免费视频 | 又黄又爽又无遮挡免费的网站 | 久久久久国产成人精品亚洲午夜 | 成人一区在线观看 | 久久99精品久久久久久清纯直播 | 日韩精品视频免费在线观看 | 久久夜av | 久久美女精品 | 成人一区二区三区在线 | 91精品国产99久久久久久红楼 | 久久综合九色综合97婷婷女人 | 99视频在线免费观看 | 91av在线免费观看 | 国产精品一区二区三区免费看 | 亚洲国产精品成人精品 | www.香蕉视频在线观看 | 美女网站视频免费黄 | 99久久久国产精品免费观看 | 91精品资源 | 免费在线观看亚洲视频 | 欧洲亚洲女同hd | 免费日韩高清 | 天天草综合 | 三级黄色理论片 | 激情中文在线 | 国内精品国产三级国产aⅴ久 | 国产一区高清在线观看 | 亚洲无吗天堂 | 在线播放视频一区 | 激情小说网站亚洲综合网 | 久草在在线视频 | 黄色片网站av | 日韩欧美高清不卡 | 最近中文字幕大全中文字幕免费 | 国产精品亚洲片在线播放 | 开心综合网 | 又黄又爽又湿又无遮挡的在线视频 | 91mv.cool在线观看 | 中文字幕一区二区三区久久 | www.色爱| 久久久久久毛片精品免费不卡 | 亚洲精品高清视频在线观看 | 亚洲精品国产免费 | 九色视频网 | 国产在线免费av | 色就是色综合 | 国产精品毛片一区二区在线看 | 日韩国产精品久久 | 久久久精品小视频 | 精品国产乱码久久久久久久 | 久久99国产精品二区护士 | 麻豆视频在线观看免费 | 中文字幕第 | 右手影院亚洲欧美 | 在线观看成人一级片 | 黄色影院在线免费观看 | 中文字幕色婷婷在线视频 | av免费在线网站 | 97小视频 | 夜夜躁天天躁很躁波 | 成人av一区二区在线观看 | 又湿又紧又大又爽a视频国产 | 婷婷丁香综合 | 最新av免费在线 | 91夜夜夜| 欧美一二三视频 | 日韩区在线观看 | 91亚瑟视频 | 国产精品一区一区三区 | 国产v在线播放 | av永久网址 | 欧美日韩精品在线观看 | 中文字幕影片免费在线观看 | 欧美一级高清片 | 人人艹人人 | 欧美极品一区二区三区 | 久草在线高清 | 天天干夜夜操视频 | 成人a在线| 午夜a区 | 国产一区二区三区在线 | 91福利国产在线观看 | 500部大龄熟乱视频 欧美日本三级 | 黄色一级大片在线免费看产 | www.狠狠| 狠狠色丁香久久婷婷综合五月 | 亚洲一区美女视频在线观看免费 | 亚洲精品www久久久久久 | 91污污视频在线观看 | 国产精品无av码在线观看 | 日韩一级黄色av | 国产+日韩欧美 | 成人cosplay福利网站 | 免费观看91| 91精品久久香蕉国产线看观看 | 天天射射天天 | 日韩三级一区 | 狠狠色综合网站久久久久久久 | 国产免费a| 91视频三区 | 亚洲欧美国产日韩在线观看 | 国产理论在线 | 91看片淫黄大片一级在线观看 | 国产成人综合精品 | 亚洲精品字幕在线 | 久久不卡视频 | 婷婷激情5月天 | 国产免费视频在线 | 久久免费看av| 久久久久久久久久影院 | 天天插伊人 |