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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

OpenGL ES教程VI之纹理贴图(原文对照)

發布時間:2024/3/13 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL ES教程VI之纹理贴图(原文对照) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:又是一篇,是否有人能解釋得清楚,2是重復兩次,那么是否N就是重復N次呢?接近1.0的坐標值整數部分加上幾就是重復幾次嗎?這個好像之前驗證過不一定的。


轉自:http://melord.iteye.com/blog/1126135

OpenGL ES教程VI之紋理貼圖(原文對照)

  • 博客分類:?
  • J2ME,Android
Android OpenGL ES?

OpenGL ES Tutorial for Android – Part VI – Textures

December 30th, 2010 by?Per-Erik Bergman?—?Android,?Embedded,?Java

Last tutorial we worked a bit more on meshes and we have also talked about adding colors to our mesh. The most common way of adding colors to your mesh is to add a texture. There is a couple of different steps involved with adding a texture to the mesh I will try to go through them all and explain the basics about them.

上一教程我們生成了一些模型,而且我們已經知道如何給模型著色。但最常用的著色方式還是添加紋理。給模型添加紋理有幾個不同的操作步驟。下面我將一一展開。

Loading bitmaps

First step would be to get a bitmap to generate a texture from. You can get hold of a bitmap in many different ways from downloading, generating or simply just load one from the resources. I'm going with the simplest one for this example witch is loading from the resources.

第一步,我們需要得到貼圖的圖片,這有許多方式。你可以下載,生成,或是簡單地從資源中加載,我使用了最后一種:從一個資源文件中加載。

Bitmap bitmap = BitmapFactory.decodeResource(contect.getResources(),

?????????????????????????????????????????????R.drawable.icon);

One other thing about textures is that some hardware requires that the height and width are in the power of 2 (1, 2, 4, 8, 16, 32, 64...). If you run a texture with a size of 30x30pixels on a hardware that don’t support it you will just get a white square (unless you change the default color).

需要注意的是,在某些硬件上,貼圖需要的圖片尺寸必須是2的n次方(1,2,4,8,16,32…)。如果你的圖片是30X30的話,而且硬件不支持的話,那么你只能看到一個白色的方框(除非,你更改了默認顏色)

Generating a texture

After we have loaded the bitmap we need to tell OpenGL to actually create the texture.

圖片加載之后,就可以告訴OpenGL?來產生紋理了。

First thing we need to do is to let OpenGL generate some texture id's that we will use as handles to the textures later on. In this example we will only have one texture.

首先要做的是讓OpenGL產生紋理ID,這些ID將在后面用到。例子中我們只有一個紋理。

// Create an int array with the number of textures we want,

// in this case 1.

int[]?textures =?new?int[1];

// Tell OpenGL to generate textures.

gl.glGenTextures(1, textures,?0);

With the same parameters you can delete the textures:

// Delete a texture.

gl.glDeleteTextures(1, textures,?0)

Now when the texture id's are generated we need to just like everything else tell OpenGL what to work with. With textures we use the command glBindTexture:

ID產生之后,我們需要將這些ID使用glBindTexture方式進行綁定

gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

From this point all commands we call on regarding textures will be applied on to your texture with the generated id.

那么在此之后,我們后面將使用產生的ID來調用紋理

glTexParameter

There is a couple of parameters we need to set on the texture, the first one is to tell OpenGL what to do if the texture need to be shrunk or magnified to match the rendered image.

在紋理映射,我們需要設置幾個參數,第一個是告訴OpenGL在渲染圖片時,怎么縮小或放大以適合大小。
If the texture is smaller it needs to be magnified that is done with the magnification function:

如果貼圖小的話,那我們需要使用放大函數進行放大操作。

// Scale up if the texture if smaller.

gl.glTexParameterf(GL10.GL_TEXTURE_2D,

???????????????????GL10.GL_TEXTURE_MAG_FILTER,

???????????????????GL10.GL_LINEAR);

And how to scale if the texture needs to be scaled down using the minification function.

類似,在貼圖過多時,使用壓縮函數進行縮小。

// scale linearly when image smalled than texture

gl.glTexParameterf(GL10.GL_TEXTURE_2D,

???????????????????GL10.GL_TEXTURE_MIN_FILTER,

???????????????????GL10.GL_LINEAR);

You need to pass an argument to these functions. I'm only going to show you two of them the rest you can investigate your self

請看上面的函數,你可以自己研究一下,該給它傳遞什么參數。

If you want a crisp and clean rendering like this image you need to use the GL10.GL_NEAREST parameter.

如果你想要清晰的渲染效果,你可以使用GL10.GL_NEAREST。

?

If you rather want a blurred image you should use the GL10.GL_LINEAR parameter.

如果你喜歡模糊一點,應該使用GL10.GL_LINEAR

UV Mapping

We will also need to tell OpenGL how to map this image onto the mesh this is done in two steps, fist we need to assign UV coordinates

下面我們需要告訴OpenGL怎樣將圖片映射到模型上,有兩個步驟。首先我們指定一個UV坐標

UV mapping is the way we map the pixels on the bitmap to the vertices in our mesh. The UV coordinates are 0,0 in the upper left and 1,1 is the bottom right, like the left image below. The right image below illustrates how our plane is built. To get the texture mapped correctly we need to map the lower left part of the texture (0,1) to the lower left vertex (0) in our plane and we need to map the the bottom right (1,1) in the texture to the bottom right (1) to the bottom right in our plane and... you get the idea.

我們使用UV映射將圖片的每一像素映射到模型的頂點上。UV坐標中,左上角為0,0,右下角為1,1,請看下圖的左半部分。右半部分是我們要創建的平面。為保證映射正確,我們將紋理左下角映射到左下角頂點0,右下角映射到頂點1…依此類推。

注:在OpenGL教程里講道,圖片左下角為0,0坐標。不過我們這里是Android的OpenGL ES。或許Android在接口封裝上,有些許改動吧。

?

We put this mapping into a float array like this:

紋理坐標數組的定義如下:

float?textureCoordinates[]?=?{0.0f,?1.0f,

??????????????????????????????1.0f,?1.0f,

??????????????????????????????0.0f,?0.0f,

??????????????????????????????1.0f,?0.0f?};

?

If we instead used 0.5 instead of 1.0 like this:

float?textureCoordinates[]?=?{0.0f,?0.5f,

??????????????????????????????0.5f,?0.5f,

??????????????????????????????0.0f,?0.0f,

??????????????????????????????0.5f,?0.0f?};

?


The texture will be mapped so the plane will have the upper left part of it.

那么將映射圖片的左上角到平面中

Back to the glTexParameterf, if we go the other way and uses values higher then 1.0 like this:

請回想一下glTexParameterf函數。如果我們將1.0放大到2.0

float?textureCoordinates[]?=?{0.0f,?2.0f,

??????????????????????????????2.0f,?2.0f,

??????????????????????????????0.0f,?0.0f,

??????????????????????????????2.0f,?0.0f?};

We actually tell OpenGL to use part of the texture that does not exist so we need to tell OpenGL what to do with the part that does not exist.

那么超過圖片的位置,OpenGL該如何處理呢?這正是下面我們討論的。

We use the glTexParameterf function to tell OpenGL what to do with the texture. By default OpenGL uses something called GL_REPEAT.

我們使用glTexParameterf函數來告訴OpenGL該如何進行貼圖,默認使用的參數項為GL_REPEAT

GL_REPEAT?means that OpenGL should repeat the texture beyond 1.0.

GL_REPEAT意味著OpenGL應該重復紋理超過1.0的部分
GL_CLAMP_TO_EDGE
?means that OpenGL only will draw the image once and after that just repeat the last pixel line the rest of the image.

GL_CLAMP_TO_EDGE表示OpenGL只畫圖片一次,剩下的部分將使用圖片最后一行像素重復

Since we are working with a 2D texture so we need to tell OpenGL what to do in two directions: GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T.

對于一個2D紋理,我們還需要告訴它們的方向。

Below you see a chart with the 4 combinations of GL_REPEAT and GL_CLAMP_TO_EDGE.

下面請看它們的四種組合(第三種組合對應的圖片錯了。)

WRAP_S: GL_REPEAT
WRAP_T: GL_REPEAT
WRAP_S: GL_REPEAT
WRAP_T: GL_CLAMP_TO_EDGE
WRAP_S: GL_REPEAT
WRAP_T: GL_CLAMP_TO_EDGE
WRAP_S: GL_CLAMP_TO_EDGE
WRAP_T: GL_CLAMP_TO_EDGE

This is how we use the glTexParameterf function:

gl.glTexParameterf(GL10.GL_TEXTURE_2D,

???????????????????GL10.GL_TEXTURE_WRAP_S,

???????????????????GL10.GL_REPEAT);

gl.glTexParameterf(GL10.GL_TEXTURE_2D,

???????????????????GL10.GL_TEXTURE_WRAP_T,

???????????????????GL10.GL_REPEAT);

The last thing we need to do is to bind the bitmap we loaded to the texture id we created.

GLUtils.texImage2D(GL10.GL_TEXTURE_2D,?0, bitmap,?0);

Using the texture

To be able to use the texture we need just like with everything else create a byte buffer with the UV coordinates:

對于UV坐標,我們同樣使用字節緩沖

FloatBuffer byteBuf = ByteBuffer.allocateDirect(texture.length?*?4);

byteBuf.order(ByteOrder.nativeOrder());

textureBuffer = byteBuf.asFloatBuffer();

textureBuffer.put(textureCoordinates);

textureBuffer.position(0);

Rendering

// Telling OpenGL to enable textures.

gl.glEnable(GL10.GL_TEXTURE_2D);

// Tell OpenGL where our texture is located.

gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

// Tell OpenGL to enable the use of UV coordinates.

gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

// Telling OpenGL where our UV coordinates are.

gl.glTexCoordPointer(2, GL10.GL_FLOAT,?0, textureBuffer);

?

// ... here goes the rendering of the mesh ...

?

// Disable the use of UV coordinates.

gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

// Disable the use of textures.

gl.glDisable(GL10.GL_TEXTURE_2D);

Putting it all together

I'm using a modified version of the code from the previous tutorial. The different is mostly that I renamed some variables and functions and added more comments and all code is now under Apache License. To make the code easier to understand I removed the previous plane and added a new easier one called SimplePlane.

Updating the Mesh class

The first thing we need to do is to update the Mesh class (se.jayway.opengl.tutorial.mesh.Mesh). We need to add the functionality to load and render a texture.

We need to be able to set and store the UV coordinates.

// Our UV texture buffer.

private?FloatBuffer mTextureBuffer;

?

/**

?* Set the texture coordinates.

?*

?* @param textureCoords

?*/

protected?void?setTextureCoordinates(float[]?textureCoords)?{

????????// float is 4 bytes, therefore we multiply the number if

????????// vertices with 4.

????????ByteBuffer byteBuf = ByteBuffer.allocateDirect(

???????????????????????????????????????????textureCoords.length?*?4);

????????byteBuf.order(ByteOrder.nativeOrder());

????????mTextureBuffer = byteBuf.asFloatBuffer();

????????mTextureBuffer.put(textureCoords);

????????mTextureBuffer.position(0);

}

?

We also need to add functions to set the bitmap and create the texture.

// Our texture id.

private?int?mTextureId =?-1;

?

// The bitmap we want to load as a texture.

private?Bitmap mBitmap;

?

/**

?* Set the bitmap to load into a texture.

?*

?* @param bitmap

?*/

public?void?loadBitmap(Bitmap bitmap)?{

????????this.mBitmap?= bitmap;

????????mShouldLoadTexture =?true;

}

?

/**

?* Loads the texture.

?*

?* @param gl

?*/

private?void?loadGLTexture(GL10 gl)?{

????????// Generate one texture pointer...

????????int[]?textures =?new?int[1];

????????gl.glGenTextures(1, textures,?0);

????????mTextureId = textures[0];

?

????????// ...and bind it to our array

????????gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureId);

?

????????// Create Nearest Filtered Texture

????????gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,

???????????????????????GL10.GL_LINEAR);

????????gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,

???????????????????????GL10.GL_LINEAR);

?

????????// Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE

????????gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,

???????????????????????GL10.GL_CLAMP_TO_EDGE);

????????gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,

???????????????????????GL10.GL_REPEAT);

?

????????// Use the Android GLUtils to specify a two-dimensional texture image

????????// from our bitmap

????????GLUtils.texImage2D(GL10.GL_TEXTURE_2D,?0, mBitmap,?0);

}

?

And finally we need to add the call to the texture loading and to actually tell OpenGL to render with this texture. I removed some code so the page would not be so long but you will find the code complete in the attached zip file.

// Indicates if we need to load the texture.

private?boolean?mShouldLoadTexture =?false;

?

/**

?* Render the mesh.

?*

?* @param gl

?*????????????the OpenGL context to render to.

?*/

public?void?draw(GL10 gl)?{

????????...

?

????????// Smooth color

????????if?(mColorBuffer !=?null)?{

???????????????// Enable the color array buffer to be used during rendering.

???????????????gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

???????????????gl.glColorPointer(4, GL10.GL_FLOAT,?0, mColorBuffer);

????????}

?

????????if?(mShouldLoadTexture)?{

???????????????loadGLTexture(gl);

???????????????mShouldLoadTexture =?false;

????????}

????????if?(mTextureId !=?-1?&& mTextureBuffer !=?null)?{

???????????????gl.glEnable(GL10.GL_TEXTURE_2D);

???????????????// Enable the texture state

???????????????gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

?

???????????????// Point to our buffers

???????????????gl.glTexCoordPointer(2, GL10.GL_FLOAT,?0, mTextureBuffer);

???????????????gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureId);

????????}

?

????????gl.glTranslatef(x, y, z);

?

????????...

?

????????// Point out the where the color buffer is.

????????gl.glDrawElements(GL10.GL_TRIANGLES, mNumOfIndices,

???????????????????????GL10.GL_UNSIGNED_SHORT, mIndicesBuffer);

?

????????...

?

????????if?(mTextureId !=?-1?&& mTextureBuffer !=?null)?{

???????????????gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

????????}

?

????????...

?

}

Creating the SimplePlane class

We also need to create the SimplePlane.java. The code is pretty simple and self-explaining if you have read my previous tutorials. The new element is the textureCoordinates variable.

?

package?se.jayway.opengl.tutorial.mesh;

?

/**

?* SimplePlane is a setup class for Mesh that creates a plane mesh.

?*

?* @author Per-Erik Bergman (per-erik.bergman@jayway.com)

?*

?*/

public?class?SimplePlane?extends?Mesh?{

????????/**

?????????* Create a plane with a default with and height of 1 unit.

?????????*/

????????public?SimplePlane()?{

???????????????this(1,?1);

????????}

?

????????/**

?????????* Create a plane.

?????????*

?????????* @param width

?????????*????????????the width of the plane.

?????????* @param height

?????????*????????????the height of the plane.

?????????*/

????????public?SimplePlane(float?width,?float?height)?{

???????????????// Mapping coordinates for the vertices

???????????????float?textureCoordinates[]?=?{?0.0f,?2.0f,?//

???????????????????????????????2.0f,?2.0f,?//

???????????????????????????????0.0f,?0.0f,?//

???????????????????????????????2.0f,?0.0f,?//

???????????????};

?

???????????????short[]?indices =?new?short[]?{?0,?1,?2,?1,?3,?2?};

?

????????????????float[]?vertices =?new?float[]?{?-0.5f,?-0.5f,?0.0f,

??????????????????????????????????????????????????0.5f,?-0.5f,?0.0f,

?????????????????????????????????????????????????-0.5f,??0.5f,?0.0f,

??????????????????????????????????????????????????0.5f,?0.5f,?0.0f?};

?

???????????????setIndices(indices);

???????????????setVertices(vertices);

???????????????setTextureCoordinates(textureCoordinates);

????????}

}

?

References

The info used in this tutorial is collected from:
Android Developers
OpenGL ES 1.1 Reference Pages

You can download the source for this tutorial here:?Tutorial_Part_VI
You can also checkout the code from:?code.google.com

Previous tutorial:?OpenGL ES Tutorial for Android – Part V – More on Meshes

Per-Erik Bergman?
Consultant at?Jayway







總結

以上是生活随笔為你收集整理的OpenGL ES教程VI之纹理贴图(原文对照)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产成人免费 | 特黄免费av| av亚洲产国偷v产偷v自拍小说 | 国产小视频在线 | 国内精品久久久久久久影视简单 | 日韩专区av | 成年人免费看av | 欧美日本在线观看视频 | www.天天色.com | 亚洲精品久久久久久久不卡四虎 | 超碰av在线 | 日韩免费播放 | 人人爱人人爽 | 亚洲激情一区二区三区 | 欧洲精品视频一区 | 精品久久久久一区二区国产 | 色av男人的天堂免费在线 | 成人在线视频免费看 | 碰超在线观看 | 久久久久久毛片精品免费不卡 | 欧美日本啪啪无遮挡网站 | 欧美精品国产精品 | 国产又粗又硬又长又爽的视频 | 日韩精品视频免费专区在线播放 | 99精品黄色片免费大全 | 日本黄色黄网站 | 亚洲在线国产 | 一区二区三区在线看 | 天天干天天色2020 | 91亚洲激情 | 97久久精品午夜一区二区 | 久久在线观看视频 | 欧美国产日韩在线观看 | 亚洲色图激情文学 | 亚洲国产美女精品久久久久∴ | 六月婷婷久香在线视频 | 国产在线 一区二区三区 | 欧美久久久久久久久久久久 | 三上悠亚在线免费 | 五月婷婷综 | 久草电影免费在线观看 | 午夜天天操 | 欧美日韩视频免费看 | 久久久精品一区二区 | 免费在线观看不卡av | 免费99精品国产自在在线 | 天天爱天天操 | 黄色一级大片在线免费看国产一 | 久草综合在线观看 | 亚洲性视频 | 亚洲视频免费视频 | 精品国产乱码久久久久久三级人 | 四虎精品成人免费网站 | 射综合网 | 色婷久久 | 性色视频在线 | www.com操| 亚洲精品一区二区三区高潮 | 成人网看片| 亚州黄色一级 | 国产精品久一 | 免费成人短视频 | 精品国产美女 | 国产精品午夜久久久久久99热 | 亚州中文av| 色激情五月 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 在线观看欧美成人 | 欧美视频国产视频 | 深夜免费福利 | 国产黄色av网站 | 国产999精品久久久影片官网 | 国产成人一区二区三区在线观看 | 在线电影91| 在线天堂v| 久久久国产高清 | 日本中文字幕在线 | 91亚洲精品久久久蜜桃网站 | www.色婷婷.com | 久久久国产一区二区三区 | 日本性xxx | 久久久久国产精品免费 | 日韩高清精品免费观看 | 国产一级视屏 | 久久久久成人精品免费播放动漫 | 国产 一区二区三区 在线 | 久久99精品久久久久久秒播蜜臀 | 午夜视频福利 | 国产精品久久综合 | 亚洲 中文字幕av | 久久精品国产精品亚洲 | 美女精品在线 | 在线免费观看一区二区三区 | 免费观看日韩av | 成人av在线网 | 亚洲成av人片在线观看无 | 久草9视频 | 国产精品成人一区二区三区吃奶 | 国产精品一区二区三区99 | 欧美天天射 | 日本乱视频 | 69av免费视频| 日日操日日插 | 亚洲免费av网站 | 久久99精品久久只有精品 | 日韩最新av在线 | 五月天色丁香 | 亚洲国产精品女人久久久 | 欧美成人a在线 | 99精品国产高清在线观看 | 999久久国产精品免费观看网站 | 在线观看a视频 | 色吊丝在线永久观看最新版本 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久综合色综合88 | 成片视频免费观看 | 久久久久免费精品国产 | 午夜国产一区二区 | 九九爱免费视频在线观看 | 精品亚洲va在线va天堂资源站 | 欧美少妇18p| 精品久久久久久电影 | 香蕉在线视频观看 | 一区二区三区精品久久久 | 狠狠地操| 91在线公开视频 | 亚洲综合色激情五月 | 国产高清视频免费最新在线 | 在线有码中文字幕 | 在线观看免费一级片 | 天天干天天摸天天操 | 免费在线观看一级片 | 成人性生交大片免费看中文网站 | 日本高清免费中文字幕 | 91色吧 | 六月激情久久 | 丁香久久婷婷 | 亚洲精品免费在线播放 | 日韩精品一区二区三区在线播放 | 97在线资源 | 在线国产视频一区 | 亚洲最大av在线播放 | 国产福利免费在线观看 | 在线视频 国产 日韩 | 亚洲高清视频一区二区三区 | 久久视频6| 免费看成人片 | 婷婷激情av | 亚洲一区 影院 | 免费亚洲片 | 东方av在线免费观看 | 五月激情站 | 黄色三级免费观看 | 香蕉视频在线免费看 | 欧美日韩午夜在线 | 欧美日韩免费在线观看视频 | av女优中文字幕在线观看 | 亚洲视频久久久久 | 色国产精品 | 国产精品网红福利 | 国内精品久久久久影院优 | 亚洲视频在线观看 | 欧美日韩免费一区二区 | 国产高清成人 | 五月婷影院 | 免费在线观看污 | 久久99国产精品二区护士 | 香蕉视频一级 | 色在线中文字幕 | .国产精品成人自产拍在线观看6 | 欧美成人黄 | 亚洲国产经典视频 | 久久久久久99精品 | 久久视频在线视频 | 久久社区视频 | 超碰在97 | 国产一级黄色av | 日本中文一区二区 | 色大片免费看 | 欧美色就是色 | 黄a网站 | 国产日韩在线播放 | 天天射综合网站 | 天天综合网天天综合色 | 一区二区精品在线视频 | 国内视频在线 | 四虎影视精品成人 | 免费欧美 | 99中文字幕| 日韩经典一区二区三区 | 天天夜夜狠狠操 | 久久综合久久久久88 | 欧美日韩一区二区免费在线观看 | 久久精品免费播放 | 精品视频999 | 91黄色小视频| av成人免费网站 | 国产精品原创视频 | 欧美性做爰猛烈叫床潮 | 国产日韩精品视频 | 91精品视频免费 | 黄污污网站 | 婷婷激情综合网 | 国产精品久久久久久久久久久久 | 久久久久麻豆v国产 | 五月开心婷婷网 | 婷婷综合亚洲 | 欧美少妇的秘密 | 久久久电影网站 | 国产又黄又爽无遮挡 | 91精品日韩 | 欧美日本一二三 | 18久久久久 | 五月天中文在线 | 香蕉视频国产在线观看 | 亚洲午夜久久久久久久久久久 | 91日韩在线专区 | 精品视频在线免费观看 | 欧美a级免费视频 | 国产黄色大片 | 一区二区不卡视频在线观看 | 久久久久久久久久久久99 | 三级av免费 | 在线观看国产中文字幕 | 在线观看中文字幕一区二区 | 日韩av高清在线观看 | 欧美日韩中文视频 | 亚洲精品合集 | 国内三级在线 | 久草青青在线观看 | 国产成人精品在线播放 | 免费观看一区二区三区视频 | 美女久久久久久久久久 | 国产成本人视频在线观看 | 激情婷婷综合 | 国产精品99久久久久的智能播放 | 中文字幕一区二区三区在线播放 | 一区二区三区精品在线 | 在线精品国产 | 天堂网av在线 | 欧美在线观看禁18 | 日本中文字幕电影在线免费观看 | 天堂网一区二区三区 | 天天插狠狠插 | 97视频免费 | 毛片网站在线观看 | 黄色免费在线视频 | 在线观看中文av | 日韩欧美在线国产 | 久久www免费视频 | 亚洲成人资源网 | 亚洲午夜精品久久久久久久久 | 精品国产aⅴ一区二区三区 在线直播av | 成+人+色综合 | 91成人午夜 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 日三级在线 | 日韩精品免费在线观看 | 黄色a一级片 | 免费观看一区 | 在线看黄色av | 最近日韩中文字幕中文 | 日韩精品一区二区三区高清免费 | 国产裸体视频bbbbb | 开心激情婷婷 | 午夜丁香视频在线观看 | 96久久欧美麻豆网站 | 久久久久久久久久久久影院 | 亚洲毛片在线观看. | 粉嫩av一区二区三区四区在线观看 | www.少妇| 波多野结衣在线视频一区 | 久久99国产精品二区护士 | 在线成人小视频 | 久久精品成人欧美大片古装 | 亚洲综合色丁香婷婷六月图片 | 99看视频在线观看 | 18岁免费看片| 久久久久久国产一区二区三区 | 久操视频在线免费看 | 成人九九视频 | 超碰人人av| 国产精品一区二区av影院萌芽 | 日韩精品一区二区三区外面 | 在线视频免费观看 | 国产精品一区二区麻豆 | 97超碰人人模人人人爽人人爱 | 超碰97人人爱 | 久久精品国产v日韩v亚洲 | 亚州国产精品 | 夜色资源网 | 丁香六月综合网 | 婷婷色中文网 | 91免费在线 | 日韩一级黄色片 | 狠狠干成人 | 综合色久 | 精品99久久 | 国产小视频在线看 | www.五月天 | 久久国产精品99久久久久久老狼 | 日韩精品一区二区在线观看视频 | 特片网久久 | 啪啪肉肉污av国网站 | 中文字幕在线看视频 | 国产精品中文字幕av | 国内精品在线看 | 成人av免费看 | 三级小视频在线观看 | 九色porny真实丨国产18 | 亚洲免费国产视频 | 久久综合干 | 黄色av免费看 | 91精品国产91久久久久 | 国产精品videossex国产高清 | 91激情视频在线观看 | 中文字幕在线看 | 日本精品久久久一区二区三区 | 久香蕉| 成人国产精品一区二区 | 91在线视频播放 | 在线超碰av | 日韩精品一区二区三区免费观看视频 | 亚洲国产播放 | 欧美-第1页-屁屁影院 | 一区二区中文字幕在线 | 在线亚洲午夜片av大片 | 亚洲精品视频在线免费播放 | 国内精品久久久久久久久 | 久久精品欧美一区二区三区麻豆 | 国产在线欧美日韩 | 国内小视频 | 久久精品女人毛片国产 | 国产成本人视频在线观看 | 久久久久久久久久网 | www.久久视频 | 欧美精品免费一区二区 | 国产视频1区2区3区 久久夜视频 | 亚洲国产免费av | 中文字幕字幕中文 | 国产999精品 | 久久私人影院 | 欧美综合在线视频 | 亚洲japanese制服美女 | 久久国产经典 | 亚洲精品国产电影 | 黄色av电影网| 天天综合久久综合 | 色爱区综合激月婷婷 | 天天干天天拍天天操天天拍 | 欧美精品一区二区三区一线天视频 | 亚洲va在线va天堂va偷拍 | 黄免费网站| 亚洲专区路线二 | 欧美成人精品三级在线观看播放 | 日韩无在线 | 国产精品岛国久久久久久久久红粉 | 亚洲区精品视频 | 婷婷色 亚洲| 中文字幕精品三区 | 国产精品久久一区二区三区不卡 | 国产亚洲精品久久久久久移动网络 | 国产亚洲精品bv在线观看 | 黄色不卡av | 手机在线看a | 日韩素人在线观看 | 欧美日本国产在线观看 | 色婷婷综合久久久久中文字幕1 | 精品久久久久久久久久 | 又粗又长又大又爽又黄少妇毛片 | 精品日韩在线一区 | 色吧av色av| 天天综合久久综合 | 日韩免费三区 | 天天操操操操操操 | 国产成人精品av | 六月激情久久 | 国精产品999国精产品视频 | 久久99国产精品久久 | 日韩中文字幕视频在线 | 成年人在线观看网站 | 欧美精品在线免费 | 三级av网| 亚洲色图av | 91九色网站| 黄色av成人在线 | 精品国产乱码久久久久久1区2匹 | 99在线观看| 成人资源在线观看 | 久久精品美女视频网站 | 天天干天天做天天爱 | 国产视频一区精品 | 麻豆视屏 | 色婷婷视频在线观看 | 久草在线观看视频免费 | www.夜夜操| av在线一级 | 亚洲日本中文字幕在线观看 | 国产在线观看午夜 | 美女国产在线 | 欧美日韩中文在线观看 | 三级av黄色| 国产精品一区免费在线观看 | 国产亚洲精品久久久久久大师 | 在线观看视频日韩 | 操天天操 | 午夜三级在线 | 精品成人网 | 欧美性视频网站 | 欧美日韩视频在线观看免费 | 国产精品乱码久久久久久1区2区 | 亚洲精品美女在线观看播放 | 午夜久久精品 | 免费美女久久99 | 国产精品美女久久 | 97人人射 | 欧美了一区在线观看 | 中文字幕在线播放第一页 | 麻豆91网站| 色综合久久久久综合体 | 日日天天av | 久久6精品| 久久福利剧场 | 96久久| 97热久久免费频精品99 | 国产一区二区精品 | 人人爽人人爽人人片av免 | 久久综合九色综合久久久精品综合 | 日韩精品久久久 | 中文字幕在线电影 | 中文字幕文字幕一区二区 | 日韩欧美aaa| 婷婷六月激情 | 99精品视频在线免费观看 | 欧美日韩二区三区 | 男女拍拍免费视频 | 尤物97国产精品久久精品国产 | 日韩在线播放视频 | 在线中文字幕视频 | 丁香久久激情 | 久久精品视频在线观看免费 | 日韩高清精品一区二区 | 久久手机看片 | 亚洲国产高清在线 | 国产亚洲亚洲 | 国产96视频 | 久久久久在线 | 亚洲无吗视频在线 | 中国一级片在线播放 | 热re99久久精品国产66热 | 日本久久片| 午夜色婷婷 | 最近日本字幕mv免费观看在线 | 久久久久亚洲天堂 | 99精品视频在线观看视频 | 美女av免费| 麻豆免费视频观看 | 国产在线免费 | 国产成人精品一区二区三区 | 久久国精品 | 中文字幕在线观看免费高清电影 | 91一区啪爱嗯打偷拍欧美 | 国产成人a亚洲精品 | 欧美日本国产在线观看 | 色国产精品一区在线观看 | av在线免费不卡 | 三级免费黄色 | 免费无遮挡动漫网站 | 国产性xxxx| 五月婷丁香| 国产一区高清在线 | 欧美极品xxx | 日韩免费不卡av | 91资源在线免费观看 | 偷拍精品一区二区三区 | 狠狠狠狠狠狠狠狠干 | 国产亚洲精品电影 | 字幕网av | 欧美疯狂性受xxxxx另类 | 人人爽人人舔 | 国产资源在线免费观看 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 精品国产一区二区三区四 | 亚洲精品xx| 中文字幕 在线看 | 久久不射电影院 | 一区二区三区 中文字幕 | 日韩成人xxxx | 色av资源网| 精品国产综合区久久久久久 | 九九精品久久 | 福利区在线观看 | 国产破处在线播放 | 极品久久久久 | 亚洲精品中文字幕在线 | 国内揄拍国内精品 | 亚一亚二国产专区 | 免费午夜av | 天天艹天天 | 波多野结衣精品视频 | av福利在线导航 | 91av视屏| 玖操| 在线观看网站你懂的 | 五月天色丁香 | 91九色丨porny丨丰满6 | 天天骚夜夜操 | 成人在线播放av | 四虎在线观看精品视频 | 欧美一级片在线观看视频 | 国产黄大片在线观看 | 九九色在线观看 | 一区二区三区在线免费观看视频 | 国产精品丝袜久久久久久久不卡 | 免费一级日韩欧美性大片 | 国产在线播放一区二区三区 | 一区二区视频免费在线观看 | 久草视频观看 | www国产亚洲精品 | 中文字幕在线观看不卡 | 五月婷婷天堂 | 91丨九色丨首页 | 五月婷婷久久丁香 | 91精品国产一区二区在线观看 | av中文字幕免费在线观看 | 在线免费观看国产视频 | 99国产精品 | 人人擦| www.com黄色| 丝袜一区在线 | 亚洲一区二区精品视频 | 国产黄在线免费观看 | 在线亚洲小视频 | 狠狠综合网 | 成人一区二区三区中文字幕 | 免费观看久久 | www.黄色在线 | 91免费观看国产 | 欧美精品亚洲二区 | 狠狠做深爱婷婷综合一区 | 特黄特色特刺激视频免费播放 | 久久黄色小说视频 | 天天操狠狠操夜夜操 | 夜夜高潮夜夜爽国产伦精品 | 美女视频是黄的免费观看 | 欧美一区二区在线刺激视频 | 国产亚州av | 日韩成人免费在线观看 | 国产综合福利在线 | 国产精品黄色在线观看 | 最新国产在线 | 五月综合在线观看 | 天天玩天天干天天操 | 色七七亚洲影院 | 精品国产免费一区二区三区五区 | 最近中文字幕高清字幕在线视频 | 亚洲精品tv久久久久久久久久 | 国产又粗又猛又爽 | 久久精品这里热有精品 | 人人玩人人添人人澡超碰 | 激情五月婷婷综合网 | 久久精品日本啪啪涩涩 | 81国产精品久久久久久久久久 | 色a综合| 精品一区二三区 | 天天操夜操 | 中文字幕av日韩 | 超碰精品在线观看 | 手机在线看片日韩 | 视频在线观看亚洲 | wwxxxx日本| 在线婷婷 | 久久草av | 婷婷草| 国产高清视频在线播放 | 亚洲精品午夜aaa久久久 | 亚洲国产美女久久久久 | 狠狠狠色丁香婷婷综合久久五月 | 人人网人人爽 | 天天操天天操天天操天天操 | 免费高清无人区完整版 | 日韩在线视频不卡 | 午夜精品一区二区三区在线观看 | 日本动漫做毛片一区二区 | 视频国产在线观看18 | 久久久久亚洲a | 午夜精品视频福利 | 2019中文| 狠狠躁夜夜躁人人爽超碰97香蕉 | 欧美色一色 | 国产麻豆精品一区二区 | 国产精品自在线 | av网址在线播放 | 成人av免费电影 | 亚洲开心激情 | 久久免费福利 | 久久婷婷网 | 伊人久久五月天 | 久久在线免费 | www.天天操.com| 亚洲三级影院 | 久久久精品成人 | 美女黄频 | 欧美精品一区二区免费 | 日本午夜免费福利视频 | 99精品视频在线观看免费 | 天天干中文字幕 | 香蕉97视频观看在线观看 | 91麻豆精品国产91久久久使用方法 | 国产女教师精品久久av | 日韩精品一区二区三区在线视频 | 欧美一级性生活视频 | 中文字幕在线免费观看 | 亚洲乱亚洲乱亚洲 | 久久国产精品网站 | 国产精品久久久久久a | 日韩女同av | 国产一区福利在线 | 香蕉影院在线观看 | 国内毛片毛片 | 亚洲黄电影 | 香蕉视频国产在线观看 | www免费| 深夜免费福利 | 国产一级免费在线观看 | 色婷婷综合久久久久中文字幕1 | 亚洲天堂网视频在线观看 | 国产九九九精品视频 | 日本中文字幕系列 | 国产午夜精品一区二区三区 | 久久久久久久久黄色 | 日本aaa在线观看 | 精品国产福利在线 | 六月色| 五月天丁香综合 | 日韩在线观看的 | 国产视频第二页 | 亚洲人人射 | 丁香花五月 | 国产精品久久久久久久免费观看 | 日韩免 | 91在线观看欧美日韩 | 日韩精品一区二区三区免费视频观看 | 永久免费观看视频 | 天天躁日日躁狠狠躁av中文 | 国产精品欧美激情在线观看 | 91丨porny丨九色 | 国产精品久久一区二区三区不卡 | 中文字幕av免费观看 | 国产欧美中文字幕 | 亚州成人av在线 | 五月在线 | 国产精品久久 | 精品福利在线视频 | 黄色毛片视频免费 | 精品福利网 | 国产天天综合 | 中文字幕乱码亚洲精品一区 | 成人av高清在线 | 韩国精品一区二区三区六区色诱 | 99色免费 | 日韩在线视频看看 | 1区2区视频 | 国产精品99免费看 | 麻豆精品传媒视频 | 国产在线观看免费 | 中文av在线播放 | 国产视频精选在线 | 天堂在线一区二区三区 | 欧美性黄网官网 | 日韩理论电影网 | 在线观看色网 | 日韩免费av在线 | 欧美视屏一区二区 | 波多野结衣视频一区二区三区 | 久久99久久99精品免观看软件 | 欧美a级在线免费观看 | 免费情缘 | 三级av免费看 | 免费看国产曰批40分钟 | 亚洲成人中文在线 | 国产精品网红福利 | 一区二区三区四区精品 | 五月激情站| 色的网站在线观看 | 日韩免费成人 | 特级西西444www高清大视频 | 欧美另类69 | 麻豆久久久 | 美女视频是黄的免费观看 | 99视频这里只有 | 国产高清在线精品 | 中文字幕在线免费97 | 国产精品女人久久久久久 | 99色99| 黄色在线小网站 | 9999毛片| 久久天天躁夜夜躁狠狠85麻豆 | 成人一区二区三区在线观看 | 99在线观看免费视频精品观看 | 国产精品一区在线播放 | 这里只有精品视频在线 | 日韩a免费 | 欧美一级性视频 | 精品美女视频 | 91成人精品一区在线播放69 | 国产精品成人免费精品自在线观看 | 久久精品在线 | 久久亚洲免费 | 亚洲综合视频在线 | 日日夜夜精品免费视频 | 亚洲午夜久久久久久久久 | 美女网站视频免费黄 | 国产在线资源 | av在线免费观看网站 | 日韩理论在线观看 | 久久精品精品 | 黄色大全视频 | 国产精品igao视频网网址 | 免费国产一区二区 | av片中文 | 国产99久久九九精品 | 天天综合中文 | 欧美日韩国产精品一区二区亚洲 | 激情网在线视频 | 欧美日韩精品在线观看 | 国产精品99久久久久久久久久久久 | 国产精品免费一区二区三区 | 久久精品www人人爽人人 | 久久免费黄色大片 | 国产三级久久久 | 九9热这里真品2 | 久久精品123 | 久久综合丁香 | 久久国产视频网 | 国产亚洲精品美女久久 | 欧美一级片在线免费观看 | 国产精品一二 | 狠色在线| 一区二区在线影院 | 91麻豆免费视频 | 久久精品一区二区三区视频 | 精品国产99国产精品 | 精品一区二区综合 | 三级黄色大片在线观看 | 国产在线日韩 | 97超碰精品| 夜夜视频欧洲 | 色偷偷888欧美精品久久久 | 久久毛片网| 免费在线观看的av网站 | 香蕉视频在线免费 | 免费视频 三区 | 国产精品久久久久久久免费大片 | 久久免费视频3 | 国产精品视频免费在线观看 | 国产精品久久久久久久久久东京 | 欧美日韩在线网站 | 免费黄色av电影 | 香蕉视频国产在线观看 | 天天爽夜夜爽人人爽一区二区 | 一区二区三区四区五区在线视频 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国内视频一区二区 | 国产精品免费久久久 | 美女国内精品自产拍在线播放 | 毛片网站在线看 | 精品综合久久久 | 狠狠躁夜夜躁人人爽超碰91 | 久久超| 亚洲v精品| 欧美在线观看视频 | 国产精品一区二区在线免费观看 | 一级全黄毛片 | 成人免费观看在线视频 | 在线观看成人小视频 | 国产精品视频全国免费观看 | 最近中文字幕高清字幕免费mv | 探花视频在线观看免费 | 久久福利 | 国产精品久久网 | 国产成人在线观看 | 久久亚洲福利视频 | 1区2区3区在线观看 三级动图 | 五月婷激情 | 最近中文字幕免费观看 | 久久免费视频8 | 久久深爱网 | 人人干网| 日本激情中文字幕 | 亚洲精品日韩在线观看 | 福利精品在线 | 国产精品久久精品国产 | 国产视频精品在线 | 日韩视频一区二区在线观看 | 日韩精品综合在线 | 日韩一级黄色大片 | 久久精品中文视频 | 色综合欧洲| 97超在线 | 欧美少妇的秘密 | 久久伊人免费视频 | 久久免费看 | 免费视频网 | 在线观看亚洲 | 亚洲日韩精品欧美一区二区 | 国产 字幕 制服 中文 在线 | www五月婷婷 | 久久精品国产亚洲 | 久久久电影 | 精品国模一区二区三区 | 99久久精品免费看国产四区 | 午夜黄网 | 天天爱天天操 | 亚洲一区二区天堂 | 国产精品午夜免费福利视频 | 国产一级在线 | 天天色天天 | 欧美极度另类 | 国产乱码精品一区二区蜜臀 | 久久免费毛片 | 黄色a大片| 久久精品理论 | 一区二区三区动漫 | 高清一区二区三区 | 91精品1区| 国产这里只有精品 | 天天色天天射天天干 | 伊人色播| 国产精品mm| 在线观看一级片 | 久久精品人人做人人综合老师 | 国产一级91 | 视频国产在线 | 久草在线视频看看 | 少妇视频在线播放 | 国产不卡免费av | 欧美久久久久久久久中文字幕 | 亚洲精品高清在线 | 中国成人一区 | 中文资源在线观看 | 国产精品成人在线观看 | 国产成人久久精品 | 美女福利视频一区二区 | 色婷婷导航 | 成人av在线亚洲 | 精品在线观看一区二区 | 午夜电影久久久 | 国产人成一区二区三区影院 | 国产91对白在线播 | 久久精彩免费视频 | 日本黄色免费网站 | 久久爱导航 | 三级a毛片 | 精品国模一区二区三区 | av电影在线播放 | 福利av影院 | 国语麻豆 | 99热99热| 日本中文字幕在线一区 | 日本午夜免费福利视频 | 久久久免费看视频 | 久精品视频在线观看 | 久久九九影视网 | 欧美网站黄色 | av色影院 | 91麻豆网站| 日韩在线影视 | 久久久蜜桃一区二区 | 极品久久久 | 中文字幕在线视频第一页 | 91免费观看视频网站 | 国产亚洲亚洲 | 91网站在线视频 | 精品免费久久久久久 | 欧美日韩一区二区在线 | 免费观看www7722午夜电影 | 天天操天天摸天天干 | 亚洲码国产日韩欧美高潮在线播放 | 狠狠操夜夜 | 久久美女精品 | 正在播放一区 | 欧美精品免费在线 | 免费福利在线观看 | 亚洲精品视频偷拍 | 欧美另类色图 | 国产精品免费av | 黄色在线网站噜噜噜 | 国产精品一区二区三区视频免费 | 91九色性视频 | 色中色资源站 | 精品婷婷 | 欧美 亚洲 另类 激情 另类 | 香蕉精品视频在线观看 | 丁香视频 | 黄色的视频 | 黄色的片子| 成人国产精品久久久 | 亚洲欧美视频一区二区三区 | 欧洲一区二区在线观看 | 中文超碰字幕 | 成人免费观看电影 | 久草视频免费看 | 中文字幕文字幕一区二区 | 成人av网站在线观看 | 九九精品在线观看 | 四虎国产精品免费观看视频优播 | 色com| 色婷婷骚婷婷 | 成人影视免费看 | 国产麻豆精品一区二区 | 色婷婷婷 | 国产精品手机在线观看 | 国产看片网站 | 欧美成人在线免费 | 国产精品原创av片国产免费 | 久久99热这里只有精品 | 一区二区三区国产欧美 | 国产黄色视 | 搡bbbb搡bbb视频 | 成人av在线一区二区 | 欧美日韩精品在线 | 中文字幕91 | 色综合天天色综合 | 欧美在线视频不卡 | av在线永久免费观看 | 91爱爱视频| 日本女人b | 日韩色综合网 | 中文字幕你懂的 | 亚洲欧洲久久久 | 日韩在线免费视频观看 | 国产成人精品999 | 丁香六月婷婷开心婷婷网 | 国产精品成人一区二区三区吃奶 | 美女禁18| 日韩极品视频在线观看 | 欧美精品少妇xxxxx喷水 | 国产精品原创av片国产免费 | 色天天中文 | 日韩精品一区二区三区高清免费 | 亚洲国产精品成人av | 中文字幕在线免费97 | 欧美 亚洲 另类 激情 另类 | 看黄色.com | 亚洲国产精品999 | 国产资源在线视频 | 最近中文字幕大全中文字幕免费 | 久久不射影院 | 免费网址你懂的 | www..com黄色片 | 中文字幕中文字幕在线中文字幕三区 | 超碰97人人射妻 | 99热9| 激情视频综合网 | 日韩极品视频在线观看 | 五月婷婷色综合 | 美女精品在线 | 国产丝袜网站 | 久久久久久高潮国产精品视 | 欧美男同视频网站 | 久久久91精品国产一区二区三区 | 国产精品免费一区二区三区在线观看 | 九九视频精品在线 | 日韩高清在线一区二区 | 欧美国产不卡 | 成年人在线观看 | 日韩一区二区三 | 成人免费视频网址 | 国产精品久久久久久爽爽爽 | 日韩免费久久 | 久草影视在线观看 | 99色资源 | 亚洲黄色大片 | 好看av在线 | 色偷偷97 | 久久久久高清毛片一级 | 国产精品久久久久久久av电影 | 久久国产精品99久久久久 | 久久视讯 | 日韩一级黄色av | 久久人人爽 | 操操综合 | 91日本在线播放 | 国产123区在线观看 国产精品麻豆91 | 中文字幕日韩无 | 国产精品久久久久久久午夜 | 欧美精品乱码久久久久久按摩 | 国产成人av综合色 | 亚洲国产伊人 | 99视频在线| 一级黄色电影网站 | 丁香五婷 | 婷婷色网址 | 国际精品久久 | www.天天色| 欧美一级片播放 | 欧美精品在线观看一区 |