免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

OpenGL圖形學(xué)實驗全解析:從DDA到著色器的可運行工程

OpenGL圖形學(xué)實驗全解析:從DDA到著色器的可運行工程 簡介西北工業(yè)大學(xué)軟件學(xué)院計算機圖形學(xué)實驗代碼包覆蓋二維/三維圖形繪制、幾何變換、投影視圖、光照模型、物體建模、碰撞檢測及交互設(shè)計等知識點全部程序基于C語言在VC6.0環(huán)境編寫調(diào)試適合課程同步練習(xí)、期末復(fù)習(xí)與項目復(fù)盤參考。壓縮包共224個文件、5.37MB含28個cpp源文件、18個h頭文件、12套dsp工程文件以及dsw、ncb、exe可執(zhí)行程序、obj目標(biāo)文件、pch預(yù)編譯頭工程結(jié)構(gòu)完整可獨立編譯運行。已有581人學(xué)習(xí)。各實驗子項目代碼附有詳細(xì)注釋可對照Dijkstra最短路徑、Flood Fill區(qū)域填充、Phong光照模型等經(jīng)典算法實現(xiàn)理解圖形學(xué)底層原理亦能直接運行exe查看效果適合需要動手強化編程能力的學(xué)生與自學(xué)者。1. 期末突擊計算機圖形學(xué)一份能直接跑的實驗包意味著什么圖形學(xué)實驗最折磨人的不是算法公式而是你把DDA和Bresenham背得滾瓜爛熟屏幕依然一片黑。我整理這份某高校軟件學(xué)院《計算機圖形學(xué)》課程實驗包的時候核心目標(biāo)只有一個讓每個實驗都能單獨編譯打開就有圖形反饋。它覆蓋畫線、畫圓、二維變換、三維觀察、光照材質(zhì)與紋理映射從CPU端的光柵化算法到GPU端著色器都有可運行工程。適合兩類人一類是期末想快速補齊實驗、照著可運行代碼理解原理的同學(xué)另一類是熟悉API但沒從頭寫過圖形學(xué)算法的開發(fā)者。壓縮包里沒有繞開算法的魔改畫筆路徑、光源位置、頂點索引全部攤開在源碼里你可以從框架里拎出一個實驗直接改也能把整套工程當(dāng)模板逐步替換成自己的渲染器實現(xiàn)。2. 技術(shù)棧與工程拓?fù)銿isual Studio OpenGL從固定管線到著色器2.1 依賴選擇freeglut、GLEW、GLM 各司其職OpenGL 不只是鏈接一個 opengl32.lib 就能舒服開發(fā)的它缺三樣?xùn)|西窗口上下文、現(xiàn)代擴展函數(shù)指針、數(shù)學(xué)庫。這套實驗包用的是 C/Visual Studio 棧依賴集中在 freeglut、GLEW、GLM 三件套上。freeglut 負(fù)責(zé)創(chuàng)建窗口、處理鍵盤鼠標(biāo)事件和主循環(huán)GLUT 那套回調(diào)模型和教材里“繪圖-事件-重繪”的描述幾乎一一對應(yīng)課堂實驗用它比直接寫 Win32 消息循環(huán)省太多事。GLEW 負(fù)責(zé)把 OpenGL 3.0 之后的擴展函數(shù)加載進來沒有它 glGenVertexArrays 這種函數(shù)在 Windows 上根本拿不到地址。GLM 是純頭文件的矩陣庫寫觀察和投影矩陣時不需要自己手推透視矩陣公式。組件職責(zé)使用要點freeglut窗口、輸入事件、主循環(huán)回調(diào)函數(shù)注冊后由 glutMainLoop 驅(qū)動GLEW加載現(xiàn)代 OpenGL 擴展函數(shù)必須定義 GLEW_STATIC 再鏈 glew32s.libGLM矩陣、向量、透視投影列主序直接對接 GLSL 的 mat4opengl32.libWindows 系統(tǒng) OpenGL 基礎(chǔ)庫附加依賴項里固定存在為什么不用 DirectX不是不能用而是課程實驗講的是通用圖形學(xué)概念OpenGL 在各平臺行為一致固定管線的 glBegin/glEnd 寫法對早期光柵化實驗特別友好。你會在 01、02 號實驗里看到傳統(tǒng)繪制 API到光照紋理實驗再切到著色器正好覆蓋圖形學(xué)教學(xué)的兩個階段。2.2 工程目錄結(jié)構(gòu)一個解決方案掛六個實驗打開壓縮包第一眼看到的是MyProjects.sln根目錄按實驗編號拆分工程。大多數(shù)實驗是一個main.cpp加少量封裝頭文件個別實驗帶資源目錄整體結(jié)構(gòu)大致如下MyProjects/ ├─ 01_DDA_Bresenham/ │ ├─ src/main.cpp │ └─ README.md ├─ 02_Circle_Ellipse/ ├─ 03_Transform2D/ ├─ 04_ViewProjection/ ├─ 05_Lighting_Material/ ├─ 06_TextureMapping/ ├─ common/ │ ├─ shader.h │ └─ win32_path.h ├─ libs/ │ ├─ freeglut/ # include 與 lib 分平臺存放 │ ├─ glew/ │ └─ glm/ └─ MyProjects.slncommon/不是課程強制的是我在整理代碼時習(xí)慣性的收口凡是兩個以上工程都用得到的封裝比如著色器編譯、文件路徑轉(zhuǎn)換都放進公共頭文件。你把每個工程完全獨立也可以但那樣遇到著色器編譯報錯就得復(fù)制粘貼六遍檢查代碼公共目錄能少改很多地方。各實驗與課程知識點的對應(yīng)關(guān)系如下工程目錄核心知識點演示重點01_DDA_BresenhamDDA 與 Bresenham 直線生成兩種算法在相同坐標(biāo)下的造點軌跡02_Circle_Ellipse中點畫圓、橢圓的參數(shù)方程圓對稱性與決策參數(shù)的更新03_Transform2D平移、旋轉(zhuǎn)、縮放的復(fù)合矩陣?yán)@任意點旋轉(zhuǎn)的實現(xiàn)04_ViewProjection透視投影、觀察矩陣視錐體與深度測試效果05_Lighting_MaterialBlinn-Phong 光照模型光源位置、材質(zhì)高光06_TextureMapping紋理坐標(biāo)、采樣、邊界處理四邊形表面的貼圖效果2.3 快速編譯VS 屬性頁里那四個配置項拿到源碼先別急著點運行OpenGL 實驗工程最常見的翻車就是依賴沒配齊。以 03_Transform2D 為例先在 VS 里把包含目錄和庫目錄指到libs/下附加包含目錄 $(SolutionDir)libs\freeglut\include;$(SolutionDir)libs\glew\include;$(SolutionDir)libs\glm 附加庫目錄 $(SolutionDir)libs\freeglut\lib\x64;$(SolutionDir)libs\glew\lib\x64 預(yù)處理器定義 GLEW_STATIC;_CRT_SECURE_NO_WARNINGS 附加依賴項 opengl32.lib;freeglut.lib;glew32s.lib用$(SolutionDir)而不是寫死路徑是為了讓你把整個MyProjects目錄換個位置也能編譯。_CRT_SECURE_NO_WARNINGS是讓fopen這類函數(shù)不再報 C4996 警告做紋理加載實驗時能少刷很多屏。如果你只跑 01、02 固定管線實驗GLEW 不配也能運行但想一次把六個實驗全部編譯過建議每個工程統(tǒng)一加這條預(yù)處理器定義避免同一套代碼在 Debug 和 Release 下行為不一致那是后續(xù)最常見的一個坑。3. 核心模塊拆解一個三角形從頂點到像素的完整鏈路3.1 窗口創(chuàng)建與 GLUT 回調(diào)GLUT 死循環(huán)想退出來怎么辦三角形能顯示到屏幕上起點是窗口初始化和回調(diào)注冊。這套代碼在實驗包里每個工程都可以單獨抽出來看int main(int argc, char** argv) { glutInit(argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(800, 600); glutCreateWindow(CG Lab); // 注意GLEW 必須在窗口創(chuàng)建之后才能初始化 glewExperimental GL_TRUE; glewInit(); glutReshapeFunc(reshape); glutDisplayFunc(display); glutKeyboardFunc(keyboard); setupScene(); // 創(chuàng)建 VAO、VBO、著色器 glutMainLoop(); return 0; // 這行實際執(zhí)行不到 }GLUT_DOUBLE申請雙緩沖避免畫面閃爍GLUT_DEPTH給深度緩沖區(qū)騰地方三維實驗里必須加否則深度測試等于沒開。glutMainLoop一旦進入就阻塞在這里不斷派發(fā)事件后面的return 0不會執(zhí)行。想讓程序退出正確做法是調(diào)用glutLeaveMainLoop()而不是硬exit。3.2 著色器編譯為什么 glShaderSource 的第四個參數(shù)要傳 nullptr三角形的 GPU 端渲染離不開著色器。下面是精簡后的著色器編譯封裝注意看glShaderSource的參數(shù)GLuint CompileShader(GLenum type, const char* src) { GLuint shader glCreateShader(type); glShaderSource(shader, 1, src, nullptr); // 按\0截斷省去手動數(shù)長度 glCompileShader(shader); GLint ok 0; glGetShaderiv(shader, GL_COMPILE_STATUS, ok); if (!ok) { char log[512] {0}; glGetShaderInfoLog(shader, 511, nullptr, log); printf(shader compile error:\n%s\n, log); glDeleteShader(shader); return 0; } return shader; }glShaderSource的第四個參數(shù)表示每個字符串的長度。傳nullptr時驅(qū)動按 C 字符串的\0結(jié)尾自動截斷日常寫常量著色器源碼最省事。但如果從文件里讀代碼用std::ifstream讀取后字符串長度不等于文件長度把content.c_str()傳進去其實也沒問題真正容易踩的是用read把內(nèi)容讀進一個未補\0的char數(shù)組這時第四個參數(shù)必須顯式傳實際長度。編譯后用glGetShaderiv查GL_COMPILE_STATUS不是查返回指針返回值只代表函數(shù)調(diào)用是否成功我看到太多人忽略狀態(tài)直接鏈到程序里最后畫面黑得毫無頭緒。3.3 VAO/VBO把頂點屬性和緩沖對象綁定在一起從數(shù)據(jù)到像素中間得有頂點緩沖。下面這段是實驗里最常見的三角形初始化寫法float vertices[] { // x y z r g b -0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 1.0f }; GLuint vao, vbo; glGenVertexArrays(1, vao); glGenBuffers(1, vbo); glBindVertexArray(vao); glBindBuffer(GL_ARRAY_BUFFER, vbo); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); // 第 0 個頂點屬性位置取前 3 個 float glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); glEnableVertexAttribArray(0); // 第 1 個頂點屬性顏色跨過前面 3 個 float glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1);這段代碼的核心是步長和偏移量。每個頂點包含 6 個float位置在前 3 個顏色在后 3 個所以屬性步長是6 * sizeof(float)。位置偏移是 0顏色偏移要從第 3 個float開始寫成(void*)(3 * sizeof(float))。GL_STATIC_DRAW表示數(shù)據(jù)幾乎不變驅(qū)動可以把它放到更合適的內(nèi)存位置如果每幀都在改頂點坐標(biāo)就改成GL_DYNAMIC_DRAW。3.4 繪制與 MVP 矩陣兩個矩陣相乘的順序別搞反頂點數(shù)據(jù)準(zhǔn)備好后display回調(diào)里做的事情是從 CPU 側(cè)把模型、觀察、投影三個矩陣合起來傳給著色器的 uniform再發(fā)起繪制void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glUseProgram(shaderProgram); glm::mat4 proj glm::perspective(45.0f, (float)WIDTH / (float)HEIGHT, 0.1f, 100.0f); glm::mat4 view glm::lookAt( glm::vec3(0.0f, 0.0f, 5.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f)); glm::mat4 model glm::rotate(glm::mat4(1.0f), rotAngle, glm::vec3(0.0f, 1.0f, 0.0f)); glm::mat4 mvp proj * view * model; glUniformMatrix4fv(uMVP, 1, GL_FALSE, mvp[0][0]); glBindVertexArray(vao); glDrawArrays(GL_TRIANGLES, 0, 3); glutSwapBuffers(); }OpenGL 使用列主序矩陣GLM 的mat4布局和 GLSL 一致傳給 uniform 時不需要轉(zhuǎn)置所以第三個參數(shù)傳GL_FALSE。矩陣相乘的順序是proj * view * model頂點點v實際經(jīng)歷的是proj * (view * (model * v))先模型變換到世界再觀察變換到相機最后投影到裁剪空間。把順序?qū)懗蒻odel * view * proj是旋轉(zhuǎn)平移混亂的重災(zāi)區(qū)后面避坑章會專門講。glDrawArrays的第一個參數(shù)決定圖元類型GL_TRIANGLES每三個頂點組成一個三角形頂點數(shù)是 3所以第三個參數(shù)傳 3。如果三角形畫不出來或者位置不對先檢查頂點數(shù)組里的坐標(biāo)范圍再查矩陣不要一上來就懷疑顯卡驅(qū)動。4. 實驗代碼逐層分析從畫線、變換到光照的算法落地4.1 DDA 與 Bresenham浮點遞增和整數(shù)糾偏的兩條路線前兩個實驗是光柵化的地基。DDA 思路直接把線段兩端點的dx、dy拆成若干小步每步加一次增量void dda(int x0, int y0, int x1, int y1) { float dx x1 - x0; float dy y1 - y0; int steps max(abs(dx), abs(dy)); float xInc dx / steps; float yInc dy / steps; float x x0, y y0; for (int i 0; i steps; i) { setPixel(round(x), round(y)); x xInc; y yInc; } }步數(shù)取dx、dy絕對值較大的一方是為了保證步長不超過一個像素。DDA 的問題在于浮點運算和round循環(huán)次數(shù)多了會有積累誤差。Bresenham 則完全拋棄浮點用誤差項err判斷下一幀該走哪個方向void bresenham(int x0, int y0, int x1, int y1) { int dx abs(x1 - x0), sx x0 x1 ? 1 : -1; int dy -abs(y1 - y0), sy y0 y1 ? 1 : -1; int err dx dy; while (true) { setPixel(x0, y0); if (x0 x1 y0 y1) break; int e2 2 * err; if (e2 dy) { err dy; x0 sx; } if (e2 dx) { err dx; y0 sy; } } }這里的sy寫成負(fù)的絕對值是刻意讓err可以同時判斷 x 和 y 兩個方向。兩個算法在 01 號實驗里都保留了切換繪制函數(shù)就能直觀看到同一個端點對產(chǎn)生的點陣差異。實驗報告里最值得寫的不是復(fù)雜度而是四邊形區(qū)域里哪個算法對邊緣更平滑。4.2 中點畫圓一個決策值如何取代平方根運算畫圓如果直接用參數(shù)方程x cx r * cosθ每一幀都要算三角函數(shù)。中點畫圓算法用決策值d的符號判斷下一個像素選哪個完全繞開三角函數(shù)void midpointCircle(int cx, int cy, int r) { int x 0, y r; int d 1 - r; while (x y) { circlePoints(cx, cy, x, y); x; if (d 0) d 2 * x 1; else { y--; d 2 * (x - y) 1; } } }d的初始值是1 - r對應(yīng)圓與網(wǎng)格線的首個中點位置每次 x 遞增后如果判定中點落在圓內(nèi)y 不變否則 y 減一。circlePoints利用圓的八對稱性把(x, y)同時映射為另外 7 個點所以只需要掃描八分之一圓弧。動手改實驗時可以把d的更新公式打印出來對比 y 的遞減趨勢比直接背公式印象深刻。4.3 復(fù)合變換的順序先縮放還是先平移結(jié)果完全不同03 號實驗的二維變換最容易出錯的不是單個矩陣而是復(fù)合順序。用 GLM 寫變換看著是按代碼順序執(zhí)行的glm::mat4 m(1.0f); m glm::translate(m, glm::vec3(tx, ty, 0)); m glm::rotate(m, glm::radians(angle), glm::vec3(0, 0, 1)); m glm::scale(m, glm::vec3(sx, sy, 1)); // 等價效果: v T * R * S * v因為頂點是列向量矩陣組合后實際先對頂點做縮放再做旋轉(zhuǎn)最后平移。如果希望先平移到某個位置再縮放就要把代碼里translate和scale的調(diào)用順序反過來而不是想當(dāng)然地認(rèn)為“寫在前面的先執(zhí)行”。繞任意點旋轉(zhuǎn)是另一個常見需求。正確的復(fù)合方式是“先平移到原點旋轉(zhuǎn)再平移回去”glm::mat4 m glm::mat4(1.0f); m glm::translate(m, glm::vec3(px, py, 0)); m glm::rotate(m, glm::radians(angle), glm::vec3(0, 0, 1)); m glm::translate(m, glm::vec3(-px, -py, 0));這段代碼的含義是T(p) * R * T(-p)對點來說先回了原點轉(zhuǎn)完再回原位。實驗報告里一般會要求畫一個矩形繞自身中心旋轉(zhuǎn)你在畫矩形時如果頂點是相對中心點定義的那第一個translate(-px, -py)就可以省略這個細(xì)節(jié)值得寫進說明。4.4 觀察、投影與 Blinn-Phong 光照固定管線到著色器的一小步04 號實驗里還有部分固定管線寫法方便和著色器版本做對比glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, aspect, 0.1, 100.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, 0, 6, 0, 0, 0, 0, 1, 0);gluPerspective的第一個參數(shù)是垂直視場角單位是度不是弧度第二個參數(shù)aspect是窗口寬高比后兩個參數(shù)分別是近裁剪面和遠(yuǎn)裁剪面到相機的距離。這兩個距離的比值會影響深度緩沖的精度近遠(yuǎn)差得太大時遠(yuǎn)處物體會出現(xiàn)深度沖突表現(xiàn)為三角形表面閃爍。gluLookAt的三組參數(shù)分別是眼睛位置、觀察目標(biāo)點、視口向上的方向向量。到 05 號光照實驗就進入可編程管線Blinn-Phong 是課程里最通用的模型它的片元著色器核心計算如下vec3 N normalize(normal); vec3 L normalize(lightPos - fragPos); vec3 V normalize(viewPos - fragPos); vec3 H normalize(L V); float diff max(dot(N, L), 0.0); float spec pow(max(dot(N, H), 0.0), shininess); vec3 color ambient diff * lightColor spec * specColor;H是半程向量把反射方向的計算換成了L V的歸一化性能更好且效果接近。寫這個著色器時最常見的低級錯誤是忘記normalize導(dǎo)致dot結(jié)果偏大或偏小高光區(qū)域突然閃爍另一個是把法線放在頂點著色器里變換完直接插值沒有在片元里重新歸一化模型轉(zhuǎn)動時高光會跟著飄。這些現(xiàn)象在 05 號實驗的窗口里都能復(fù)現(xiàn)是調(diào)光照的必經(jīng)之路。5. 常見問題黑屏、白板和亂碼的排查路徑圖形學(xué)實驗排查不能靠瞪先確認(rèn)“窗口有沒有創(chuàng)建出來、OpenGL 有沒有初始化、數(shù)據(jù)有沒有進管線、著色器有沒有鏈接成功”這四層再動手改代碼。下面這五條是這套實驗包里出現(xiàn)頻率最高的翻車現(xiàn)場。5.1 窗口能開畫面黑屏glewInit 放錯了時機現(xiàn)象窗口正常彈出但三角形不顯示glGetError()偶爾返回GL_INVALID_ENUM。原因glewInit()在有合法 GL 上下文前調(diào)用擴展函數(shù)指針加載失敗后續(xù)所有g(shù)lGen*調(diào)用都拿到無效對象。解決把glewInit放到glutCreateWindow之后并檢查返回值glutCreateWindow(CG Lab); glewExperimental GL_TRUE; GLenum err glewInit(); if (err ! GLEW_OK) { printf(glew init failed: %s\n, glewGetErrorString(err)); return; }glewExperimental置GL_TRUE是為了讓它加載一些驅(qū)動沒有主動暴露的實驗性擴展。如果不想被黑屏折磨這段代碼應(yīng)該作為所有著色器工程的固定前綴。5.2 紋理貼上去是灰色中文路徑和紋理翻轉(zhuǎn)各占一半現(xiàn)象06 號實驗的紋理加載函數(shù)返回成功但屏幕上模型是一整塊灰白色或者紋理上下顛倒。原因圖像讀取庫在 Windows 下遇到中文目錄或中文文件名時路徑解析失敗另一類問題是圖片的行對齊規(guī)則和 OpenGL 默認(rèn)的GL_UNPACK_ALIGNMENT4不一致寬高不是 4 的倍數(shù)時讀出來的像素就是錯位的。解決把工程和資源放到純英文路徑下這個“玄學(xué)”問題通常立刻消失如果只是上下顛倒用下面這行調(diào)整像素上傳對齊方式glPixelStorei(GL_UNPACK_ALIGNMENT, 1);GL_UNPACK_ALIGNMENT默認(rèn)是 4表示每行像素在內(nèi)存里按 4 字節(jié)對齊。BMP 這類無壓縮格式每行往往正好 4 字節(jié)對齊但遇到奇數(shù)寬度就會錯位。把它設(shè)成 1 是按單字節(jié)緊湊排列兼容性最好代價是上傳速度略降課程實驗里完全夠用。5.3 Debug 跑得好好的Release 鏈接報幾十個未解析符號現(xiàn)象Debug 編譯正常切到 Release 后鏈接器報一堆__imp_glGenVertexArrays或__imp_wglChoosePixelFormat開頭的未解析外部符號。原因只改了 Debug 配置的依賴路徑Release 配置里 GLEW 和 freeglut 的庫路徑還是空的或者是鏈接了glew32.lib卻忘記定義GLEW_STATIC導(dǎo)致靜態(tài)庫和動態(tài)庫的符號約定對不上。解決打開 VS 屬性頁左上角配置選“所有配置”平臺選“所有平臺”把第二章里那四項依賴統(tǒng)一填一遍。還有一個容易忽略的點freeglut.dll和glew32.dll這些動態(tài)庫必須和生成的 exe 在同一目錄否則雙擊運行時直接彈“找不到 dll”這種現(xiàn)象更像是工程配置壞了但其實只是文件沒復(fù)制到位。5.4 物體旋轉(zhuǎn)后總是平漂一段復(fù)合矩陣順序反了現(xiàn)象用鍵盤旋轉(zhuǎn)物體時它不繞自身中心轉(zhuǎn)而是邊轉(zhuǎn)邊朝某個方向平移旋轉(zhuǎn)中心明顯不對。原因模型矩陣?yán)锲揭坪托D(zhuǎn)的順序?qū)懛戳恕1热鐚懗蒻odel rotate * translate頂點先被平移、再旋轉(zhuǎn)等于繞著世界原點旋轉(zhuǎn)一個已經(jīng)偏移的物體看起來就像額外平移了一段。解決先確認(rèn)你的頂點坐標(biāo)是不是相對物體中心定義的。如果不是要先把物體移回原點、旋轉(zhuǎn)、再移回去glm::mat4 model glm::translate(glm::mat4(1.0f), glm::vec3(centerX, centerY, 0)) * glm::rotate(glm::mat4(1.0f), angle, glm::vec3(0, 0, 1)) * glm::translate(glm::mat4(1.0f), glm::vec3(-centerX, -centerY, 0));這個式子從右往左讀先移到原點旋轉(zhuǎn)再平移回原位置。矩陣乘法是圖形學(xué)實驗里調(diào)試時間最長的地方遇到位置不對先把旋轉(zhuǎn)角度固定成 0觀察平移是否單獨正常再逐步疊加旋轉(zhuǎn)。5.5 著色器編譯通過一調(diào)用就黑屏或崩潰忘了檢查 Link 狀態(tài)現(xiàn)象CompileShader返回的 shader 對象不是 0但鏈接完程序后畫面還是黑的控制臺也沒有任何報錯。原因glLinkProgram之后沒有檢查GL_LINK_STATUS很多著色器編譯通過但變量名拼寫錯誤鏈接時 uniform 被優(yōu)化掉glGetUniformLocation返回 -1后續(xù)glUniformMatrix4fv把一個非法地址傳進去。解決鏈接完成后強制加一段日志檢查同時打印 uniform 地址glLinkProgram(prog); GLint linked 0; glGetProgramiv(prog, GL_LINK_STATUS, linked); if (!linked) { char log[512]; glGetProgramInfoLog(prog, 511, nullptr, log); printf(link error:\n%s\n, log); } GLint u glGetUniformLocation(prog, mvp); if (u 0) printf(uniform mvp not found\n);不要靠肉眼對比著色器字符串里的名字直接讓程序把 uniform 地址打出來。從這套實驗包開始我給自己定了一條規(guī)則任何 gl 相關(guān)的返回值都要檢查錯誤狀態(tài)再小的工程也一樣這條習(xí)慣能省掉一半的調(diào)試時間。6. 二次開發(fā)把分散實驗改造成一個可交互的圖形學(xué) Demo六個實驗各自獨立運行沒問題但它們之間沒有統(tǒng)一入口。二次開發(fā)的第一步是把不同實驗的繪制邏輯抽象成同一種接口這樣后續(xù)想加一個“實驗切換菜單”就很容易。class IRenderable { public: virtual void Initialize() 0; virtual void Render(float dt) 0; virtual void OnKey(unsigned char key, int x, int y) 0; virtual ~IRenderable() {} };每個實驗工程只要繼承這個接口把原來的init、display、keyboard搬進三個虛函數(shù)即可。第二步是做一個簡單的場景管理器用數(shù)字鍵 1 到 6 切換不同的實驗class SceneManager { public: static SceneManager Instance() { static SceneManager inst; return inst; } void Register(int id, std::unique_ptrIRenderable scene) { scenes_[id] std::move(scene); } void SwitchTo(int id) { current_ scenes_[id].get(); } IRenderable* Current() { return current_; } private: std::mapint, std::unique_ptrIRenderable scenes_; IRenderable* current_ nullptr; };注冊順序放在main里和工程目錄編號保持一致。這樣做的好處是每個實驗原來的main.cpp不再擁有獨立的glutMainLoop而是統(tǒng)一交給框架調(diào)度主循環(huán)只保留一次glutDisplayFunc(display)內(nèi)部轉(zhuǎn)發(fā)給當(dāng)前場景。改造完成后驗證方式很簡單依次按 1 到 6確認(rèn)每個場景都能渲染且不會串狀態(tài)再切回場景 1看看之前建的 VAO 是否還在。如果還想更進一步就把固定管線的 01 到 03 號實驗遷移到著色器版本用glDrawArrays(GL_POINTS, ...)替代glBegin(GL_POINTS)。這個遷移過程能幫你真正搞清楚固定管線的矩陣棧和現(xiàn)代管線的 uniform 之間是什么關(guān)系而不是只會復(fù)制粘貼。我當(dāng)年把實驗合并成 Demo 后以為在一臺機器上跑通就萬事大吉結(jié)果換到另一臺機器上演示時DLL 沒復(fù)制、紋理路徑寫的是絕對路徑現(xiàn)場直接翻車。從那以后我每次改完都強制走一遍流程清空輸出目錄、Debug 和 Release 分別編譯、把 DLL 和資源改成相對路徑、再換一個目錄重新跑一次。這套血淚流程雖然看著笨但保住了很多次演示。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
影音先锋777xfplay色资源网站| 综合激情五月综合激情五月激情1| 久热91| 91久久久久久久久久久| www.色色色com| 五月天国产婷婷精品视频在线| 亚洲免费观看高清完整版AV线| 激情五月天啪啪| 超碰人人干| 国产av一区二区三区| www.minyis.com【JT】实力收量可预付QQ2101460746 | 色婷婷88| 五月天激情子轮| 五月天精品| 9久久精品视频| 久1色色| 久久婷婷六月综合国际| 五月婷婷色| 色婷婷成人网| 97影院一级片| 91色逼| 热99只有里视频| 激情性爱五月天| 校园春色亚洲色| 97一区二区| 亚洲第一成人无码A片| www.狠狠干com| 日本一级一级一级一级| 久99视频| 伊人青草成人| 梁铮版蜘蛛女在线观看| 亚洲激情无码久久| 亚洲天堂AV免费片| 颜射 精品性爱av| 99视频内射三四| 天堂综合久| 色婷青青| 99久久色| 91日视频| 色 免费网站视频| 丁香六月激情| 久久66er久久| 啪啪啪啪五月天| 超碰成人电影| 久久色在线视频| 97香蕉久久超级碰碰高清版 | 国内自拍1区| 超碰久热| 奇米色大香蕉| 激情四射婷婷色色色| 天天色2017| 九九综合| 91精品综合久久久久久五月天| 成人国产欧美大片一区| seuuu婷婷| 国产乱人偷精品人妻A片| 婷婷亚洲综合| 久综合4| 国产欧美日韩综合精品一区二区| 国成人网| 亚洲av免费在线| 色婷婷色九月| 五月婷婷激情刺激| 日日操日日爽| 99ri在线视频| 九九热狼人| 日比视频91| www.com在线操视频免费观看| 伊人九热| 99自拍视频在线| 婷婷久久网| 色色操| 十月丁香婷婷| 色日本综合| 激情亭亭五月| 麻豆观看夏晴子| 影音 五月 婷婷 久久| 青青草青青草五月天| 69人人操人人爽| 啪啪黄页网| 久久久久亚洲AV无码网影音先锋| 亚洲精品乱码久久久久久综合| 丁香激情合作五月| 国产avapp 网| 97人人干视频| 亚洲综合视频天天精品| 亚洲成人av在线播放| 99毛片| 色综合色五月| 国产精品成人网址| 欧日美女Va| 日日鲁鲁夜夜爽爽| 色婷婷丁香五月| 五月九九综合| 色丁香五月婷婷| 五月激情啪啪啪| 伊人久久大香蕉网| 激情综合亚洲色婷婷五月| 狠狠色婷| ww亚洲ww在线观看| 日日干夜夜干| 婷婷五月天99综合网站| 欧美群妇大交乱婬网| 狠狠干激情五月| 天天干,夜夜爽| 色优久久| 亚洲精品国产成人AV在线| 麻豆123区| www.99热| HD久久精品视频| 久久色情| 综合久久综合久久| 一区二区三区XXXXXX| 永久思思热在线| 丁香六月久久| 六月婷婷日| 婷婷啪啪| 99超级碰碰| 色噜噜丁香| 日本熟妇精品99| 丁香五月精品| 狠狠爱深色婷婷综合| 九九99九九99偷拍视频免费看| 艹| 99A级片| 狠狠色综合无线观看| 婷婷激情五月吧| 久久婷婷人人| 在线另类视频| 超碰国产在线| 丁香九月婷婷| 综合网天天| 丁香婷婷久久综合在线| 五月天综合激情网| 欧美婷婷九月| 欧美五月婷婷| 久久看婷婷| 激情五月狠狠| 成人在线高清| 91人操| 色婷婷玖玖影院| 婷婷五月天另类网站| 这里有精品| 久久永久网址| 日本精品人妻无码77777| 九九热视频首页/这里只有精品| 五月丁香无码| 思思99热热热99| 99久在线精品| 天天色综合色色色色色。| 五月丁香婷婷啪啪| 99热香港| 97超级碰碰碰久久久| 五月色情网| 激情久久久| 他改变了拜占庭| 成人av免费观看| 久久色五月| 免费婷婷| 六月丁香婷啪射| 最新高清无码专区| 激情六月天婷婷| 噜噜五月天综合| 欧美激情综合色丁香婷婷五月天| 69综合在线| 久久精品人妻| 丁香色五月婷婷17C| 日韩aaaaa| 性爱动图国产麻豆一区二区三区| 国产在线网| 天天干天天 亚洲| 九九九激情网| 久久精典| 久热这里只有精品66| 丁香五月天堂亚洲社区| 色五月在线观看| 欧美五月丁香啪啪响视频| 免费AV播放| 狠狠干总合| 99热九九九九| 99热在线播放| a久久免费视频| 成人免费网站免费看| 激情小说婷婷| 五月丁香六月婷婷亚洲激情综合| 人人叉久| 久久久99精品免费观看| 五月丁香色婷婷色| 婷婷五月婷婷五月天| www.91AV.COM| 乱岳熟女50岁| av九九| 丁香婷婷啪啪啪| 日韩视频女神99| 99久热这里只有精品| 久久综合网免费视频| 久久91久久精品久久| 香焦网五月天| 另类综合国产| 这里只有精品99视频| 超91热| 熟女激情网| 天天摸,天天爽| 激情骚五月| 人人爱国产| 婷婷综合在线观看视频| 丁香久久| 九九热婷婷| 丰满老熟妇BBBBB搡BBB| 91视频精品99| 五月丁香六月欧美综合网站| 中文字幕日韩无码制服诱或| 五月婷婷无码| 偷偷操99| 成人AV网站在线| 亚洲精品亚洲人成人网| 成人免费在线电影| 日日夜夜天天综合| www.夜夜騎夜夜狠| 青青草六月丁香| 91九色在线视频| 日韩av手机在线观看| 久99视频在线观看| 婷婷综合一二三| 久色中文| 2020日日干| 色五月天在线| 久热黄色| 国产精品人妻在线网址| 99久久色| 五月婷色丁香| 97碰碰叉| 婷婷五月花.97| 五月婷婷片| 人人草人人爱| 丁香五月天色| 婷婷六月色| 激情网五月天| 91色在线 | 日韩| 天天射天天射一道本日本社区 | 色色影院黄大片| 无遮挡国产高潮视频免费观看| 五月婷婷久久久| 九月色婷婷综合| 天天综合网网欲色| 色99网| 久久婷婷在线| 五月天婷婷人妻| 天天干、天天日日| 亚洲色情在线| 婷婷五月天国产在线播放| 亚洲狠狠狠| 六月丁香五月激情网| 婷婷五月天播| 亚洲丁香五月深爱五月| 五月天伊人日日噜影片AV| 久久久久久久久久久久久久人妻视频| 五月丁香婷婷AV天堂| 97精品综合| 99久久精| www.91有码.com| 五月天开心色情网| 亚洲天天综合| 丁香六月色婷婷| 五月丁香久久久久| 天天做天天爱天天爽| 婷婷五月色播放| 五月婷婷综合网| 日韩黄黄| 国产真实乱了老女人视频| 色色99| 深爱五月婷婷| 另类亚洲电影| 91viP在线看| 色五月激情综合网| 亚洲女婷婷五月基地综合久久久| 色五月激情婷婷| 色五月丁香伊人五月| 亚洲视频伍月婷婷| 99爱爱| 色婷婷电影网| 久草嫩草在线观看| 成人做爰A片免费看网站找不到了| 精品一区二区三区四区五区六区介绍| 深夜A片| 婷婷综合五月天| 色五月天堂| 久久婷综合| 综合狠久久| 五月丁香九九| 九九成人精品| 狠狠爱激情网| 97操碰人免费| 六月丁香啪啪| 五月天 另类图片| 亚洲人成色A777777在线观看| 久久婷婷伊人| 五月深情久久| 五月天婷婷基地丁香| 五月婷婷免费| 色婷婷五月天偷拍| 色五月大| 久久这里有精品在线观看| 色综合五月| 激情网五月天| 激情99热| 天天做天天爱天天爽综合网| 极品人妻XXXXOOOO| 激情六月丁香| 日本天天操| 六月婷婷色综合| 狠狠爱丁香婷| 婷婷综合成人五月天| www夜夜操| 操碰97| 色五月,婷婷大香蕉| 色婷婷六月性| 曰曰久久| 日本九九九九九九| 亚洲性图一区二区| 久久久婷婷| 人妻操日日| 婷婷丁香五月视频| 狠狠干夜夜干| 亚洲另类婷婷综合| 欧美成人精品A片免费一区99| 另类少妇人与禽zOZZ0性伦| 大香蕉人在线65| 狠狠操狠狠狠| 鲁鲁色五月| 伊人啪啪网| 综合激情九月婷婷,激情综合婷婷中文字| 成人网址在线观看| 中文字幕,综合,91| 婷婷丁香无码专区| 欧美性色五月天| 丁香五月婷婷成人综合| 这里只有精品在线看| 五月丁香啪综合| 色婷婷六月| 午夜色婷婷| 丁香五月Av| 亚洲精品又粗又大又爽A片 | 玖玖在线视频| 电影爱拉战争免费观看| AV电影在线播放| 亚洲av综合网| 欧美熟女99| 天堂综合久| 久久99性爱| 色婷婷中文| 免费精品66| 久久这里有精品| 凹凸操Av| 精品国产一区二区三区四区阿崩| 丁香六月婷婷开心| 久久婷婷五月天激情唯美| wwwC0maV五月花| 99九九久久| 被男人添B超爽视频| 91热er| 婷香五月| 激情五月天社区| 日本色天堂| 午夜成人综合| 九九综合九九| 91丨九色丨国产打屁股| 草AV9999| 麻豆123区| 激情5月婷婷| 97人人操人| 99热这里只有精品4| 五月婷婷亚洲色图| 婷婷久久丁香五月| 播五月婷婷开心| 婷婷五月成人| 99小视频网站| 怡春院久操| 狼人狠狠操| 99在线精品观看99| 国产做爰视频免费播放| www激情com| 色婷婷文字幕| 精品人妻久久久久久| 丁香五月六月久久综合| 五月婷婷欧洲| 五月婷婷与六月丁香图片激情| 99视频精品| 婷婷五月丁香五月| 99久在线精品99re8热| 9视频1在线| 色色色国产| 亚洲婷婷丁香五月天激情小说| 国产操B| 五月丁香六月婷婷激情视频在线观看免费| 7777激情基地| 91精品刘玥| 丁香五月天激情综合| 丁香花色色网| 抽插特写| 国产这里只有精品| se99视频| 电影《战争与艾拉》免费观看| 色播激情婷婷| www.久久久久| 九热免费视频| 久香草视频在线观看| 久久一操| 欧美成性色| 少妇婷婷五月天| 亚洲精品久久久久久久久久吃药| nvrentiantang av| www.com久久久久久久久久久久久久久久久| 综合网亚洲| 婷婷综合五月天| 天天综合天天玩夜夜玩天天玩夜夜玩 | 色欧洲| 五月丁了香蕉综合| 色色色97| 色狠狠婷婷| 久操大| 校园激情 亚洲| 任你日视频| 婷婷的五月天另类视频| 色婷婷小说网| 色久女| 婷婷五月丁香六月天亚洲综合| 婷婷99狠狠躁天天| 婷婷九九视频| 久热在线观看视频9| 26uuu成人网| 开心五月激情网| 五月天自拍视频| 国产精品久久久久久白浆色欲| 91碰人人| 91九九九九| 精品久久艹| 丁香五月天视频| 就去涩涩丁香五月天| 色五月婷婷五月丁香五月激情五月视频| 日本久久极品| 丁香久久激情俄| 在线观看免费观看在线9久| 大香蕉久艹| 狠狠操狠狠插| 狠狠色综合久久| 五月丁香久久综合精品| 日本本土色网第一区| www99精品| 五月天天综合| 色九九综合热99| 99re免费视频| 91精品啪| 婷婷久久影院| 超碰人人91| 日本欧美999久久久三级片| 欧美A级成人婬片免费看理论| 色婷婷五月天在线观看| 天天综合精品| 国产精产国品一二三在观看| 高清无码网址| 影音先锋91在线资源站| 99A片| 国产av天天插天天操天天爽| 久久婷婷五月综合色和| HD久久精品视频| 日本A片一区| 激情婷婷五月社区| 六月丁香激情| 激情伊人| 琪琪秋霞| 色小说五月婷婷| 丁香五月,激情五月,深爱五月| 色五月婷婷激情五月| 五月丁香六月婷精品视频| 色青青视频| 99爱免费视频在线观看| 五月六月伦理| 午夜成人AV在线| www.色婷婷| 欧美激情五月天| 精品夜夜澡人妻无码AV| 超碰无码老师| 亚洲六月色婷婷| 久久婷婷色| 婷婷欧美偷拍综合| 激情婷婷网| 免费在线观看欧美激情xx小视频| 99久在线精品99re8热| 丁香五月天堂网| 色色热| 丁香六月婷婷激情| 97极品在线| 丁香 婷婷 激情 综合 五月| 色99综合视频| 成人丁香色| 色无码| 亚洲性爱AV在线| 亚洲国产另类av| 亚洲综合在线播放| 五月丁香网站在线播放| 婷婷五月天伊人| 五月丁香综合激情网| 黑人巨粗进入警花疼哭A片| 国产人人操| 婷婷五月天激情综合| 天天摸,天天爽| 思思久久99热只有频精品66| 在线另类| 日本三日本三级少妇三级66| 精品久久婷婷五月天| 夜夜撸日日骑| 激情六月婷婷| 久久综合色五月| 琪琪理论片| 色婷婷五月在线| 天天操天天曰| 91色碰| 色色影院aaaav| 五月丁香六月激情在线| 七七婷婷综合| 久久精品爱爱| 五月婷婷深深爱| 色一色综合| 午夜天堂啪啪| 26UUU精品一区二区| 亚洲五月天婷婷| 婷婷五月激情五月丁香五月| 九九热黄色| 97久久久| 成人短视频在线观看| 久久久免费精彩视频| 天天激情夜夜干| 狠狠xx| 亚洲另类在线观看| 狠狠xx| 国产日产亚系列精品版优势| 99在线精品观看99| 亚洲丁香五月| 97精品人人A片免费看| 久久婷婷五月天激情四射| 丁香五月天欧美在线| 免费黄色视频网址| 大香蕉网站,大香蕉综合| 婷婷五月天干干| 丁香六月婷婷久久综合| 六月丁香六月婷婷欧美| 久久人人妻| 色色影院黄大片| 国产精品色一哟哟| 成人无码精品1区2区3区免费看| 五月婷婷六月天| h在线看免费版在线看| 婷婷丁香激情五月天色色色| 天天色伊人| 日本色色色| 欧美三日本三级少妇三99| 九色成人AV在线| 人人草公开操| 狠狠色丁香| 99久在线精品| 色五月偷偷| A在线观看| 涩涩涩婷婷| 亚洲操b| 五月天中文网| 成人午夜天| 狠狠看狠狠| 欧美这里只有精品| 成人va在线观看视频| 六月婷婷激情图片| 日夜操B| 99热99色| 欧美大奶熟女噜噜噜噜| 色色国产| 艾小青av| 97AV人人插人人操| 99在线热视频| 欧洲毛片基地c区| 大香蕉520| 丁香丁婷五月激情| 99只有这里是精品| 五月激情综合婷婷| 国产偷人妻精品一区| 啪啪五月综合| 国产免费AV网站| 婷婷五月丁香五月| 超碰在线caop| 亚洲精品永久久久久久| 亚韩在线视频| 婷婷色网| 开心婷婷五月天激情网| 久久五月天色婷婷| 超碰人人色| 密乳视频| 欧美日韩91| 五月天婷婷色五月天| 国产毛片欧美毛片久久久| 九九视频精品在线免费| 久99精品视频| 色综合色综合网| 国产成人va在线| 91操在线| 久久久久9| 综合五月激情| 丁香五月在线自慰| 丁香五月五月婷婷欧美大香蕉| 亚洲视频图片婷婷五月| 大香蕉啪啪啪| 啪啪视频99| 丁香婷婷性爱| 五月婷婷手机在线| 中文字幕在线资源| 五月婷婷欧洲| 99热这里只有精品免费| 亚洲综合激情五月| 婷婷五月天最新综合你懂的 | 久久99热这里只有精品首| 婷婷基地爱| 久久综合99| 九九热这里| 99视频精品| 色婷婷亚洲综合天堂| 丁香五月色色| 欧美激情-区二区三区| 成人一级片| 五月婷婷色在线| 婷婷黄色| 婷婷伊人五月天| 五月熟妇婷婷久久| 日本啪啪天堂| 大香婷婷| 人妻有码乱操| 国产亚洲成AV人片在线观黄桃| 超碰在线综合| 综合久久六月| Va另类视频| 丁香婷婷色五月| 色射7856五月天激情四射| 五月色婷婷夜色| 五月婷婷在线视频| AV性爱在线| 激情综合网,婷婷五月天| 久久永久视频| 无码橾| 婷婷伊人综合| 久久久天堂国产精品女人| 99热官网精品在线| 五月婷婷啪啪啪| 激情五月婷婷丁香| 国产精品视频久久99| 玖玖色综合| 日本超碰在线| 婷婷五月综合色拍| 99热这里只有精品99| 26uuu欧美宗合| 啪啪五月天啪啪| 五月丁香婷婷福利| 五月丁香六月综合情在线观看| 久9久成人精品视频| 91久久国产综合久久| 人妻无码视频网| 精品成人无码A片观看香草视频| www.婷婷.com| 亚洲无码色| 91碰碰| 婷香五月| 小视频久久久aaa| 狠狠香蕉| 五月天婷婷久久视频| 婷婷五月天奸女| 婷婷涩五月| 婷婷成人综合| 五月婷婷五月| 中文字幕欧美日韩VA免费视频| 五月天久久久| 国产AV一区二区三区最新精品| 成AV人片一区二区三区久久| 乱岳熟女50岁| 超碰九热| 色情五月天导航| 男人的天堂97| 99九九99九九九视频精彩| 激情综合在线观看| AV堂狠狠干| 婷婷日| 天天爽综合| 婷婷五月天高清无码| 日日撸夜夜操| 婷婷激情四射| 黄色片久久| 婷婷激情五月天激情小说| 91 九色 入口| 99色综合| 五月丁香婷婷啪啪综合网| 欧美激情-区二区三区| 色色AV色色色东莞| 丁香五月激情宗合网| 琪琪理论片| 99福利视频| 九九婷婷网五月天| 九九亚洲视频| 国产麻豆视频| 色婷婷色情| 激情五月天婷婷免费观看| 五月社区婷婷激情| 日日噜噜夜夜狠狠久久丁香五月| wwwss在线观看| 午夜不卡久久精品无码免费| 欧美一线视频| 色色99色色| 丁香五月婷久久| 五月丁香999| 色色网站毛片| 久久伦乱| 9999热免费视频视频| 色欲五月婷婷| 五月婷婷精品视频| 99久在线观看| 亚洲丁香花五月丁香花| 五月激情网站| 就去涩涩丁香五月天| 亚洲av日韩无码| 极品少妇XXXX精品少妇偷拍| www.99热在线| www.思思99热| 91九色在线| 婷婷丁香红五月91C| 91人人操人人| 日韩色五月| 欧美三级A做爰在线观看| 97久操| 成人必爱视| 狠狠综合网| 欧美顶级少妇做爰HD | 久久久五月天婷婷成人网| 人妻熟妇国产精品| 噜噜色婷婷| EEUSS鲁片一区二区三区| 在线不卡中文字幕| 五月激情综合深爱| 精品色色| 超碰99在线观看| 一丁香五月天月AV| 久婷婷视平| 国产伊人五月天| 97碰碰在线看视频免费| 99色免费在线观看| 婷婷丁香综合| 丰滿爆乳一区二区三区| 激情婷婷五月亚洲| 黄色三级日本| 丁香花五月天激情| 色综合久网| 国产精品激情五月天色婷婷| 五月丁香六月激情| 99久久久国产大片区| 九九AV在线| 五月婷婷色啪| 91成人性爱视频| 4399无码视频二区| 精品人妻久久久| 99久久婷婷| 天搞天天天天天| 成人AV免费观看| 97超碰在线免费观看| 五月婷婷丁香俺日污视频| 91色性感五月婷婷丁香| 亚洲热综合网在线观看| 另类少妇人与禽zOZZ0性伦| wWwCom夜操wwW| 成人午夜无码视频| 欧美日朝成人| 五月天综合婷婷| 亚洲五月婷婷| www.操.com| 、激情六月天| 超碰成人免费| 开心五月丁香综合久久| 校花娇喘呻吟校长陈若雪视频| 操国产人妻| 99热综合| 这里只有精品视频看看| 大香蕉在线99热| 久久这里只有国产视频| 婷婷色狠狠| 天天日夜夜拍| 国产资源在线视频| 操逼六区| 亚洲中文字幕在线观看| 五月婷婷天天色| 乱精品一区字幕二区| 99视频在线观看欧| 九九99视频精品| 久久国产色| 欧洲亚洲午夜| 五月天日日操夜夜操 | 久久只有18视频| www.激情| 国产精品人人做人人爽人人添| 色444综合网| 91久久久久久| 欧美黑人巨大性生话| 五月永久激情| 天天做好综合色| 七七色色综合| 亚洲久久激情| 久热中文字幕在线线观看| 色爱爱综合网| 99爽视频| 99er免费在线观看| 色五月综合网站| 99视频网址| 色婷婷成人丁香| 91男人资源站| 五月色婷| 五月婷婷欲色| 97干免费视频| 久久人妻少妇嫩草AV| 天天日夜夜拍| 久久欧洲久久| 久久久9久| 色婷婷综合网站| 综合五月天天天天天五月| 91pornav在线| 丁香网站| 天天色粽合合合合合合合| 激情宗合哪里能看| 97婷婷久久丁香| 五月丁香六月激情欧美综合| 99热成人在线| 婷婷五月激情的图片| 91女人18毛片水多国产| 激情五月婷婷网| 欧美日韩AAA| 99啪啪| 久久免费高| 99久热这里只有精品| 婷婷五月天欧美图片在线播放电驴| 五月激情婷婷综合| 曰本久久女| 深爱激情五月网| 草综合14| 国产精品色色色色| 97色精品视频| 激情综合99| 操操操97| 丁香五月在线| 天天综合色| 五月天伊人日日噜影片AV| 久久大香蕉同僚| 黄色AAAA韩国guochansanji| 综合网亚洲| 网站免费一站二站| 丁香五月婷婷天| 高清无码.com| 久久免费操| 婷婷久久婷婷色五月| 无码少妇高潮喷水A片免费| 91色综合网| 真实亲子乱子伦高清在线观看| 六月综和久久| 亚洲午夜AV| 97干综合网| 96色婷婷| 1024成人免费看| 荫道BBWBBB高潮潮喷| 夜夜操夜夜操| 九九aV| 国产精品国产| 一起草性爱不卡视频| 亚洲六月婷| 天天噜天天爱| 乱女乱妇熟女熟妇综合网站| 久久久com| 亚洲AV综合在线观看| 97久久久免费福利网址| 激情五月婷婷色色| 香港九九六区八区99| 五月丁久久| 久久久99精品免费观看| 成人精品在线| 亚洲另类电影| 久久综合婷婷| 成人无码髙潮喷水A片| 日日夜夜狠狠| 色色综合网站| 在线观看国产高清视频免费网站| 婷婷五月综合在线| 色婷婷综合网站| 五月天婷婷基地| 91精品久久久久久77777| 久久婷婷五月综合| 激情av| 无码少妇高潮喷水A片免费| 中文字幕在线观看视频www| 激情综合五| 九九色色| 无码视频国内精品久久久| 国产毛片精品一区二区色欲黄A片| 校花娇喘呻吟校长陈若雪视频| 99视频| 91久久网站| 夜夜爱爱亚洲| 久久综合首页| 婷婷五月深情丁香深爱日韩| Av性爱网站| 天天综合色综合| 五月天激情网开心网| 久久这里只有精品8| www.夜夜操| 成人片在线播放| 超碰国产在线| 97碰碰九九视频| 精品亚洲日韩99欧美片| 7超碰自拍| 国产婷婷综合| 丁香五月婷婷色偷偷| 无码动漫av| 久久婷婷五月综合| 五月天激情美女久久| 亚洲视频1区| AV在线资源| 色婷婷综合五月| 五月婷婷片| 二色AV| 午夜少妇在线观看视频| 国产精品A片在线| 日本三级中文字幕| 99高级会所久久| 亚洲欧美999| 久九色| 欧美日韩中文国产一区发布| 中文字幕欧美精品久久| 丁香婷婷五月天激情四射| 99高级会所久久| 99热官网精品在线| 婷婷丁香五月天激情| 伊人99久久| 在线成人网址| 久久成人精品视频| 婷婷丁香九月| 成人亚洲精品久久久久| 久婷婷色| 日日想日日夜日日操| 激情综合五月婷婷丁香| 深爱五月婷婷| 激情六月天婷婷| 婷婷丁香色性爱| www久| 精品色色色| 色五月大香蕉| 色五月激情五月丁香五月婷婷啪啪综合 | 色亭亭五月天丁香综合AV - 百度 - 百度| 啪到高潮激情丁香五月| 婷婷五月天成人五月天| WWW,婷婷,COM| 色五月婷婷久久| 在线免费观看激情视频| 这里有精品99| 久久999久久999久久999久久| 噼里啪啦完整版中文在线观看| 97碰人人操| 思思热在线视频99| 99热这里是精品| 超碰99热精品| 狠色狠色综合久久| 色999五月色| 国产97色在线 | 日韩| 天天综合亚洲综合| 五月婷婷六月色| 超碰a女人的天堂| 99热这里只有精品一区| 久久亚洲婷婷| 99精品久久久| 婷婷五月天国产在线播放| 日日噜噜夜夜狠狠久久丁香五月| 色婷婷影视| 欧美日韩成人在线观看| 色婷婷色丁香色欲av| 亚洲色情一区二区三区四区| 99综合视频一体| 激情av在线| 色五月婷婷综合| 性色九九| 思思久久思思| 韩国真做片在线观看| 开心五月婷婷激情| 九色自拍| 精品99在线看| 丁香六月婷| 婷婷丁香五月天色色| 第四色26uuu| 日韩精品无码一区二区| 草操网| 色色色色色色网| 91热久久| 丁香花五月天激情| 久99久精品视频| 五月丁香婷草| 91九色在线视频| 久久五月天色婷婷| 色婷婷五月天偷拍| 日日干夜夜干| 五月天丁香久久| 日本美女上人| 棕合影院色色| 好看的国产精品| 一区二区成人电影| 五月婷网| 婷婷99狠狠| 青青草性爱视频| 五月天激情四射| 99热在线99| 国产亚洲精品久久久久苍井松 | 丁香五月成人论坛| 无码激情AAAAA片-区区| 激情开心五月婷婷| 日韩AV免费看| 国产精品成人av在线观看春天| 26uuu成人网| 26uuu精品一区二区| 熟女啪啪视频| 级情九色| 综合激情五月丁香9999久久精| 少妇人妻人伦A片| 五月四色婷婷| 婷婷久久婷婷色五月| 亚洲中文乱字字幕在线永久| 亚洲综合激情五月久久| 色区久久| 精品一二三区久久AAA片| 99热这里只有精品50| 日韩啪啪自拍| 99热综合在线| 色五月丁香总合网| 国产偷人爽久久久久久老妇APP| 26uuu欧美激情另类| 成人AV网站在线| 东京热伊人| 五月视频日本免费观看| 精品99*| 婷婷狠狠18禁久久| 天天爱天天日| 大香蕉婷婷婷| 91干在线| 99成人精品六| 岛国资源站| 五月婷婷大香蕉| 五月丁香六月色婷婷| 精品综合爱| 综合久久婷婷| 五月婷婷在线综合| 99日韩| 九九色插| 操99| 五月婷AV| 九色视频91疯狂| 在线中文AV| 大香蕉婷婷久久| 色狠狠综合网| 六月丁香六月婷婷欧美| 99国产精品久久久久久久久久久| 精品久久久人妻| 久久久妻人人人| 久操大屁股女人av| 激情丁香五月天| 久久视频在线| ww亚洲ww在线观看| 九九精品碰| 色婷婷丁香五月天| 色99视频| 国产一级婬片毛片| 天天久综合网永久入口17v| av操逼网| 色婷婷电影| 五月丁香六月婷婷综合网站| 六月丁香成人| 色五月激情综合| 综合久久五| 五月婷婷开心网| 丁香婷婷六月| 天天操天天谢| 婷婷丁香五月天哟啪| www.爱婷婷.com| 国产成人精品一区二三区熟女在线| 欧美va在线观看| 亚洲国产成人裸舞| 久久机热这里只有精品免费视频| 亚洲AV电影美洲AV电影| 亚洲日韩一页精品发布| 婷婷五月av| 激情噜噜噜| 亚洲最大五月天成人网| 久久与婷婷| 婷婷91| 欧美97色| 久久五月天婷婷| 丁香五月冃欧美| 亚洲综合新99视频| 九九黄色网| 好色婷婷| wwww.色婷婷| 激情婷婷丁香| 北京熟妇搡BBBB搡BBBB| 天天色宗合| PORNY九色9l自拍视频成人| 热99这就是精品视频| 色999;丁香五月| 啄木鸟黑丝一区二区| 色久播播| 五月天激情黄色小说在线观看| 日本黄色在线观看| 亚洲免费电影2| 婷婷五月另类网站| 丁香五月狠狠在线观看| 无码少妇高潮喷水A片免费| 欧洲亚洲精品| 天天日,天天插| 婷婷五月激情综合| 超碰激情网| 啪啪 综合网| 婷婷娌伦网| 五月丁香影院| 婷婷五月,偷窥偷拍网| 丁香婷婷月| 色五月涩涩婷婷| 99热8| 综合网五月| 精品人妻伦一二三区久| 丁香五月婷婷香| 五月婷婷六月丁香在线视频免费在线观看| 色婷婷激情五月天| 婷婷色丁香六月| 天天爱夜夜爽| 丁香六月情| 天天日夜夜爽| 色五月婷婷91| 超碰精品在线| 人妻少妇色综合| 激情五月天婷婷五月天| 五月婷婷丁香| 丁香五月花| 97色精品视频| 中文字幕婷婷在线| 婷婷欧美激情| 久久六月天| 色丁香五月天射婷婷爱婷婷| 开心久久xxx色| 激情合网婷婷| 久久免费婷婷视频| 99热这里都是精品| 99操视频| 婷婷五月天激情网| 久久六月婷婷| 九热视频精品| 丁香五月久久| 亚洲第一色色色色| 五月天激情开心网| 26uuu精品一区二区| 99九九在线| 欧美成人精品A片免费一区99| 色五天综合| 怡红院成人AV| 亚洲综合婷婷| 精品无码人妻一区| 亚洲欧美999| 中文无码婷婷| 激情五月激情综合网| 先锋影音男人的天堂AV| www久久艹| 99re思思在线视频| 青青草原福利在线| 亚洲无码11| 国产亚洲精品AAAAAAA片| 九97免费视频| 啪啪啪大香蕉| 国产色五月婷婷| www.色9| 最新高清无码专区| 超色欲天天| 激情涩涩网| 色综合色综合色综合色综合| 欧美日韩成人在线| 狠狠色综合五月人人| 狼人婷婷久久| 很很干在线视频| 天天综合五月天| 五月丁香啪啪啪| 大香蕉人人网| 思思久久96热在精品国产,| 久99热| 五月丁香婷婷激情澎湃四射| 精品成人久久久久久久_一二三四视| 色色五月天婷婷| www久久久久| 青青五月天婷婷| 久久9热| 亚洲色图欧美色图日本视频| 色色色色色五月丁香| 亚洲色小说在线综合| 大香蕉99热| 在线中文字幕免费视频| 99精品在线观看| 玖玖资源在线视频| 免费视频WWW在线观看网站| 婷婷久久影院| www激情网| 99这里只有精品视频| 五月天婷婷激情四射综合| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 大战熟女丰满人妻AV| 久久婷狠狠色| 五月婷婷丁香在线| 少妇高潮呻吟A片免费看软件 | xx人人xx| 久久九九激情五月天| 婷婷丁香色五月亚洲| 99热精品在线观看| 1024欧美看片| 五月婷婷 六月丁香| 二色av| 婷婷五月天久久综合88| 亚洲性色XXXXX| 婷婷五月天综合网| 婷婷丁香97| 丁香激情网| wwww.色婷婷| 操一操插一插| 国产美女无遮挡裸体毛片A片| 久久五月网| 五月婷婷激情网| 婷婷亚州综合| 牛牛碰免费| 色香蕉精品五夜婷| 五月婷婷色男女| 欧美日韩99| 五月天激情综合在线| 国产激情AV| www.99精品在线| AVDV久久| 午夜丁香 婷婷| 日韩1区2区| 91九九精品| 五月丁香天堂网| 91女人18毛片水多国产| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 久久色这里只有精品| 六月婷综合| 日日操,夜夜撸| 牛牛澡牛牛爽| 五月丁香人人婷婷在线观看| 2018国产大陆天天弄| 丁香婷婷丁香五月欧美人| 久久五月视频| XXXX岛国| 精品人妻伦九区久久AAA片| 色色99色色| 久久精品99国产精品日本| 亚洲精品乱码久久久久久综合| 色色无码| 免费日韩99| 国产午夜伦鲁鲁| 亭亭五月天黑人2014| 天天色五月婷婷91久久久久久久| 99无吗|