99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
www.五月天婷婷| 亚洲旡码| 日韩色色色色色| 国产AV一区二区三区日韩| 五月丁香网视频| www,99热在线观看| 色色五月婷婷| 国产免费AV网站| 五月婷婷激情色情网| 欧美乱码国产一级A片| 99热一区| 丁香五月欧美激情| 开心五月婷婷激情网| 香蕉AV777XXX色综合一区| jiZZdr| 99开心五月五月丁香激情| 婷婷香蕉视频| 91五月花丁香| 激情5月婷婷| 亚洲综合色色| 2020日日干| 婷婷五月天AV网| 91碰碰碰| 亚洲激情av| 久久久久人妻精品| 激情五月六月婷婷| 激情婷婷啪啪| 久久99热只有精品| 久久精品日| 丁香五月天啪啪| 欧美日韩123| 人色五月天婷婷| 99九九中文字幕视频| 伊人综合网站| 婷婷不干网| 天天干天天爽| 99ri在线视频| 噼里啪啦完整版中文在线观看| 婷婷月综合| 色五月丁香伊人五月| 青青操avbb| 久久久久久久97| 91 九色 熟女| 婷婷五月色情| 久草大| 五月婷婷成人| 天天色天天操天天射| 激情久久天天| 天天综合.com| 热久久91| 日韩啪图| 99久久婷婷精品视频| 夜夜骑福利资源| 婷婷亚洲激情在线观看视频| 性色播| 丁香六月激情| 久思思热视频在线观看| 五月丁香六月婷婷在线小说视频| 色啪影院| 去干网av| 97在线精品视频| 久久99久久久| 色丁香久久| 去色色五月天| 久久五月婷综合网| 91/九色黑人| av婷婷丁香| 婷婷五月天色| 777精品久无码人妻蜜桃| 日韩性视频| 日本123区日韩欧美不卡在线看| 精品一区二区三区四区五区六区介绍| 99热无码首页| WWW.天天日| 婷婷六久久| 九九丁香社区欧美激情| 91人人爽人人操| 亚洲无AV在线中文字幕| 99re在线免费视频| 婷婷五月激情欧美| 免费99情趣网视频| 婷婷五月丁香久久| 夜夜资源站| 五月丁香啪啪啪免费看| 婷婷五月天在线综合| site:jszngf.com| 亚州操操| www.91色| 五月久久噜噜| 99视频超级精品| 26uuu色噜噜精品一区| 色在线五月天免费| 伦99热| 天天噜天天插| 99热这里只有精品最新网址| 婷婷五月天Av| 久热免费| 色婷婷成人做爰A片免费看网站 | 夜夜爽天天干| 97人人超| 综合 蜜月 婷婷| 最近中文字幕2019视频1| 99无码视频| 情欲禁地| 亚洲99综合| www色婷婷久久综合久色| 日日操夜夜操中国无码| 丁香六月婷婷缴情欧美| 国色天香成人网| 欧美交换配乱吟粗大25P| 激情综合网五月婷婷| 黄色国久久| 39视频第二区| 狠狠色丁婷婷日日,伊人激情综合网| 国产在线另类五月婷婷| 亚洲综合成人网| 午夜一区| 99综合成人视频在线观看| 综合色影| 久狠日av| 91chinese 在线| 超级碰碰碰碰视频| 开心五月激情站| 91人人爽久久涩噜噜噜| 国产激情AV| 99热这里有精品| 欧美影院| 青青久久五月| 国产五月丁香在线| 日本婷婷色日| 婷婷激情小说| 碰碰碰97免费精彩视频| 五月丁香狠狠爱婷婷综合| 久久久这里有精品| 91人妻人人操| 超碰在线观看9| 色婷婷五月天天天做| 国产婷婷综合| 激情婷婷丁香色五月| 9久久精品| 就爱射中文字幕资源网| 思思热精品在线视频| 色吊操色妞| 久久五月视频| 狠狠色五月激情| 丁香五月婷综合网| 久久人人添人人爽添人人片αV | 成人超碰网| 9l视频自拍九色9l视频自拍九色9l社区 | 日日爽夜夜爽| 九九综合图片网| 婷婷月综合| 亚洲国产精品综合色区| 久久精品一区二区三区四区| 色综合色欲综合天天免费| 色婷婷五月天激情综合| 9l视频自拍9l九色成人| 丁香五月天激情婷婷丁香六月 | 五月婷婷色情| 色色婷婷五月天| 97精品在线| www激情五月天| 婷婷不干网| 青青操绿aaa一区日v| 91日韩在线| 亚洲国产成人AV在线| 五月香蕉婷婷| 国产真实乱了老女人视频| 97在线精品| 91综合色| 六月婷婷av| 丁香激情五月天| 色五月视频无码播放| 久热黄色| 99九色视频在线观看| 丁香五月天啪啪a日本| 色色婷婷五月| 日韩五月婷婷| 日本综合九九| 五月综合激情视频在线| 欧美久久网| 丁香久久久| 香蕉伊人综合| 五月激情六月宗合| 99热在线免费观看精品| 激情五月综合| 激情丁香社区| 99只有精品| 日日夜夜狠狠婷婷色| www五月| 婷婷丁香五月天婷婷| 色啪影院| 99人这里只有精品| 91免费试看| 色情五月停停丁香| 五月丁香福利| 国产SUV精品一区二区883| 操逼123网| 亚洲色爱综合| 五月丁香人妻| 五月丁香成人| 久久婷五月综合色| 一级韩国产精品毛| 99热国内精品| 夜夜操夜夜爽| 激情婷婷。| 久久丁香五月天| 9精品视频在线观看| 综合久久9| 色五月天影视| 丁香五月婷婷av影院| 丁香五月激情综合啪啪| 天堂色婷婷| 五月丁香| 五月 婷婷 成人| 五月天婷婷久草丁香| 超碰色色综合| 四色女婷婷| 一级韩国产精品毛| 九九色色| 秋霞免费三级片| 国产午夜成人免费看片无遮挡| 久久丁香久久| AV在线资源| 久热免费视频| 狠狠色婷婷7777久| xfplayav在线| 五月丁香六月婷婷久久| 五月丁香亚洲婷婷| 色噜噜狠狠色综| 国产成人综合亚洲| 黄网在线播放| 色色色图| 久久这里面只有精品视频| 色婷婷亚洲综合网站| 操日视频| 激情五月婷在线精品| 香蕉网久久| 婷婷五月天成人| 丁香五月色欲| 色丁香久久| 思思热久久婷婷五月天| 亭亭五月丁香综合欧美| Www99热| 99熟女视频| 五月噜噜| 日韩高清成人| 人操人| 婷婷色五月丁香六月欧美啪| 五月婷婷干| wuyuedingxiang| 97福利视频| 丁香六月婷婷综合啪啪| 97婷婷丁香五月| 国产97色在线 | 日韩| 色婷婷五月在线| 久 久9 9 热 视 频| 日韩色色网| 久久精品噜噜噜成人A∨色欲| 婷婷在线播放| 五月天综合久久| 可以看的AV网站| 综合色天天| 激情综合网五月丁香| 久久婷婷五月综合网| 久久综合五月| 五月丁香久久| 日本婷婷| 天天插天天插天天插天天插| 色偷偷狠狠| 天天搽天天射| 五月网激情| 夜夜躁婷婷AV| 噜噜色五月| 一本久久婷婷| 婷婷丁香18| 婷婷伊人綜合中文字幕小说| 色色射| 久99久99精品免| 五月丁香网中文字幕| 五月色情婷婷| 五月婷视频在线观看| 玖色色综合| 自拍偷窥99热| 国产亚洲av片| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 精品亚洲国产成AV人片传媒| 九九热短视频在线观看| 色婷五月丁香久亚洲| www.婷婷六月天| www.99久久久久99| 五月天婷婷久草丁香| 日韩青青| 日本在线观看aaa 99| 免费看欧美成人A片无码| 9久久精品| 色五月五月天色婷婷色五月| 天天色天天| 五月婷婷激情视频| 婷婷丁香五月亚洲| 婷婷丁香五月天中文字幕| 五月熟妇婷婷久久| 五月丁香亭亭天天舔| 五月色天五月色| 日韩成人AV在线| 丁香五月91| 99久热在线精品| 91人人操人人| 久久老码第一| 日本成人噜噜| 99热日| 日本欧美国产| 亚洲综合视频网| 亚洲综合99| 六月色婷婷| 天天视频亚洲| 久99在线视频| 99热激情| 天天操天天干天天射| 日本黄色三级片内射| www.色五月| 97操碰98| 91丁香五月| 五月丁香另类图片| 天天插夜夜爽| 天天色噜| 噜噜噜狠狠色综| 婷婷香五月天| www.99精品日操伊人乱碰在线| 五月丁香在线| 激情啪啪五月天| 国产avapp 网| 2020久久婷婷五月| 五月丁香六月情| 日本超碰在线| 久久A极片| 亚洲视频在线网| 欧美啪啪网| 精品国产a| 婷婷色情五月| 丁香五月婷婷婷婷欧美综合| 激情五月婷婷中文字幕| 成人婷婷| 超碰人人草| 秋霞九九无码| 丁香婷婷人妻| 五月在线| 蜜臀AV在线观看| 激情涩涩网| 狠狠色狠狠爱| 综合激情开心五月| 丁香五月欧美| 国产毛片精品一区二区色欲黄A片| 亚洲人成网站999综合| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷综合精品| 婷婷丁香五月基地| 色综合久久888| 五月熟妇婷婷久久| 色欲日日躁| 5月婷婷6月六月丁香| 99自拍视频在线观看| 欧美色综合天天久久综合精品| 香港九九六区八区99| 欧洲亚洲免费视频9 | 丁香五月色| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 久久免费试看120秒| 日韩免费乱轮网站| 色婷婷在线视频| 婷婷丁香人妻天天爽| 1级欧美日韩| 色婷婷网| 欧美色色色色色色| 久久99草五月婷婷| 天天综合图片| 99热综合网| 国产免费性爱| 日韩av在线电影| 伊人五月天婷婷| 91九色欧美| 99色爱| 99热在线中文字幕| 综合噜噜| 亚洲精品第一国产综合亚AV | 婷婷伊人综合中文字幕| 色色色色网| 亚洲激情综合| 亚洲另类毛片| 五月婷婷激情四月| 国产成人综合亚洲| 婷婷六月丁香色| 婷婷综合五月天| 日韩无码性爱| 天天草比天天爽| www婷婷色| jiujiu无码五区| 五月天激情小说| 婷婷五月综合久久中文字幕| 五月婷婷亚洲色图| 欧美成人色婷婷| 天天干人人奸97| 五月丁香久久久日婷婷久久婷婷日| 色五月天堂| 国产AV不卡福利| 色99网站| 久久图色4| 99视频在线精品免费观看2| 9色91视频| 伍月婷丁香婷| 超碰九色| 久月丁香爱婷婷综合| 亚洲精品午夜国产va久久成人| 99日本视频在线观看专区| 无码G高清天| 日韩操人| 色国产五月| 五月婷婷久久综合| 综合久久婷婷| 九九黄色网| 丁香五月天欧洲在线| 91色噜噜狠狠狠狠色综合| 天天操天天干天天射| 免费国产视频| 怡红院视频| 香蕉曰比| 婷婷五月天久久久| 婷婷色五月开心五月| 久久久性爱视频| 色婷婷伊人| 99热9| 五月色婷婷亚洲 | 五月天狠狠网| 色噜噜综合网| 天天射影院| 六月婷婷亚洲| 激情 久久 婷婷| 亚洲色五月| 丁香五月婷婷狠狠色| 久久婷五月| 婷婷色色五月天| 久久久999精品| 大香蕉婷婷五月天| 狼人婷婷综合| 婷婷五月AV| 97AV人人插人人操| 精品国产乱码久久久久久免费| 五月激情婷婷六月丁香| 他改变了拜占庭| 我淫我色婷婷五月天激情四射| 五月天黄色激情小说| 97婷婷丁香五月天激情图片| 丁香五月婷婷五月| 日日爽日日爽| 天天搞夜夜爽夜夜爽| 国产精品天天狠天天看| 亚洲人成色A777777在线观看| 丁香婷婷网| 国产午夜伦鲁鲁| 99乱视频| 丁香 婷婷五月| 色综合久久88色综合天天| 五月婷婷中文字幕| 天天天天天天天操| 五月婷在线观看| 91 九色大美女| 色婷婷日本| 婷婷丁香视频在线观看免费| 停停六月 综合| www.国产色| 特级片神马电影| 五月婷在线影院| 51精品国自产在线| 色色色色五月天| 久久婷婷亚洲五月天| 99riAv1国产在线观看| 国产午夜成人AV在线播放| 五月婷婷综合丁香视频| 天天天添天天操| 999婷婷综合| 国产一级黄色影片,| 色婷婷电影| 久久视频这里99| 人人草成人视频| 99热 在线播放| 中文字幕日产A片在线看| 丁香五月av| 襙比视频| 久久精品爱爱| 99九九热在线观看| 五月婷婷国产| 久久5 9视频免费观看| 久久大香蕉| 五月天婷婷在线观看| 丁香五月综合激情久久潮喷| 九热精品| 五月天激情网址| 五月四色激情| 成人精品视频99在线观看免费| 婷婷五月AV| 玖玖资源在线视频| 激情网婷婷婷| 大香蕉伊人99| 大香蕉人妻| 婷婷爱五月| 日本色99网站| 青青草免费公开视频| 97视频91| 超碰资源在线| 播五月开心婷婷欧美综合| 五月天色婷婷基地| 丁香六月成人网| 丁香六月婷婷综合色| 人人操人人操919999| 999九九九久久久99HD| 日韩人妻白浆视频系列| 最近中文字幕2019视频1| 亚洲精品大片| 99色色网| 亚洲综合五月天婷婷| 伊久久婷婷| AVDV久久| 深爱激情综合| 大香蕉欧美在线| 婷婷五月天播播| 91精品久久久久久综合五月天| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 国产婷婷色综合AV蜜臀AV| 婷婷五月色丁香在线看| 六月婷婷毛片| 婷婷五月丁香青青草在线| 亚洲亚洲人成综合网络| 色狠狠色噜噜AV天堂五区 | www.五月天| 夜夜谢天天干| 欧美啪啪9| 一级二级色大片| 丁香五月天亚洲视频| 五月天天天天天天天天天天天天天天天婷婷婷| 狠狠干婷婷| 性色天| 婷婷国产成人| 91ncom.色| 人妻人人操| 天天天天天天操| 丁香六月综合激情| 国产免费性爱| 91日本在线免费| 9久热在线精品| 美国不卡视频| 91vip在线观看| 嫩草AV久久伊人妇女超级A| 开心六月丁香五月婷婷| 综合久久五月| 538在线精品| 五月婷婷五月天| 99九无网码| 91九色国产| 色色综合网站| 亚洲99热| 久久婷婷国产| 思思99热在线| www.99成人视频| 婷婷丁香五月网| 91Chinese在线| 婷婷在线视频| 99热www| 免费观看亚洲AV片| 五月丁香少妇A| 综合激情深爱| 91精品在线看| 丁香五月天操B| 9 9 9色色| www色婷婷| 五月丁香天天| 婷婷激情图片| 狠狠狠狠狠| 美女爆乳18禁www久久久久久| 五月丁香婷婷综合视频| 日日噜噜久久婷婷五月天 | 亚洲第一成人无码A片| 91日韩在线| 国产精品a无线| 熟女少妇内射日韩亚洲| www.无码com| 婷婷丁香69精华| 人妻尝试久久久久久久久久久久| 操九色| 色色99| 成人网丁香五月| 99'无码| 天天摸天天做天天爱天天爽| 亚洲精品亚洲人成人网| 久久婷婷丁香五月宗合| 天天噜天天爱| 九九热啪啪| 中文字幕无码人妻少妇免费视频| AV动漫不卡无码免费| 天天日天天摸天天| 色色激情网| 丁香六月丁香婷婷激情| www.99热| AVDV久久| 99综合五月免费视频色婷婷| 成人看片网站| 日本五月天网站| 天天色情站| 九艹在线| 婷婷播5月| 久久久天堂国产精品女人| 激情五月份婷婷| 久久久久久久综合狠狠综合| 精品五月视频婷婷在线观看| 色婷婷丁香五月在线观看| 丁香无五月网| 99啪| 中文字幕五月久久婷婷| 五月丁香久久丝袜啪啪| 欧美色婷婷| 91ncom.色| 99爱视频在线| 婷婷五月天淫荡| site:901-07.com| 91肏| 久久九九精彩| 久久这里有| 亚洲乱码日产精品BD| 九九热视频精品2| 五月天丁香综合久久国产| 五月婷婷先锋| 色婷婷丁香五月天| 97干网站| 精品人妻在线| 婷婷情爱五月天6| 伊人婷婷大香蕉在线| 婷婷五月丁香影院| 深爱婷婷网| 在线婷婷| 91狠狠综合久久| 欧美超级视频97| 婷婷噜噜| 欧美碰碰碰| 99热日韩| 九九伦子片| 亚洲色欲AAAAAA| 少妇人妻丰满做爰XXX| 五月花综合网| 在线不卡视频| 噜噜综合网| 亚洲激情av| 99色在线观看免费| 丁香五月电影| 天干天天干天天天天天| 天堂无码人妻精品AV一区| 午夜色色色极品视频| A久久| 婷婷丁香视频在线观看免费| 国产成人+综合亚洲+天堂| 激情综合五月激情XXXX| 九九色色| 夜夜夜叫天天天做| 婷婷狠狠干| 久久欧洲综合网| 青青久久五月天丁香婷婷| 思思久久99热只有频精品66| 91日综合欧美| 精品99视频| 婷婷欧美综合| 五月天婷婷综合网| 最新精品视频99| 这里只有精品96| 五月开行婷婷色五月| 日韩欧美性爱| 日韩另类在线观看| 91chinese在线| 在线99热| 国产色五月| 大香蕉七区| 大香蕉99| 激情综合青草| 婷婷5月久久综合网站| 激情五月四色| 久久伦乱| 九月色婷婷| 天天做综合网色综合| 久久aaaaa| 五月丁香婷婷中文| 丁六月激情| 日本高清不卡免费一区二区三区| 久久丝袜婷婷| 六月丁香成人| 日本一区二区三区精品视频| 91久久久久久久久| 亚洲 在线 性爱 | 男男野外做爰全过程69| 丁香五月婷久久| 久久九九玖玖| 99精品偷自拍| 91九色中文| 六月五月丁香五月欧美| 超级久久久| 久操大香蕉| 激情都市五月天| 99人人操人人爱久久久| 国产成人精品亚洲线观看| 日韩视频99| 久碰视频| 欧美成综合在线观看| 激情综合99| 六月色狠狠色| 97热这里精品在线视频| 91九九九九| 五月婷婷天堂| 思思久久青草热| 五月天激情久久| 91|疯狂丨高潮丨对白| 久久五月丁香| 九九视频精品在线免费| AV在线免费播放| j五月香在线| 五月婷色色| 九九精品视频在线观看| 少妇丁香婷婷 | 色你久久| 丁香五月婷婷手机| WWW丁香五月| 丁香五月天狠狠操| 日本eVa一区=区视频| 99热最新| 五月丁香六月婷婷网| 99超在线| 大香蕉久艹| 香蕉五月婷婷| 亚洲国产精品VA在线看黑人| 色色射| 日本天天色| 亚洲十月婷婷综合| 99色综合网| 99热99极品观看| 色五月色情| 国产一级视频a| 九九在线精点品| 激情久久丁香| 色婷婷成人五月| 99热大片| 噜噜噜噜噜日本视频| 97婷婷色| 欧美日本国产欧美日本韩国99| 五月婷婷久久爱| 香蕉AV777XXX色综合一区| 99热这里只| 久草视频一,二三四| 婷婷色五月在线视频| 激情宗合网激情五月天| 激情五月综合免费| 综合五月天亚洲婷婷| 99久re热视频精品98| 丁香五月婷婷激情尤物| 天综合日日夜综合7799| 一级内射毛片| 99热超碰人| 日韩黄在免| 大战熟女丰满人妻AV| 色色激情| 丁香五月性| 天天干电影| 丁香五月电影| 99色婷婷| 五月丁香狠狠爱| 色欲久久综合| 久久99久久久久久| 狠狠色婷婷| 久久99婷婷| 99啪啪视频| 精品激情| 很很干天天干| 五月天丁香| 99碰碰| 在线另类| 无码少妇高潮喷水A片免费| 日本一级一级一级一级| 免费黄色视频网址| 五月婷婷激情| 九九视频在线观看视频6| 人妻体体内射精一区二区| 午夜天堂一区人妻| 亚洲视频在线观看| 五月丁小婷婷激情四射| 丁香婷婷五月天成人| 激情综合色| 五六月婷婷久久| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 7EzOBIhNq85TO| 免费黄网不卡AV| 婷婷五月天淫荡| 色婷婷四虎| 99在线热视频| 大香蕉婷婷五月天| 人人干天天舔| 六月丁香五月激情网| 欧美激情综合色丁香婷婷五月天| 色婷婷五月在线| 五月天婷婷免费| 五月天播播| 中文中文在线| 亚洲成人AV一区在线观看| 影音先锋天天日| 在线视频你懂得| 久色视频首页| 狠狠色噜噜色狠狠狠综合久久成人波 | 婷婷五月无码| 五月丁香成人| 六月激情网| 中文字幕操比影片| 97碰碰在线观看视频| 丁香婷婷六月激情文学 | 99爱视频在线观看这里只有精品| www.91九色| www.com操| 色五月天电影| 狠狠色噜噜狠狠狠狠综合| 大战熟女丰满人妻AV| 伊人大香蕉综合在线| 五月婷婷五月天| 管管補管管紱| 天天操婷婷| 亭亭五月丁香五月天激情| 国精产品一区一区三区免费视频| 日韩婷久| 色色网站免费在线视频| 这里只有精彩亚洲视频推荐| 亚洲六月色婷婷| 国产精品人人做人人爽人人添| 综合网网欲色| 激情综合自拍五月婷婷色五月| 伊人深爱综合| 激情丁香社区| 天天综合网~91| 九九九热精品| 婷婷综合色五月天| 天天色天天操天天射| 97超喷视频在线观看| 丁香九月婷婷| 99免费视频网| 亚洲综合婷婷| 加勒比久热| 99热这只有| 99九九视频| 日本三级成人秘书精品片| 色婷婷888| aaa日韩| 丁香五月成人社区| 丁香五月婷婷婷桃花影院| 天天综合色丁香| 久久综合人妻| 熟女人妻视频| 久操婷婷| 日本99色| 97碰精品| 99精品视频在线6| 超碰资源在线| 久久38视频| 91操色| 91九色精品女同系列| 久久五月天精品视频| 欧美成人无码高清一区二区三区| 大婷婷色呦呦噜噜色呦呦噜噜| 精品国产乱码久久久久夜深人妻| 色色免费网站| 天天摸天天透天天舔| 日日躁夜夜躁狠狠久久AV | 久久综合丁香| 人人97操| 色色色色色色色色色999| 第五色婷婷| 六月婷婷综合激情| 色色性爱视频| 亚洲AV日韩在线观看| 99热欧| 综合激情站| 日韩AV在线免费观看| 色婷婷视频综合| 欧美丰满熟妇BBB久久久| 99热9| 色婷婷中文在线| 综合在线色婷婷| 人人摸人人操人人爱| 人人干天天舔| 很很干天天干| 超碰chaompinm| 七七色色综合| 中文久久婷婷| 免费在线观看欧美激情xx小视频| 内射 无码 伊人| 天天综合天天玩夜夜玩天天玩夜夜玩 | 超碰97人人操| 午夜九九九九九九九九九九九九九| 51精品国内探花| 99er视频在线| 中文字幕丰满乱孑伦无码专区| 亚洲天堂AAA| 最新高清无码专区| 热无码A∨| 99热久久这里只有精品| 男人天堂伊人五月丁香| www色色色com| site:jszngf.com| 亚洲激情AV| 久月丁香爱婷婷综合| 色色婷| 婷婷久久免费看| 国产亚洲在线观看| 五月天播播综合| 成人无码髙潮喷水A片| 一區四區歐美日韓| 日本三级成人秘书精品片| 中出内射的人妻视频| 婷婷丁香六月天| 婷婷激情五月色综合| 91亚洲视频| 五月婷婷69| 99热天堂| 五月丁香香蕉| 亚洲激情淫网| 精品香蕉99久久久久网站 | 99原创自拍视频在线观看| 亚洲色vA| www.玖玖婷婷在线| 99久久精品国产色欲| 91婷婷在线| 婷婷久久久| 狠狠干激情五月| 婷婷五月综合基地| 99精品无码| 色啪综合| .精品久久久麻豆国产精品| 青青草婷婷综合五月| 岛囯综合激情网| 色色a| 久婷| 中文字幕乱码亚洲精品一区| 五月天激情子轮| 性爱五月婷婷| 日本三级黄色大片| 婷婷六月丁香激情综合| 激情五月婷婷丁香综合网| 伊人玖玖婷婷| 九九视频免费| 六月色丁香婷婷| 激情第四色| 色很很96| 偷拍九九热| 猫咪伊人久久| 小视频aaa久久久| 久久99草五月婷婷| 台湾无码A片一区二区| 激情另类综合| 97自拍视频网| 国产成人99久久亚洲综合精品| 综合色天天| 婷婷中文字幕在线| 五月婷婷在线免费观看| 99热在线观看这里只有精品| 一本色道久久88加勒比—| 婷婷色中文字幕| 99视频在线精品免费观看2| 亚洲综合色色| 国产精女同一区二区三区久 | 日本色99| 三年高清大片免费观看国语| 综合色色婷婷| 69五月天视频| 婷婷五月色影视先锋| 亚洲国产精品VA在线看黑人| 天天干天天拍| 天天色,天天操,天天射| 97丁香五月| 久久综合九色综合97婷婷| 日本99在线视频| www.五月婷婷久久.com| 亚洲综合在线播放| 淫五月停停| AV九九| 午夜丁香五月天综合| 开心六月婷| 成人资源在线| 中国女人做爰A片| 五月丁香久| 色性日本| 久久天天天| 伊人玖玖婷婷| 亚洲春色奇米影视| 日本久久精品| 日日日天天干| 婷婷色色综合激情| 国产av基地| 日比视频91| 国产精品大香蕉| 狠狠爱婷婷| 亚洲激情网站| 国产99精品免费视频| 人人干99| 五月色丁香婷婷综合| AA丁香综合激情| 色色色婷婷| 亚洲亚洲亚洲AAAAAA| 天天干夜夜操A片| 久久精品99久久| 91久久精品视频| 五月丁香本色在线观看| 亚洲综合五月天婷婷丁香| 在线观看免费狠狠色丁香香综合| 五月婷婷九月婷婷九月婷婷| 五月天婷婷午夜丁香| 91操片| 超碰精品国产首页| 国产在线网址1| 亚洲精品久久久无码| 色色性爱视频| 激情床戏| 五月婷婷啪啪| 激情婷婷色五月| 丁香综合伊人AV| 五月丁香五月丁香| 天天色天天搡| 99ri在线视频| √天堂资源在线人妻熟女| 九九激情视频| 日本9区视频| 精品国婬伦V无码久久久| 日韩在线观看网址| 99精品偷自拍| 欧美成人精品A片免费一区99| 激情伊人五月天| 无码人妻电影| 琪琪色五月天| 色综合久久中文| 99性爱视频| 色偷偷五月天| 天天爽天天爽| 天天拍天天操| 99色视频| 麻豆雪千夏| 97色热| 日韩综合久久| 婷婷五月天奸女| 综合视频久久| 五月丁香六月香香蕉| 97精品欧美91久久久久久久| 超碰色综合| 日本久久婷| 人人爱操| 女人天堂AV| 天天操综合网| 久久小说| 色五月,com| 日本天堂网站99| 操比激情五月| 亚洲激情五月| 色情开心五月| 五月婷婷综合久久| 五月丁香婷婷色色| 快乐激情五月色婷婷| 丁香五月精品视频| 日本在线视频手机播放五月婷| 五月婷高清视频| 99热这里只有精品23| 五月丁香另类网| 色婷婷五月天激情在线观看| 丁香五月六月婷婷综合| 色五月成人| 91精品久久久久久77777| 欧美性猛交AAAA片黑人 | 99视频| 色婷婷四虎| 大香线蕉伊人| 色久婷婷五月| 日韩激情人伦人| 婷婷五月天激情网站| 色五月婷婷综合在线| 色婷婷av在线观看| 99噜噜噜在线播放| 丁香五月-激情综合| 亚洲四色五月| 九九精品自拍| 99热国内| 激情五月天激情综合网| 五月婷婷丁香| 激情五月天视频| 色综合99无码 | 激情图片99| 午夜丁香丁香婷婷| 久久久区区一久久久久久| 婷婷色正月| 99自拍视频在线观看| 丁香婷婷综合激情五月色| 日本玖玖在线| 婷婷丁香激情综合色情| 国产Va视频| 五月花免费视频| 天天狠狠夜夜狠狠2023| 色色欧美色色色| 久久久久久99精品无码| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 涩五月婷婷| 亚洲激情综合五月婷婷啪啪| 色婷婷a| 韩国真做片在线观看| 综合九九日本| 亚洲色色色色色色色色色| 六月婷婷亚洲| 九九婷婷综合| 天海翼中文字幕高| 无码髙清| 五月天全国最大成人网| 婷婷成人AV| 国产精品久久久久久久久久久久| 91久草五月天婷婷| 日日噜狠狠色综| 激情五月丁香五月| 亚洲精品成人| 激情骚五月| 天天噜天天爱| 色五月婷婷大香蕉| 亚洲春色奇米影视| 久久综合综合久久| 婷婷在线免费| 99精品综合视频| 激情五月天婷婷色色色色色色色色色色色 | 99在线观看这里都是精品| 色色热| 狠狠插.com| 97色婷婷| 日本成人噜噜噜| 国产亚洲精品久久久久苍井松| 久久婷婷内射| 婷婷五月天成人综合网| 五月婷婷之综合激情| 99视频在线观看视频| 桃色激情婷婷伊人网| 久久人人九九| 久热在线观看视频9| 婷婷六月丁香久| 日韩精品999| 婷婷久久女人| 亚洲色婷婷网站| 免费黄色片子| 影音先锋91资源站| 婷婷五月开心中文字幕在线| 久久久天堂国产精品女人| 99视频在线精品免费观看2| av在线资源| 久久五月天激情婷婷| 五月花激情| 思思热再线视频| 五月激情婷婷丁香| 亚洲无码黄色| 五月天激情社区| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 婷婷丁香六月天| 丁香五月婷婷姐| 日比网免费国产| 丁香五月六月婷婷殴美综合| 人人搡人人| 4399成人黄A片| 丁香五月婷婷动漫视频| 欧美叉叉叉BBB网站| 人妻精品久久久久久| 热99久| 婷婷五月天激情文学| 色婷婷六月激情| 97操资源婷婷| 久人操| 人人干人人干骚美女| 亚洲精品久久久久久久久久飞鱼 | 超碰国产一区| 91日视频| 婷婷激情丁香五月天综合| 中文字幕网伦射乱中文| 五月天婷婷影院影院观看| 五月天伊人综合| 99碰碰| 日日操日日爽| 91久久色| 日本综合久久| 一级操逼内射在线视频| 色色五月婷婷久久| 色色色色综合网| 丁香五月激情图片| 国产免费一区二区三区三州老师F1F1.CC| 996er热| 思思热国产在线| 性生活视频98791| 五月天激情国产综合婷婷婷| 色五月亚洲开心网| 激情文学第四色婷婷丁香五月| 五月婷婷丁香| 五月情色天| 婷婷五月天成人在线视频| 综合久久十三| 丁香色成人| 日韩无码人妻一区二区三区综合| 九九超日本| 综合色播| 婷婷五月天伊人网| 26uuu视频欧美| 中文字幕av网站| 99热这里全都是精品| 涩五月色婷婷| 亚洲精品网站色视频| 99热黄| 色综合五月天| 日韩1区2区| 色五月之第四色| 色婷婷AⅤ| 亚洲精品V天堂中文字幕| 五月丁香激情综合啪啪| 桔色成人官方网站| 五月丁香久人妻中文| 色色色九九九五月婷婷| 91成人品| 久久99热久久99精品| 再綫Av免费視品| 六月激情婷婷综合| 91九九九九| 97色干| 欧美成人性爱网| 久久老码第一| 激情图片99| 国产精产国品一二三在观看| h亚洲| 操逼棍操逼| 视频这里只有精品| 六月丁香婷婷色狠狠久久| 四川BBB搡BBB爽爽视频| 丁香六月激情综合| 26uuu亚洲| 九九爱这里只有精品| 狠狠色色综合| 67194线路二在线观看| 久久婷婷视频| 欧美色色色色色色| 婷婷五月激情在线| 97丁香花五月天激情小说| 丁香色成人| 丁香婷婷久久综合在线| 丰满少妇猛烈A片免费看观看 | 玖玖五月| 激情五月色在线播放| 五月丁香天天| 99色激| 熟女网站久久| 操操熟女| 久久大大香| 激情综合五| 99久在线精品99re8| 天天综合网站| 婷婷五月六月激情| 五月天播播综合| 久久这里精彩免费在线观看| 91丨九色|PRNY熟妇| 热99.com婷婷| 伊人丁香在线| 成人无码精品1区2区3区免费看 | 色 五月婷婷基地| 激情五月激情综合网一级丸片|