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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT使用openGL绘制一个三角形

發(fā)布時(shí)間:2024/3/12 c/c++ 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT使用openGL绘制一个三角形 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)于opengl的學(xué)習(xí)來說,繪制一個(gè)三角形是學(xué)習(xí)一種計(jì)算機(jī)語言時(shí)的一個(gè)hello world級(jí)的入門程序,個(gè)人覺得相比主流語言的helloworld,openGL的入門確實(shí)是有一些勸退,雖然說有不錯(cuò)的教程,但簡明與全面不可兼得,很容易面對(duì)教程中一大堆概念和術(shù)語而摸不到頭腦,本文試圖用“相對(duì)”簡單和直觀的方式讓人成功的繪制出第一個(gè)三角形。對(duì)于使用QT的同學(xué),可以直接從文末的鏈接下載完整代碼,自己修改其中的參數(shù)觀察變化,這樣理解起來更快。希望能讓使用QT并且想學(xué)習(xí)openGL的人踏出第一步,而不是被畫一個(gè)三角形拒之門外。

文章目錄

    • 前言
    • 環(huán)境
    • 論繪制一個(gè)三角形都需要什么
        • 比較重要的組成部分
          • 各部分關(guān)系圖
          • 一種可行的繪制流程
    • 編寫代碼
      • 關(guān)于QT使用openGL
      • 按步驟來
        • 創(chuàng)建openGL程序
        • 編寫頂點(diǎn)著色器程序和片段著色器并添加到openGL程序中去
        • 創(chuàng)建并綁定VAO
        • 創(chuàng)建并綁定VBO
        • 將數(shù)據(jù)存入VBO
        • 告訴openGL該如何分配和使用數(shù)據(jù)
        • 繪制
      • 完整的MyWidget.cpp代碼
      • 繪制最終效果
    • 完整項(xiàng)目代碼

前言

本人也是初學(xué)openGL,而且代碼部分會(huì)出現(xiàn)QT封裝類和openGL原生函數(shù)混用的情況(QT的一些封裝對(duì)比原生確實(shí)方便一些,但是缺點(diǎn)是文檔不夠親民,示例代碼少,有時(shí)會(huì)不知該如何使用),對(duì)于并不使用QT的同學(xué)來說,可以僅參考各部分組成關(guān)系繪制流程,我覺得應(yīng)該還是有助于初期對(duì)openGL的理解的。

隔了一段時(shí)間回頭來修改了一下這篇文章,想讓他更加詳細(xì)親民。不過仔細(xì)想了想,感覺學(xué)習(xí)openGL最好的入門方法就是找一個(gè)在你的環(huán)境下可以編譯運(yùn)行的繪制三角形或正方形的openGL代碼,結(jié)合著各種教程,修改其中參數(shù),觀察變化來理解其中的意義。
雖然只是繪制一個(gè)三角形,但是需要相對(duì)較多的準(zhǔn)備知識(shí),而且直到最后你能將這些知識(shí)組合起來并正確組織代碼之前,你無法得到任何的反饋,因?yàn)檫@個(gè)過程幾乎已經(jīng)沒法再分解了,你沒辦法先畫出一個(gè)點(diǎn),再畫出一條線,進(jìn)而畫出一個(gè)三角形,因?yàn)閛penGL的繪制過程并不是這種邏輯,如果你只是對(duì)著文字教程一點(diǎn)一點(diǎn)編寫代碼,可能很久都沒法得到正確的結(jié)果,也不知道是哪里出錯(cuò)了,如此既會(huì)浪費(fèi)時(shí)間,又會(huì)有挫敗感。所以如果你對(duì)這個(gè)入門感到頭痛,那么就先去找一份適合自己的可用代碼吧。

本文不會(huì)介紹的很全面,只是希望能夠通過此文讓同學(xué)們跨過opengl的門檻,更加輕松的去理解和學(xué)習(xí)其他人的教程,這里也給出兩個(gè)教程鏈接:

一個(gè)比較全面系統(tǒng)的教程: LearnOpenGL CN

和我一樣使用QT的同學(xué)在學(xué)習(xí)上方教程時(shí)如果想知道QT做了哪些封裝以及如何使用相應(yīng)的類時(shí),可以參考這里:基于QT的openGL學(xué)習(xí),這一系列的主要問題是基本就是示例代碼,而沒有解釋。不過入了門之后直接看代碼可能反而比文字描述直觀,也是不錯(cuò)的參考。

環(huán)境

Windows7
QT 5.10.1 (MSVC2017_x64)

論繪制一個(gè)三角形都需要什么

對(duì)于openGL來說,繪制一個(gè)三角形需要我們通過計(jì)算機(jī)語言向其提供 頂點(diǎn)顏色 的信息。

比較重要的組成部分

關(guān)于頂點(diǎn)和顏色信息的存儲(chǔ):openGL使用簡稱為 VAO(Vertex Array Object,頂點(diǎn)數(shù)組對(duì)象) 的對(duì)象來存儲(chǔ)這些信息。
向VAO傳遞信息的過程中,我們會(huì)使用簡稱為 VBO(Vertex Buffer Object,頂點(diǎn)緩沖對(duì)象) 的對(duì)象。

對(duì)VAO中存儲(chǔ)的信息進(jìn)行處理:openGL使用一個(gè) 程序(program) 對(duì)象來決定使用VAO中信息的方式并進(jìn)行最終的繪制。程序包含所謂的 “著色器”(shader) ,你可以把著色器理解成是由openGL語言(基本獨(dú)立于你所使用的語言)編寫而成的程序

一個(gè)能夠繪制圖形的openGL程序至少包含頂點(diǎn)著色器(Vertex Shader)片段著色器(Fragment Shader),其中頂點(diǎn)著色器會(huì)決定繪制頂點(diǎn)的位置,而片段著色器用來決定這些位置的顏色

上述的組成部分如果按照一定的流程全部正確設(shè)置完畢,我們就可以繪制出我們的第一個(gè)三角形了。

各部分關(guān)系圖

一種可行的繪制流程

當(dāng)你熟悉了openGL的基礎(chǔ)知識(shí)之后,你會(huì)知道繪制流程的順序并不是固定的,只需滿足一些必要條件即可,但是現(xiàn)在知道這一點(diǎn)就可以了,然后暫且認(rèn)為流程就是如下固定的,否則容易頭暈。

編寫代碼

了解了上述知識(shí)后,現(xiàn)在要做的就是學(xué)習(xí)如何通過代碼實(shí)現(xiàn)上述的步驟來繪制了,到現(xiàn)在為止可以說第一步只邁出了小半,因?yàn)閛penGL并沒有特別符合直覺和方便使用的函數(shù)接口,像如下

#include <openGL> void main() {setVertex(xxxx);setColor(xxxx);paint(); }

這樣的使用方法并不存在,必須結(jié)合前述知識(shí)去學(xué)習(xí)openGL存儲(chǔ)和處理數(shù)據(jù)的方法。

關(guān)于QT使用openGL

編寫一個(gè)自定義類,繼承QOpenGLWidgetQOpenGLFunctions即可,我們的繪制便會(huì)在這個(gè)Widget內(nèi)進(jìn)行。
頭文件MyWidget.h示例如下:

#include <QOpenGLWidget> #include <QOpenGLFunctions> #include <QOpenGLVertexArrayObject> #include <QOpenGLShaderProgram> #include <QOpenGLBuffer>class MyWidget : public QOpenGLWidget,protected QOpenGLFunctions {Q_OBJECTpublic:MyWidget(QWidget* parent=0);~MyWidget();protected:void initializeGL() override;void paintGL() override;void resizeGL(int width, int height) override;private:QOpenGLShaderProgram* program;QOpenGLVertexArrayObject m_vao;QOpenGLBuffer m_vbo;int m_attr;int m_color;};

繼承后的類會(huì)包含initializeGL(),paintGL(),resizeGL()這三個(gè)需要重寫的函數(shù)。

顧名思義,initializeGL用來初始化各項(xiàng)openGL相關(guān)的部件,設(shè)置openGL程序,存儲(chǔ)數(shù)據(jù)等操作的代碼通常在此函數(shù)內(nèi)進(jìn)行編寫,而不是在類的構(gòu)造函數(shù)中。

paintGL用來編寫繪制相關(guān)操作的代碼。

resizeGL用來在Widget尺寸發(fā)生改變時(shí)修改設(shè)置以得到預(yù)期的效果。

注意在此三個(gè)函數(shù)之外的自定義函數(shù)中調(diào)用openGL的函數(shù)功能時(shí),通常需要先調(diào)用makeCurrent() 函數(shù)來獲得上下文(context)。

按步驟來

創(chuàng)建openGL程序

QT創(chuàng)建和綁定openGL程序比較簡單直觀

QOpenGLShaderProgram* program = new QOpenGLShaderProgram; program->bind();

但是這僅僅是創(chuàng)建了一個(gè)空的程序,如前述,想要繪制圖形,openGL程序中至少包含頂點(diǎn)著色器程序和片段著色器程序,于是我們接著往下來。

編寫頂點(diǎn)著色器程序和片段著色器并添加到openGL程序中去

著色器程序的名稱和后綴沒有固定要求,方便區(qū)分功能用途即可,你甚至可以直接在QT代碼中用字符串的形式編寫并傳入著色器程序,不過我覺得額外編寫文件好修改一些,這里便介紹從其他文件添加著色器程序的方法。

頂點(diǎn)著色器程序 triangle.vert:

#version 330 core layout (location = 0) in vec3 aPos; layout (location = 1) in vec3 aColor;out vec3 ourColor;void main() {ourColor = aColor;gl_Position =vec4(aPos, 1.0); }

第一行#version 330 core為openGL版本聲明,你可能會(huì)看到不含這一行的openGL程序代碼,變量的定義方法可能會(huì)與此不同

layout 和 location是什么現(xiàn)在可以不管,事實(shí)上沒有這兩個(gè)也沒關(guān)系。文章后面會(huì)有簡單解釋

in 代表此變量會(huì)由我們的程序傳入

vec3 代表3維向量的數(shù)據(jù)類型

aPos和aColor和ourColor是我們自己定義的變量名

out 代表此變量會(huì)由此著色器傳出給片段著色器 (其實(shí)著色器并不只有兩種,他們會(huì)按一定的順序?qū)?shù)據(jù)傳遞下去,由于我們只使用了兩種著色器程序,此處直接理解為傳給片段著色器即可) 供其使用。

gl_Position 是頂點(diǎn)著色器的內(nèi)建變量,是一個(gè)4維向量,前3維代表頂點(diǎn)的空間位置,第4維目前我們一律設(shè)置為1.0即可。后續(xù)我們將通過自己的程序,借助頂點(diǎn)著色器中定義的aPos變量將頂點(diǎn)的空間坐標(biāo)傳遞進(jìn)來。

openGL的繪圖空間為一個(gè)長寬高均為2的立方體:

只有在這個(gè)空間范圍內(nèi)的頂點(diǎn)才能夠被繪制出來。

片段著色器程序triangle.frag:

#version 330 core in vec3 ourColor; void main() {gl_FragColor = vec4(ourColor,1.0); }

in代表此變量由其他著色器程序傳入,在本文中會(huì)接收由頂點(diǎn)著色器傳入的ourColor變量,注意想要正確的傳出傳入變量,需要保證不同著色器中的變量名稱和類型一致,而且傳遞方向不要搞反。
gl_FrageColor為內(nèi)建變量,用來表示顏色,也是一個(gè)4維變量(4個(gè)分量分別代表RGBA:紅,綠,藍(lán),α值),α值現(xiàn)在統(tǒng)一設(shè)置為1.0即可。

接下來就可以將以上兩個(gè)程序添加到program中了

//向program中添加頂點(diǎn)著色器if(!program->addShaderFromSourceFile(QOpenGLShader::Vertex,":/triangle.vert")){qDebug()<< (program->log());return;}//向program中添加片段著色器if(!program->addShaderFromSourceFile(QOpenGLShader::Fragment,":/triangle.frag")){qDebug()<< (program->log());return;}if(!program->link()){qDebug()<< (program->log());return;}

創(chuàng)建并綁定VAO

QT中VAO的創(chuàng)建和綁定也比較簡單

QOpenGLVertexArrayObject m_vao;m_vao.create();m_vao.bind();

創(chuàng)建并綁定VBO

基本同上

QOpenGLBuffer m_vbo;m_vbo.create();m_vbo.bind();

將數(shù)據(jù)存入VBO

注意我們并不會(huì)直接對(duì)VAO進(jìn)行操作,VBO可以看做是某一項(xiàng)數(shù)據(jù),而VAO則是這些數(shù)據(jù)的集合,可以理解為在program從VBO中取數(shù)據(jù)時(shí)會(huì)將這些數(shù)據(jù)自動(dòng)存入VAO,所以我們也需要在綁定VBO之前綁定一個(gè)VAO。
我們所需要的數(shù)據(jù)可以在代碼中使用一個(gè)靜態(tài)數(shù)組創(chuàng)建

static GLfloat vertices[] = {//我們所準(zhǔn)備的需要提供給openGL的頂點(diǎn)數(shù)據(jù)// 位置 // 顏色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 // 頂部 };

這里應(yīng)該也算是個(gè)難理解的地方,這里數(shù)組中每一行代表一個(gè)頂點(diǎn)數(shù)據(jù),而其中每一行的前三個(gè)數(shù)代表空間坐標(biāo),后三個(gè)數(shù)代表顏色分量。
然而這種區(qū)分是我們自行規(guī)定的,對(duì)于VAO和VBO來說,目前他們就只是二進(jìn)制數(shù)據(jù)而已,openGL本身并沒有規(guī)定各項(xiàng)數(shù)據(jù)必須以何種形式組織起來,我們將通過一些方式來告訴openGL如何來分配和使用這些數(shù)據(jù)。(這里可以在成功畫出三角形后再回頭來理解)
將這些數(shù)據(jù)存入VBO只需一行代碼

m_vbo.allocate(vertices, sizeof(vertices));

這個(gè)語句也在一定程度上表示vbo只關(guān)心數(shù)據(jù)的大小,你準(zhǔn)備了一個(gè)數(shù)組,VBO把這個(gè)數(shù)組中的內(nèi)容一股腦復(fù)制進(jìn)來,數(shù)據(jù)存儲(chǔ)就算完成了。這里跟memcpy函數(shù)有一定的相似性,他只管拷貝數(shù)據(jù),至于數(shù)據(jù)是什么意義,則需要程序員來控制。

告訴openGL該如何分配和使用數(shù)據(jù)

現(xiàn)在搬來我們之前寫好的頂點(diǎn)著色器程序

#version 330 core layout (location = 0) in vec3 aPos; layout (location = 1) in vec3 aColor;out vec3 ourColor;void main() {ourColor = aColor;gl_Position =vec4(aPos, 1.0); }


我們需要告訴頂點(diǎn)著色器程序,我們希望aPos這個(gè)變量中持有頂點(diǎn)的空間坐標(biāo)信息,這是一個(gè)三維向量,所以我們讓他持有靜態(tài)數(shù)組中每一行的前三個(gè)數(shù)據(jù),這可以通過以下代碼來完成

int m_attr=program->attributeLocation("aPos");program->setAttributeBuffer(m_attr,GL_FLOAT, 0, 3,6*sizeof(GLfloat));program->enableAttributeArray(m_attr);

上方這種方式更加貼近原生openGL的方法,在QT中,你也可以使用下方這種更易于理解的方式(至少你暫時(shí)不用思考上面方法中那個(gè)整形變量是做什么的)

program->setAttributeBuffer("aPos",GL_FLOAT, 0, 3,6*sizeof(GLfloat));program->enableAttributeArray("aPos");

在這里解釋一下這個(gè)整形變量m_attr。openGL會(huì)把變量名和一個(gè)整型數(shù)字一一對(duì)應(yīng)起來,原生openGL的函數(shù)需要一個(gè)傳出參數(shù),用來告訴你變量名"aPos"應(yīng)該對(duì)應(yīng)哪個(gè)整型值。假設(shè)你現(xiàn)在需要一個(gè)變量"aPos",openGL通過這個(gè)函數(shù)告訴你,在我的內(nèi)部用數(shù)字"1"代表這個(gè)變量,那么在這之后,當(dāng)你想要使用"aPos"時(shí),你需要告訴openGL,我現(xiàn)在要操作"1"所代表的變量了。

還記得前面寫的layout (location=0)嗎?這里其實(shí)就是相當(dāng)于手動(dòng)分配了變量和數(shù)字的對(duì)應(yīng)關(guān)系。
比如layout (location = 0) in vec3 aPos;
就代表我們想讓數(shù)字"0"來代表"aPos"這個(gè)變量,這個(gè)屬于程序員與openGL的約定,當(dāng)使用數(shù)字"0"時(shí),雙方都明白所指的是什么。當(dāng)你想使用aPos時(shí),你告訴openGL我要使用"aPos"和我要使用"0"意思是一樣的。區(qū)別在于對(duì)于前者,openGL先要查找aPos所對(duì)應(yīng)的數(shù)字,所以事先手動(dòng)分配數(shù)字并直接使用數(shù)字可以節(jié)省一步從而一定程度上提高性能。

setAttributeBuffer這個(gè)函數(shù)中的參數(shù)還是需要好好解釋一下的,而且主要是后三個(gè)參數(shù)


GL_FLOAT是用來告訴著色器VAO中的數(shù)據(jù)類型。
舉個(gè)相似的例子來說明著色器是如何看待這些數(shù)據(jù)的。
假設(shè)我們內(nèi)存中有16進(jìn)制數(shù)據(jù)(0x)123456789ABC,這數(shù)據(jù)本身目前并沒有意義
那么我們用get(short,0,2,3sizeof(short))可以取出[12,34],[78,9A](16進(jìn)制)兩組數(shù)據(jù)
get(short,0,2,2sizeof(short))可以取出[12,34],[56,78],[9A,BC]
get(short,2,2,2sizeof(short))可以取出[56,78],[9A,BC]
get(int,0,1,1sizeof(int))則可以取出[1234],[5678],[9ABC]三組數(shù)據(jù)

可以看到不同的參數(shù)會(huì)賦予數(shù)據(jù)不同的意義,而對(duì)于openGL的setAttributeBuffer函數(shù)來說,你要做的就是通過這個(gè)函數(shù)及其參數(shù)來確保openGL可以按照你的要求讀出正確的數(shù)據(jù)。
通過上述語句,openGL就知道了名為"aPos"的變量表示三組頂點(diǎn)數(shù)據(jù):(0.5f,-0.5f,0.0f),(-0.5f,-0.5f,0.0f)以及(0.0f,0.5f,0.0f)。

如果你理解了我們?nèi)绾瓮ㄟ^上述代碼告訴openGL在當(dāng)前VBO的數(shù)據(jù)中取每行的前三個(gè)數(shù)據(jù)給aPos,那么每行后三個(gè)數(shù)據(jù)如何傳給aColor也就應(yīng)該清楚了

int m_color=program->attributeLocation("aColor");program->setAttributeBuffer(m_color,GL_FLOAT,3*sizeof(GLfloat),3,6*sizeof(GLfloat));program->enableAttributeArray(m_color);

注:其實(shí)你也可以通過兩個(gè)數(shù)組,兩個(gè)VBO分別來傳遞信息,兩種方式難理解的點(diǎn)不同,我覺得都是入門需要掌握的,但是這里先只給出這一種方式吧。

這里還是應(yīng)該多看幾遍,力求理解著色器程序是如何取到數(shù)據(jù)的,如果覺得講得不清楚可以留言,我會(huì)嘗試說得再細(xì)致一些。

至此,我們的openGL程序設(shè)置已經(jīng)完成,頂點(diǎn)位置和顏色數(shù)據(jù)也都存到了VAO中,接下來,終于可以在崩潰前進(jìn)行激動(dòng)人心的繪制了……

繪制

上述編碼基本都是在initializeGL()函數(shù)中編寫的,繪制通常在paintGL()函數(shù)中完成,繪制時(shí)需要設(shè)置完整的program(決定如何確定頂點(diǎn)和顏色)和VAO(其中存儲(chǔ)了繪制過程中所需要的數(shù)據(jù))
因此在繪制函數(shù)之前(一般為glDrawXXXX)確保我們綁定了正確的openGL程序和VAO。
于是在paintGL()函數(shù)中,我們可以編寫如下代碼:

program->bind();//綁定繪制所要使用的openGL程序m_vao.bind();//綁定包含openGL程序所需信息的VAOglDrawArrays(GL_TRIANGLES, 0, 3);//繪制

通過這個(gè)程序解釋glDrawArrays各項(xiàng)參數(shù)的意義既麻煩又不好理解,但是還是適當(dāng)說明下。

GL_TRIANGLES 表示我們要繪制的是三角形(然而并不是說繪制矩形就有GL_RECTANGLE可以用…)可以認(rèn)為這表示一種排列頂點(diǎn)的方式。

0 表示從第0個(gè)頂點(diǎn)開始繪制

3 表示我們一共要繪制3個(gè)頂點(diǎn)

至此,三角形的繪制可以說已經(jīng)結(jié)束了。后面會(huì)給出完整項(xiàng)目代碼的鏈接,當(dāng)你成功繪制出三角形,并更進(jìn)一步的可以參照其他教程畫出正方形,正方體等等圖形時(shí),修改幾次其中的參數(shù)即可讓你有個(gè)直觀的認(rèn)識(shí)。

完整的MyWidget.cpp代碼

#include "mywidget.h" #include <QDebug>static GLfloat vertices[] = {//我們所準(zhǔn)備的需要提供給openGL的頂點(diǎn)數(shù)據(jù)// 位置 // 顏色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 // 頂部 };MyWidget::MyWidget(QWidget* parent):QOpenGLWidget(parent) {}MyWidget::~MyWidget() //建議在析構(gòu)函數(shù)中手動(dòng)銷毀openGL相關(guān)的對(duì)象, //文檔中特意提到QT的回收機(jī)制難以保證回收所有openGL使用的資源 //不銷毀的話在關(guān)閉程序時(shí)可能會(huì)出現(xiàn)異常 {makeCurrent();m_vao.destroy();m_vbo.destroy();doneCurrent(); }void MyWidget::initializeGL() {initializeOpenGLFunctions();// 創(chuàng)建并綁定著色器程序program = new QOpenGLShaderProgram;program->bind();//向program中添加頂點(diǎn)著色器if(!program->addShaderFromSourceFile(QOpenGLShader::Vertex,":/triangle.vert")){qDebug()<< (program->log());return;}//向program中添加片段著色器if(!program->addShaderFromSourceFile(QOpenGLShader::Fragment,":/triangle.frag")){qDebug()<< (program->log());return;}if(!program->link()){qDebug()<< (program->log());return;}//創(chuàng)建并綁定VAOm_vao.create();m_vao.bind();//創(chuàng)建并綁定VBOm_vbo.create();m_vbo.bind();m_vbo.allocate(vertices, sizeof(vertices));//向VBO傳遞我們準(zhǔn)備好的數(shù)據(jù)(本文件起始部分的靜態(tài)數(shù)組)//向頂點(diǎn)著色器傳遞其中定義為"aPos"的變量所需的數(shù)據(jù)m_attr=program->attributeLocation("aPos");program->setAttributeBuffer(m_attr,GL_FLOAT, 0, 3,6*sizeof(GLfloat));program->enableAttributeArray(m_attr);//向頂點(diǎn)著色器傳遞其中定義為"aColor"的變量所需的數(shù)據(jù)m_color=program->attributeLocation("aColor");program->setAttributeBuffer(m_color,GL_FLOAT,3*sizeof(GLfloat),3,6*sizeof(GLfloat));program->enableAttributeArray(m_color);program->release();//解綁程序}void MyWidget::paintGL() {//glClearColor(0.2f, 0.3f, 0.3f, 1.0f);//glClear(GL_COLOR_BUFFER_BIT);program->bind();//綁定繪制所要使用的openGL程序m_vao.bind();//綁定包含openGL程序所需信息的VAOglDrawArrays(GL_TRIANGLES, 0, 3);//繪制m_vao.release();//解綁VAOprogram->release();//解綁程序//update();//調(diào)用update()函數(shù)會(huì)執(zhí)行paintGL,現(xiàn)在繪制一個(gè)靜態(tài)的三角形可以不使用//也可以用定時(shí)器連接update()函數(shù)來控制幀率,直接在paintGL函數(shù)中調(diào)用update()大概是60幀 }void MyWidget::resizeGL(int width, int height) {}

繪制最終效果

如果你一切順利,你就可以得到自己通過openGL繪制的第一個(gè)三角形啦,效果如下:

完整項(xiàng)目代碼

完整的QT項(xiàng)目已上傳至github

希望同學(xué)們都能夠順利地邁出學(xué)習(xí)openGL的第一步!如果覺得本文中有寫的不清楚或者是錯(cuò)誤的地方,歡迎留言指出。

總結(jié)

以上是生活随笔為你收集整理的QT使用openGL绘制一个三角形的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

91成人在线观看喷潮 | 韩国av免费观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | av一区二区三区在线 | 超碰人人草人人 | 日韩av手机在线看 | 最近中文字幕视频完整版 | 一区二区三区三区在线 | 日韩欧美视频一区二区 | 国产在线播放一区二区 | 日韩在线免费视频观看 | 久草电影在线观看 | 国产精品9999| www.狠狠操.com | 黄色在线观看免费 | 婷婷丁香色综合狠狠色 | 五月色丁香 | 成人手机在线视频 | 成人免费在线视频观看 | 亚洲午夜精品一区二区三区电影院 | 免费看国产曰批40分钟 | 激情五月综合 | 午夜久久影院 | av黄色免费网站 | 99免费在线观看 | 91在线免费观看网站 | 粉嫩aⅴ一区二区三区 | 亚洲精品影视 | 亚洲国产日韩在线 | 日本爱爱免费视频 | 香蕉在线播放 | 欧美日韩一区久久 | 成人精品视频 | www.天天综合 | 色狠狠久久av五月综合 | 国产成人精品一区二区三区在线观看 | 亚洲精品mv在线观看 | 2019精品手机国产品在线 | 亚洲免费在线视频 | 日韩免费网站 | 国产中文在线视频 | 九九热视频在线播放 | 精品嫩模福利一区二区蜜臀 | 最近中文字幕大全 | 人人草在线视频 | 五月综合婷 | 日韩欧美在线高清 | 蜜臀aⅴ国产精品久久久国产 | www.天天成人国产电影 | 丁香导航| 国内免费久久久久久久久久久 | 99 视频 高清 | 日日激情 | 亚洲91网站 | 免费看片亚洲 | 精品欧美一区二区在线观看 | 中文字幕免费高清 | 日韩精品免费专区 | 91天堂在线观看 | 久久超级碰视频 | 久久久精品国产免费观看一区二区 | 国产日产精品一区二区三区四区的观看方式 | 国产成人99久久亚洲综合精品 | 高清av中文在线字幕观看1 | 不卡av免费在线观看 | 色综合久久久久综合体 | 13日本xxxxxⅹxxx20 | 97电影在线| 亚洲一区精品二人人爽久久 | 精品高清美女精品国产区 | 日韩久久精品 | 欧美日韩在线视频一区二区 | 日韩欧美视频一区二区三区 | 日韩视频一区二区三区 | 808电影| 黄色的网站免费看 | 久久久www成人免费毛片 | 久久有精品 | 夜夜操综合网 | 一本一道久久a久久精品蜜桃 | 超碰日韩 | 国产视频一区在线播放 | 午夜美女影院 | 精品人人人| 亚洲精品久久久久www | 五月天欧美精品 | 国产精品久久久久久久久久妇女 | 久久久99国产精品免费 | 欧美午夜精品久久久久 | 啪啪免费试看 | 国产成人a亚洲精品 | 日日夜精品| 九九爱免费视频在线观看 | 高清在线观看av | 亚洲精品88欧美一区二区 | 国产美女精品在线 | 波多在线视频 | 国产黄色在线观看 | 成人欧美亚洲 | 日韩av看片 | 91av视频在线观看 | 国产精品美女久久久免费 | 色噜噜狠狠狠狠色综合久不 | a√天堂中文在线 | 久久a v电影 | 999视频网 | 高清av免费看 | 亚洲精品男女 | 五月天天色 | 色婷婷五 | 国产成人久久77777精品 | 又污又黄的网站 | 丰满少妇在线观看资源站 | 婷婷视频在线播放 | 一区二区不卡 | 激情综合亚洲精品 | 四虎国产精品免费 | 久久精品视频网址 | 免费三级黄色片 | av成年人电影 | 黄色福利网站 | 久久国产精品免费看 | 少妇bbw搡bbbb搡bbb | 五月婷婷视频在线观看 | 视频国产在线 | 不卡的av在线 | 国产黄色播放 | 亚洲国产视频直播 | 91福利视频一区 | 99热超碰在线 | 日韩网| 人人草在线视频 | 欧美最爽乱淫视频播放 | 国产精品久久久久久久久久久久午夜 | 超碰日韩 | 日韩美女免费线视频 | 色资源在线 | 久久私人影院 | 97视频在线观看网址 | 国产精品久久久久9999吃药 | 免费a v视频 | 美女视频国产 | 亚洲一区日韩精品 | 日韩1级片| 久久99精品久久久久蜜臀 | 亚洲精品永久免费视频 | 日韩在线电影观看 | 免费观看全黄做爰大片国产 | 国产一级在线看 | 1区2区3区在线观看 三级动图 | 国产一区二区在线免费视频 | 国产精品18久久久久久不卡孕妇 | 免费av黄色| 久久久麻豆视频 | 美女在线观看网站 | 国产一区欧美一区 | 国产午夜在线观看视频 | 国产精品美女久久久久久久久 | 久久人人爽 | 久久久久久蜜桃一区二区 | 久久综合9988久久爱 | 中文字幕制服丝袜av久久 | 欧美性网站 | 久草影视在线 | 国产精品一区二区久久精品爱微奶 | 又黄又刺激 | 玖玖玖在线观看 | 国产精品中文久久久久久久 | 免费黄色一区 | 四虎伊人 | 欧美视频xxx | 久久久久人人 | 成人午夜精品 | 中文字幕有码在线播放 | 亚洲区精品 | 色综合久久久久久中文网 | 日韩美女免费线视频 | 日韩二区三区 | 亚洲日本一区二区在线 | 日韩高清在线观看 | 久久看毛片 | 天天射天| 91九色国产 | 五月天久久激情 | 午夜视频久久久 | 天堂久色| 18久久久| 成人片在线播放 | 国产视频一区在线 | 久久99精品波多结衣一区 | 色999五月色 | 精品亚洲国产视频 | 亚洲国产成人高清精品 | 色婷婷丁香 | 在线免费91 | 911国产在线观看 | 日韩欧美视频一区二区 | 日韩免费视频线观看 | 亚洲国产97在线精品一区 | 国产精品18毛片一区二区 | 久久伊人婷婷 | 国产资源在线播放 | 欧美在线观看视频一区二区三区 | 日韩在线视频一区二区三区 | 日产中文字幕 | www·22com天天操 | 九九热国产视频 | 91爱爱免费观看 | 91在线视频免费91 | 亚洲欧美国产精品va在线观看 | 超碰人人干人人 | 欧美日韩国产在线一区 | 日韩一区二区在线免费观看 | 国产黄a三级| www.亚洲激情.com | 9i看片成人免费看片 | 久久久免费视频播放 | 亚洲美女免费视频 | 日本黄色免费在线 | 17videosex性欧美 | 在线观看av免费观看 | 91精品专区 | 日韩av资源站 | 国产精品一区二区62 | 一区二区三区在线免费播放 | 欧美成人中文字幕 | 黄色a一级片 | 中文字幕久久精品 | 狠狠操狠狠干天天操 | 91亚洲精品在线观看 | 精品国产电影一区 | 丁香激情综合 | 久久人人爽人人片 | 中文字幕在线观看视频网站 | 国产亚洲精品bv在线观看 | 日韩高清在线不卡 | a天堂一码二码专区 | 三三级黄色片之日韩 | 天天操天天色天天射 | 亚洲精品美女视频 | 日韩一区在线播放 | 国产午夜三级一区二区三桃花影视 | 婷婷在线免费视频 | 伊人小视频 | 91精品久久久久久久久久入口 | 亚洲欧美日韩精品久久久 | 91亚洲狠狠婷婷综合久久久 | 国产精品久久久久久久婷婷 | 国产精品综合在线观看 | 国产在线观看一区 | 亚洲一区二区三区四区精品 | 亚洲欧洲国产日韩精品 | 亚洲国产日韩一区 | 国产91亚洲精品 | 国产精品网红直播 | 99视频精品 | 精品在线一区二区三区 | 国产精品手机看片 | 久久综合九色综合97_ 久久久 | a黄色大片 | 久久黄色成人 | 一区二区中文字幕在线 | av免费观看高清 | 亚洲精品午夜aaa久久久 | 欧美久久成人 | 久久艹人人 | 黄色网中文字幕 | 夜夜躁狠狠躁日日躁视频黑人 | 黄色免费国产 | 西西444www大胆高清视频 | 久av电影 | 草莓视频在线观看免费观看 | 国产精品扒开做爽爽的视频 | 天天插综合 | 欧美日韩国产一区二区三区 | 91最新在线观看 | 国产精品人成电影在线观看 | 亚洲天堂视频在线 | 国产精品伦一区二区三区视频 | 最近高清中文字幕在线国语5 | 狠色狠色综合久久 | 免费av大全 | 久久草草热国产精品直播 | 最近免费中文字幕 | 国产一区精品在线 | 日韩免费成人av | 欧美黑吊大战白妞欧美 | 五月天com| 久久久久免费网 | 日本中文字幕网站 | 天无日天天操天天干 | 色综合咪咪久久网 | 成人精品国产免费网站 | 亚洲最新视频在线播放 | 精品国产a| 日本公妇在线观看 | 五月综合色婷婷 | 国产视频一区二区在线播放 | 狠狠色免费 | 9999在线观看 | 国产亚洲精品久久久久久大师 | 久久精品中文视频 | 狠狠狠狠狠狠 | 色综合久久五月天 | www.天天干 | av高清一区二区三区 | 狠狠狠狠狠狠 | 九色精品免费永久在线 | 国产成人精品999在线观看 | 国产少妇在线观看 | 亚洲欧美日韩精品一区二区 | 91在线中文 | 99久久精品免费 | 欧美日韩午夜在线 | 婷婷成人在线 | 91久久电影| 欧美日韩另类视频 | 日本中文不卡 | 国产 日韩 在线 亚洲 字幕 中文 | 蜜桃视频日本 | 国产精品成人免费一区久久羞羞 | 婷婷干五月 | 久久看视频 | 久久久久一区二区三区四区 | 国产视频在线看 | 久久久久网址 | 91精品一区二区在线观看 | 久久精品国产一区 | av在线免费观看网站 | 欧美日韩中文在线观看 | 久久免费视频网 | 成人va视频| 奇米影视四色8888 | 亚洲经典中文字幕 | 深夜免费福利视频 | 91成人精品国产刺激国语对白 | 探花视频在线观看免费 | 日韩在线视频一区二区三区 | 色就是色综合 | 久久成人福利 | 特黄特色特刺激视频免费播放 | 人人爽人人干 | 国产精品久久久久久久久久久久午夜片 | 亚洲精品资源在线观看 | 99久久久国产免费 | 超级碰视频 | 精品毛片一区二区免费看 | 97超碰站 | av在线播放亚洲 | 99亚洲精品在线 | 国产一级一片免费播放放 | 久久久久久久久久久福利 | 国产精品久久久一区二区三区网站 | 992tv又爽又黄的免费视频 | 日韩在线观看网站 | 伊人色播| 国产亚洲情侣一区二区无 | 伊人伊成久久人综合网小说 | 精品在线亚洲视频 | 日韩欧美有码在线 | 热精品| 久久午夜色播影院免费高清 | 欧美综合在线观看 | 国产精品久久久久久久久免费 | 一本一本久久a久久精品综合妖精 | 欧美国产精品久久久久久免费 | 97视频在线观看免费 | 久久另类小说 | 处女av在线| 中国一区二区视频 | 欧美午夜精品久久久久久孕妇 | 国产视频导航 | 五月婷婷综合色拍 | 国产美女永久免费 | 正在播放日韩 | 亚洲精品777 | 亚洲精品中文字幕在线观看 | 天天干天天摸 | 日韩欧美在线不卡 | 久久91久久久久麻豆精品 | 国产群p视频 | 99爱这里只有精品 | 黄污网 | 久久激情五月婷婷 | 日韩av电影国产 | a√国产免费a | 欧美天天综合 | www.色五月.com | 国内精品久久天天躁人人爽 | 欧美成年黄网站色视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | www.天天成人国产电影 | 国产精彩视频一区二区 | 国产一区影院 | 91香蕉国产在线观看软件 | 欧美成亚洲 | 欧美精品一区在线 | 在线视频观看国产 | 免费观看一级一片 | 97精品国产一二三产区 | 国产精品久久久久亚洲影视 | 国产婷婷vvvv激情久 | 99欧美视频 | 日韩美精品视频 | 在线免费91 | 久久这里只有精品23 | 九九99靖品| 成人在线视频免费看 | 天天操天天摸天天射 | 丁香久久综合 | 黄色免费高清视频 | 日日夜夜精品免费 | 亚洲人xxx | 免费激情在线电影 | 国产精品v欧美精品v日韩 | 日韩精品免费在线播放 | 亚洲国产经典视频 | 欧美在线视频免费 | 国产精品综合久久久久 | av高清不卡 | 日韩精品免费一线在线观看 | 特级毛片在线免费观看 | 日本精品视频一区 | 色播五月婷婷 | 国产原创在线 | 一区二区三区中文字幕在线 | 99视频一区 | 久久人人爽人人 | 99热这里只有精品在线观看 | 国产在线中文字幕 | 久久久久北条麻妃免费看 | 国产一级黄色片免费看 | 精品乱码一区二区三四区 | 欧美日韩在线观看视频 | 久久99国产精品免费网站 | 亚洲无吗视频在线 | 麻豆视频在线免费看 | 成人av中文字幕在线观看 | 精品一区免费 | 欧美aa级 | 久久精品中文 | 欧美精品一区二区蜜臀亚洲 | 天天干夜夜 | 欧美吞精 | 成人一级| 天天综合视频在线观看 | 九九热在线精品 | 天天干天天操天天射 | 一级黄色片在线观看 | 久久这里有精品 | 天天激情| 国产中文字幕在线免费观看 | 国内少妇自拍视频一区 | 狠狠五月婷婷 | 黄色免费大片 | 日韩高清不卡在线 | www在线免费观看 | 99久精品视频 | 婷婷综合久久 | 国产精品久久久久一区二区 | 国产成人精品av | 韩国av一区二区 | 成人h电影在线观看 | 亚洲成人av片 | 亚洲涩涩涩涩涩涩 | 国产一级黄色av | 久久久久伦理电影 | 成片免费观看视频999 | 国产另类av | 亚洲资源在线网 | 99亚洲精品 | 亚洲精品一区二区网址 | 免费视频资源 | aaa毛片视频 | 中文字幕精品视频 | 久久黄色网址 | 国产精品久久久久久久久久久免费看 | 国产日韩三级 | 国产一级免费在线观看 | 国产青青青 | 成人精品一区二区三区电影免费 | 99在线观看免费视频精品观看 | 成人精品99 | 色诱亚洲精品久久久久久 | 97色se | 五月婷婷综合激情 | 久久国产精品久久久久 | 成年人视频在线免费播放 | 超碰官网 | 精品主播网红福利资源观看 | 日韩精品在线视频 | 精品久久久久久久久中文字幕 | 欧美在线你懂的 | 狠狠色噜噜狠狠狠狠 | 中文字幕在线播放第一页 | 韩国av在线播放 | 久久久久国产精品视频 | 黄色91在线观看 | av高清免费在线 | 日韩欧美在线观看一区 | 日韩另类在线 | 麻豆传媒视频在线 | 手机看片| 亚洲亚洲精品在线观看 | 久久久久久久毛片 | 四虎影视成人永久免费观看视频 | 精品一区二区6 | 色资源二区在线视频 | 国产人免费人成免费视频 | 天天色天天骑天天射 | 久久久精品国产一区二区三区 | 99在线国产 | 亚洲黄色一级大片 | 国产一级在线看 | www黄免费| 久久国产美女视频 | 激情综合站 | 99热这里只有精品免费 | 中文字幕av一区二区三区四区 | 欧美网站黄色 | 樱空桃av| 日韩三级av | 激情久久久 | 亚洲一区网 | 精品国产一区二区三区在线观看 | 国产少妇在线观看 | 精品国产乱码 | 狠狠狠干| 天天综合网国产 | 欧美日本在线视频 | 天天操天天射天天插 | 人人玩人人爽 | 天天伊人狠狠 | 91爱爱免费观看 | 香蕉在线视频播放网站 | 天天干天天做 | 国产成人99久久亚洲综合精品 | 日本在线观看中文字幕无线观看 | 97超级碰碰碰视频在线观看 | 二区三区在线视频 | 精品女同一区二区三区在线观看 | 国产视频在线观看一区二区 | 久久艹免费 | 91av片| 在线免费高清一区二区三区 | 91在线精品播放 | 99国产情侣在线播放 | 992tv又爽又黄的免费视频 | 亚洲自拍偷拍色图 | 中文字幕第一页在线 | 亚洲一区二区三区在线看 | 成片免费观看视频大全 | 中文字幕乱在线伦视频中文字幕乱码在线 | 免费的成人av | 久久久久亚洲精品男人的天堂 | 亚洲a免费| 韩国av在线 | 日韩精品aaa | 色综合久久久久综合 | 草在线 | 九九九国产 | 欧美日韩精品在线 | 色综合久| 久久伦理电影 | 久久在线免费视频 | 久产久精国产品 | 国产不卡一 | 激情婷婷 | 国产成人精品一区在线 | 日韩草比 | 亚洲激情综合 | 在线亚洲欧美视频 | 在线 国产一区 | 一区二区视频免费在线观看 | 欧美 另类 交| 人人干免费 | 婷婷色在线资源 | 久久久免费观看视频 | 黄色av一区二区三区 | 亚洲一区欧美精品 | 天堂av在线中文在线 | 黄色av一级片 | 国产日韩欧美综合在线 | 亚洲精品黄色 | 婷婷 综合 色 | 国产不卡在线观看 | 中文字幕专区高清在线观看 | 最近2019好看的中文字幕免费 | 国语黄色片 | 欧美日韩一区二区三区不卡 | 一级黄色毛片 | 午夜三级福利 | 久草网在线 | 色欧美日韩| 精品国产免费av | 精品国产一区二区三区不卡 | 国产中文字幕视频在线观看 | 美女久久久久久久久久 | 国产一二区视频 | 国产精品一区二区在线 | 免费在线观看不卡av | 十八岁以下禁止观看的1000个网站 | 97色在线视频 | 美女免费av| 视频在线观看国产 | 亚洲电影一区二区 | 成人黄色片免费 | 网站在线观看日韩 | 欧美日韩亚洲一 | 午夜影院日本 | 亚洲精品2区 | www.一区二区三区 | 人人看人人 | 国产精品黄色在线观看 | 国产成人精品一区二区三区在线 | 丁香国产视频 | 西西4444www大胆无视频 | 黄a网 | 97日日碰人人模人人澡分享吧 | 欧美日韩国产在线精品 | 国产精品video爽爽爽爽 | 国产韩国精品一区二区三区 | 亚洲日本一区二区在线 | 免费精品在线观看 | 国产精品免费观看网站 | 久av电影 | 成 人 黄 色 视频 免费观看 | 日韩高清毛片 | 久久久影院官网 | 伊人黄色网 | 久久99热这里只有精品 | 最新国产精品拍自在线播放 | 亚洲va欧美va人人爽 | ww亚洲ww亚在线观看 | 最新在线你懂的 | 在线三级播放 | 国产精品嫩草69影院 | 久久久久久久av | 六月丁香社区 | 18+视频网站链接 | 国产色婷婷 | 亚洲免费永久精品国产 | 韩国av免费| 中文字幕免费国产精品 | 久久伊99综合婷婷久久伊 | 国产精品96久久久久久吹潮 | 亚洲毛片一区二区三区 | 一区二区三区在线观看免费 | 国产手机在线精品 | 成人久久久久久久久久 | 色综合久久中文字幕综合网 | 国产美女视频 | 在线观看小视频 | 亚洲欧美在线综合 | 婷婷色视频| 亚洲视频久久久 | 深爱婷婷久久综合 | 日韩精品大片 | 最近高清中文字幕在线国语5 | 欧美激情亚洲综合 | 国产在线视频资源 | 久久大视频 | 欧美黄色免费 | 国产精品视频最多的网站 | 欧美精品v国产精品v日韩精品 | 草久在线 | 香蕉影院在线观看 | 久久天天躁夜夜躁狠狠85麻豆 | 天天操天天吃 | 亚洲国产成人在线播放 | 激情丁香 | 欧美精品做受xxx性少妇 | 免费观看黄 | av中文在线影视 | 欧美嫩草影院 | 亚洲精品婷婷 | 国产日韩精品一区二区三区在线 | 韩国av一区二区三区在线观看 | 国产亚洲无 | 在线电影 一区 | 五月天亚洲综合 | 久久久久99精品国产片 | 免费在线观看的av网站 | 久久精品亚洲一区二区三区观看模式 | 偷拍视频一区 | 成人手机在线视频 | 2021久久 | 91亚洲精品在线观看 | 日日碰狠狠添天天爽超碰97久久 | 精品久久久999 | 欧美日韩国产一二 | 97超碰超碰 | 日韩精品一区二区三区丰满 | 亚洲在线高清 | 久热久草在线 | 日韩电影在线观看一区 | 成人99免费视频 | 91色在线观看 | 亚洲女同ⅹxx女同tv | 国产精品一区二区av麻豆 | 成人宗合网 | 亚洲精品日韩一区二区电影 | 欧美精品亚洲精品日韩精品 | 999久久久精品视频 日韩高清www | 中文字幕电影高清在线观看 | 欧美日韩免费观看一区=区三区 | 成人av在线网 | 在线日韩 | 天天爽天天摸 | 国产精品免费一区二区 | 亚洲精品免费在线观看视频 | 久99久中文字幕在线 | 特级毛片爽www免费版 | 91精品视频观看 | 国产一区免费视频 | 亚洲无线视频 | 国产麻豆精品免费视频 | 免费黄色av电影 | 日日日操 | 黄色一级在线视频 | 日韩精品黄 | 欧美一区二区三区免费观看 | 黄色a视频| 国产小视频精品 | 久久亚洲精品国产亚洲老地址 | 日韩无在线 | 伊色综合久久之综合久久 | 国产一区二区三区免费观看视频 | 成人片在线播放 | 激情综合色综合久久综合 | 亚洲国产精品久久久久婷婷884 | 久久视频国产 | 亚洲2019精品| 天天色天天色 | 国产精品久久久久9999吃药 | 日日爽天天操 | 欧美国产日韩一区 | 国产 日韩 欧美 在线 | www.夜夜骑.com | 999久久久免费精品国产 | 九九视频精品在线 | 色中文字幕在线观看 | 国产成人精品在线观看 | www.xxxx变态.com| 久久精品免费播放 | 国产 中文 日韩 欧美 | 欧美在线视频一区二区三区 | 在线观看成人小视频 | 国产免费av一区二区三区 | 国产韩国精品一区二区三区 | 久草热久草视频 | 精品9999| 99久久婷婷国产一区二区三区 | 欧女人精69xxxxxx| 夜色资源网 | 中文字幕在线观看视频网站 | 一区在线播放 | 欧美a在线免费观看 | 精品美女久久 | 欧美激情视频在线观看免费 | 国产91电影在线观看 | 婷婷视频 | 婷婷午夜天 | 亚洲成av片人久久久 | 国产成人l区 | 久久99精品波多结衣一区 | 色综合久久久久综合99 | 天天碰天天操 | 亚洲作爱视频 | 久久激五月天综合精品 | 丁香婷婷色月天 | 中文字幕在线观看完整版电影 | 国产免费一区二区三区最新 | 西西444www高清大胆 | 福利网在线 | 欧美日韩国产亚洲乱码字幕 | 日本在线视频一区二区三区 | 亚洲综合在线一区二区三区 | 亚洲精品欧美视频 | 日本在线观看视频一区 | 午夜影院一级 | 成人免费xxx在线观看 | 亚洲精品国精品久久99热一 | 欧洲在线免费视频 | 久久精品久久精品久久精品 | 六月丁香综合网 | 久久成人国产精品一区二区 | 91av中文字幕 | 香蕉在线影院 | 成人av av在线| 一本—道久久a久久精品蜜桃 | 成人免费影院 | 亚洲美女久久 | 99久久久国产免费 | 欧美性大战| 激情欧美一区二区三区免费看 | 久久综合久久综合这里只有精品 | 97超碰人人看 | 国产高清亚洲 | 亚洲欧洲xxxx| 久久综合成人网 | 日韩激情久久 | 亚洲视频 一区 | 亚洲专区 国产精品 | 免费视频久久久久久久 | 日韩精品免费一线在线观看 | 在线观看成人国产 | 久久久久久毛片 | 婷婷丁香狠狠爱 | 国产精品婷婷午夜在线观看 | av免费观看高清 | 日韩mv欧美mv国产精品 | 日韩免费观看一区二区三区 | 91大神精品视频在线观看 | 欧美一级大片在线观看 | 91桃色免费观看 | 你操综合| 亚洲一级性 | 国内外成人在线 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 国产精品美女免费看 | 午夜视频在线观看一区 | 日韩黄色av网站 | 国产视频在线看 | 天天综合网在线观看 | 日韩在线免费小视频 | 亚洲成熟女人毛片在线 | 国产精品成人久久久久久久 | 国产精品99久久久久人中文网介绍 | 欧美日高清视频 | 国产一级片播放 | 久久免费视频这里只有精品 | 日韩在线首页 | 麻豆传媒在线视频 | 亚洲最大色 | 精品国产电影一区二区 | 98超碰在线| 黄色电影小说 | 亚洲精品天天 | 激情久久一区二区三区 | 98涩涩国产露脸精品国产网 | 久久综合色播五月 | 日韩系列 | av福利电影 | 国产品久精国精产拍 | av中文字幕在线播放 | 欧美一区二区三区免费看 | 91精品国 | 九九在线高清精品视频 | 亚洲成人黄色在线观看 | 狠狠色狠狠色综合日日小说 | 欧美国产日韩中文 | 91精品一区二区三区久久久久久 | 精品国产成人av | 999久久久国产精品 高清av免费观看 | 久久久久久久久久久成人 | 欧美日韩国产伦理 | 日日婷婷夜日日天干 | 中文字幕资源在线 | 国产精品99久久久久久宅男 | 亚洲国产免费看 | 成人avav| 成 人 黄 色 视频 免费观看 | 奇人奇案qvod | 国产精品成人av久久 | adc在线观看 | 国产精品久久久久久久久久妇女 | 91少妇精拍在线播放 | 碰超在线观看 | 中文字幕高清av | 在线免费观看的av | 日韩一区二区三区免费视频 | av在线中文 | 国产高清精品在线 | 久久这里| 91大神电影 | www.婷婷com | 热re99久久精品国产66热 | 久久综合九色综合欧美狠狠 | 国产成人高清在线 | 欧美日韩国产在线一区 | 久久网站av | 欧美国产日韩一区二区三区 | 日韩黄色大片在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | av电影在线播放 | 亚洲人人精品 | 国产一区二区影院 | 亚洲理论在线观看电影 | 在线观看视频亚洲 | 视频三区 | 玖玖色在线观看 | 亚洲一区av | 免费成人黄色 | 在线观看精品黄av片免费 | 国产超碰97 | 人人澡人人爱 | 91在线国内视频 | 丁香婷五月 | 2023亚洲精品国偷拍自产在线 | 99精品影视 | 久久久亚洲国产精品麻豆综合天堂 | 狠狠色丁香婷婷综合 | 黄色一二级片 | ww视频在线观看 | 久久免费a | 亚洲影音先锋 | 五月婷婷六月丁香激情 | 国产精品亚洲人在线观看 | 久久精品99久久久久久 | 国产玖玖精品视频 | 国模吧一区 | 国产成人性色生活片 | 亚洲午夜av久久乱码 | 操操操夜夜操 | 天天干,狠狠干 | 99精品国产一区二区三区麻豆 | 色综合久久66 | 中文字幕永久在线 | 国产 精品 资源 | 99热这里只有精品久久 | 伊人影院av | 欧美a视频| 深爱开心激情 | 国产人免费人成免费视频 | 久久久久久久av | 久草在线最新视频 | 国产精品视频不卡 | 久章草在线观看 | 韩日精品中文字幕 | 激情五月六月婷婷 | 超碰久热 | 99视频在线免费播放 | 91高清完整版在线观看 | 日本在线视频网址 | 中文一区在线观看 | 欧美日韩国产一区 | 国产精品96久久久久久吹潮 | 99视频在线精品免费观看2 | 麻豆视频入口 | 在线观看日本韩国电影 | 伊人va| 91最新视频在线观看 | 亚洲视频 在线观看 | 欧美亚洲国产日韩 | 97在线精品 | 久久久精品国产一区二区 | 精品国产aⅴ麻豆 | 99视频在线精品 | 日韩成人在线一区二区 | 中文字幕在线观看第三页 | 一区二区三区免费看 | 日韩精品视频免费 | 欧美va天堂va视频va在线 | 天天操天天综合网 | 日日操网| 日韩专区 在线 | 亚洲天天摸日日摸天天欢 | av女优中文字幕在线观看 | 亚洲国产日韩一区 | 久久久久亚洲精品男人的天堂 | 九九热在线观看视频 | 亚洲欧美色婷婷 | 看片一区二区三区 | 精品国产乱码久久久久久浪潮 | 日韩com| 国产成人av在线 | 国产精品永久在线 | 日韩av电影中文字幕在线观看 | 亚洲三级国产 | 亚洲成av人影片在线观看 | 精品夜夜嗨av一区二区三区 | 国产高清精品在线 | 亚洲国产精品传媒在线观看 | 麻豆视频国产精品 | 在线国产一区 | 久久综合久久综合这里只有精品 | 波多野结衣在线观看一区 | 亚洲国产成人精品久久 | 日韩和的一区二在线 | 亚洲精品乱码久久久久 | av免费片 | 国产免费作爱视频 | 色免费在线 | 波多野结衣视频在线 | 99久久久久久 | 91麻豆精品国产 | 久久综合五月婷婷 | av视屏在线 | 五月天色网站 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品美女久久久久久久 | 97日日碰人人模人人澡分享吧 | 国产一级小视频 | 免费在线观看日韩欧美 | 午夜精品久久久久久久久久久久久久 | 337p日本欧洲亚洲大胆裸体艺术 |