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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【OpenGL】实例渲染示例——草地渲染

發(fā)布時間:2024/8/1 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【OpenGL】实例渲染示例——草地渲染 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Git過大無法發(fā)正確幀數(shù)的原圖

原理:使用glDrawArraysInstancedARB函數(shù)進行渲染1024*1024個6個頂點的三角形帶,即glDrawArraysInstancedARB(GL_TRIANGLE_STRIP, 0, 6, 1024 * 1024); ,在進行這一步之前要準備好所有所需的數(shù)據(jù),它們都被捆綁到了VAO中,有如下幾個數(shù)據(jù):

1、grass_blade 草的頂點數(shù)組 總共6個組成一個由4個三角形構成的三角形帶,將其存儲在一個GL_ARRAY_BUFFER綁定點的緩沖區(qū)vertexBuffer中。
2、length.tga 長度紋理存儲在?length_texture紋理對象中。 【紋理目標1】
3、orientation.tga 旋轉(方向)紋理 存儲在orientation_texture紋理對象中。?【紋理目標2】
4、grasspalette_data1D漸變紋理數(shù)據(jù) 存儲在?grasspalette_texture 1D紋理對象中?【紋理目標3】
5、color.tga 顏色紋理 存儲在grasscolor_texture紋理對象中?【紋理目標4】
6、bend.tga 混合值紋理 存儲在bend_texture紋理對象中??【紋理目標5】

上述數(shù)據(jù)對應到頂點著色器的vVertex、length_texture、orientation_texture、grasspalette_texture、grasscolor_texture、bend_texture。全部都捆綁到了VAO,到時候調用glDrawArraysInstancedARB之前只需指定這個VAO即可,即glBindVertexArray(vao);

Grass.vs

// Perspective correction demonstration // Vertex Shader // Graham Sellers // OpenGL SuperBible #version 150precision highp float;// Incoming per vertex position and texture coordinate in vec4 vVertex;// Output varyings out vec4 color;uniform mat4 mvpMatrix;uniform sampler2D length_texture; uniform sampler2D orientation_texture; uniform sampler1D grasspalette_texture; uniform sampler2D grasscolor_texture; uniform sampler2D bend_texture;int random(int seed, int iterations) {int value = seed;int n;for (n = 0; n < iterations; n++) {value = ((value >> 7) ^ (value << 9)) * 15485863;}return value; }vec4 random_vector(int seed) {int r = random(gl_InstanceID, 4);int g = random(r, 2);int b = random(g, 2);int a = random(b, 2);return vec4(float(r & 0x3FF) / 1024.0,float(g & 0x3FF) / 1024.0,float(b & 0x3FF) / 1024.0,float(a & 0x3FF) / 1024.0); }mat4 construct_rotation_matrix(float angle) {float st = sin(angle);float ct = cos(angle);return mat4(vec4(ct, 0.0, st, 0.0),vec4(0.0, 1.0, 0.0, 0.0),vec4(-st, 0.0, ct, 0.0),vec4(0.0, 0.0, 0.0, 1.0)); }void main(void) {//可能這里看不懂在干嘛,這是用gl_InstanceID實例ID(每個草的ID都不一樣從0開始自增到最大數(shù)量-1) 我們用的是2的20次方個數(shù),即有20位,用它的前面10位作為X,后10位作為Y 生成offset。//其中,減去-512.0是將其坐標映射到一個[-512,512]的2D范圍(XY都是這個范圍)vec4 offset = vec4(float(gl_InstanceID >> 10) - 512.0,0.0f,float(gl_InstanceID & 0x3FF) - 512.0,0.0f);//3次迭代根據(jù)實例ID求隨機數(shù)1int number1 = random(gl_InstanceID, 3);//2次迭代根據(jù)實例ID求隨機數(shù)2int number2 = random(number1, 2);//隨機數(shù)1和隨機數(shù)2均取它的后八位并除以1024作為一個擾動值,讓草的位置不那么規(guī)整。offset += vec4(float(number1 & 0xFF) / 1024.0,0.0f,float(number2 & 0xFF) / 1024.0,0.0f);// float angle = float(random(number2, 2) & 0x3FF) / 1024.0;//根據(jù)擾動后的草位置求出它的紋理坐標,即先將xz映射回[-0.5,0.5]再+0.5映射回[0,1](本例紋理坐標必須是[0,1]才正常)vec2 texcoord = offset.xz / 1024.0 + vec2(0.5);// float bend_factor = float(random(number2, 7) & 0x3FF) / 1024.0;//從混合值貼圖采樣得到R通道即混合值float bend_factor = texture(bend_texture, texcoord).r * 2.0;//求出一個被混合數(shù)值,它是頂點坐標Y值的余弦值(這里我也很迷)float bend_amount = cos(vVertex.y);//從旋轉貼圖獲取旋轉角度 并轉成弧度值float angle = texture(orientation_texture, texcoord).r * 2.0 * 3.141592;//根據(jù)弧度值生成相應的圍繞Y軸旋轉矩陣rotmat4 rot = construct_rotation_matrix(angle);//對頂點坐標先進行局部位置的Y值偏移,然后進行旋轉變換,最后再加上位置偏移量offsetvec4 position = (rot * (vVertex + vec4(0.0, 0.0, bend_amount * bend_factor, 0.0))) + offset;//對位置Y值進行根據(jù)長度貼圖采樣的系數(shù)進行縮放(即草的高度縮放)position *= vec4(1.0, texture(length_texture, texcoord).r * 0.9 + 0.3, 1.0, 1.0);//局部轉投影空間gl_Position = mvpMatrix * position; // (rot * position);// color = vec4(random_vector(gl_InstanceID).xyz * vec3(0.1, 0.5, 0.1) + vec3(0.1, 0.4, 0.1), 1.0);// color = texture(orientation_texture, texcoord);//從首先從草地顏色貼圖采樣出R通道,它是作為1D漸變貼圖的采樣紋理坐標數(shù)值去采樣1D紋理貼圖獲取到草的顏色,再疊加一個根據(jù)實例ID隨機出的隨機向量 + 偏綠顏色值 得到最終顏色輸出給片段著色器進行輸出color = texture(grasspalette_texture, texture(grasscolor_texture, texcoord).r) +vec4(random_vector(gl_InstanceID).xyz * vec3(0.1, 0.5, 0.1), 1.0); }

Grass.fs

// Perspective correction demonstration // Fragment Shader // Graham Sellers // OpenGL SuperBible #version 150precision highp float;in vec4 color;out vec4 output_color;void main(void) {vec2 coord;output_color = color; } // grassShader.cpp // OpenGL SuperBible // Demonstrates the effect of the 'noperspective' interpolation qualifier // Program by Graham Sellers #pragma comment(lib, "gltools.lib") #include <GLTools.h> // OpenGL toolkit #include <GLMatrixStack.h> #include <GLFrame.h> #include <GLFrustum.h> #include <GLGeometryTransform.h> #include "StopWatch.h"#include <math.h> #ifdef __APPLE__ #include <glut/glut.h> #else #define FREEGLUT_STATIC #include <GL/glut.h> //#include <GL/freeglut_ext.h> #endif//#include <GL/freeglut_ext.h> #ifdef linux #include <cstdlib> #endifGLFrame viewFrame; GLFrustum viewFrustum; GLMatrixStack modelViewMatrix; GLMatrixStack projectionMatrix; GLGeometryTransform transformPipeline;GLuint grassShader; // The perspective demonstration shader GLint locMVP; // The location of the ModelViewProjection matrix uniformGLuint length_texture; // GLuint orientation_texture; GLuint grasspalette_texture; GLuint grasscolor_texture; GLuint bend_texture;GLuint vao; // The VAO GLuint vertexBuffer; // Geometry VBOconst unsigned char grasspalette_data[] = {0x5E, 0x5F, 0x15, 0x5E, 0x5F, 0x14, 0x5E, 0x5F,0x14, 0x5E, 0x5F, 0x14, 0x5E, 0x5F, 0x14, 0x5E,0x5F, 0x14, 0x5E, 0x5F, 0x14, 0x5E, 0x5F, 0x14,0x5F, 0x5F, 0x14, 0x5F, 0x60, 0x14, 0x5F, 0x60,0x14, 0x5F, 0x60, 0x14, 0x5F, 0x60, 0x14, 0x5F,0x60, 0x13, 0x5F, 0x60, 0x13, 0x5F, 0x60, 0x13,0x60, 0x60, 0x13, 0x60, 0x61, 0x13, 0x60, 0x61,0x13, 0x60, 0x61, 0x13, 0x60, 0x61, 0x13, 0x60,0x61, 0x13, 0x60, 0x61, 0x13, 0x60, 0x61, 0x13,0x61, 0x61, 0x13, 0x61, 0x62, 0x12, 0x61, 0x62,0x12, 0x61, 0x62, 0x12, 0x61, 0x62, 0x12, 0x61,0x62, 0x12, 0x61, 0x62, 0x12, 0x62, 0x62, 0x12,0x62, 0x62, 0x12, 0x62, 0x63, 0x12, 0x62, 0x63,0x12, 0x62, 0x63, 0x12, 0x62, 0x63, 0x12, 0x62,0x63, 0x11, 0x62, 0x63, 0x11, 0x63, 0x63, 0x11,0x63, 0x63, 0x11, 0x63, 0x64, 0x11, 0x63, 0x64,0x11, 0x63, 0x64, 0x11, 0x63, 0x64, 0x11, 0x63,0x64, 0x11, 0x63, 0x64, 0x11, 0x64, 0x64, 0x11,0x64, 0x64, 0x11, 0x64, 0x64, 0x10, 0x64, 0x65,0x10, 0x64, 0x65, 0x10, 0x64, 0x65, 0x10, 0x64,0x65, 0x10, 0x65, 0x65, 0x10, 0x65, 0x65, 0x10,0x65, 0x65, 0x10, 0x65, 0x65, 0x10, 0x65, 0x66,0x10, 0x65, 0x66, 0x10, 0x65, 0x66, 0x10, 0x65,0x66, 0x0F, 0x66, 0x66, 0x0F, 0x66, 0x66, 0x0F,0x66, 0x66, 0x0F, 0x66, 0x66, 0x0F, 0x66, 0x67,0x0F, 0x66, 0x67, 0x0F, 0x66, 0x67, 0x0F, 0x66,0x67, 0x0F, 0x67, 0x67, 0x0F, 0x67, 0x67, 0x0F,0x67, 0x67, 0x0F, 0x67, 0x67, 0x0E, 0x67, 0x68,0x0E, 0x67, 0x68, 0x0E, 0x67, 0x68, 0x0E, 0x67,0x68, 0x0E, 0x68, 0x68, 0x0E, 0x68, 0x68, 0x0E,0x68, 0x68, 0x0E, 0x68, 0x68, 0x0E, 0x68, 0x69,0x0E, 0x68, 0x69, 0x0E, 0x68, 0x69, 0x0E, 0x69,0x69, 0x0D, 0x69, 0x69, 0x0D, 0x69, 0x69, 0x0D,0x69, 0x69, 0x0D, 0x69, 0x69, 0x0D, 0x69, 0x69,0x0D, 0x69, 0x6A, 0x0D, 0x69, 0x6A, 0x0D, 0x6A,0x6A, 0x0D, 0x6A, 0x6A, 0x0D, 0x6A, 0x6A, 0x0D,0x6A, 0x6A, 0x0D, 0x6A, 0x6A, 0x0C, 0x6A, 0x6A,0x0C, 0x6A, 0x6B, 0x0C, 0x6A, 0x6B, 0x0C, 0x6B,0x6B, 0x0C, 0x6B, 0x6B, 0x0C, 0x6B, 0x6B, 0x0C,0x6B, 0x6B, 0x0C, 0x6B, 0x6B, 0x0C, 0x6B, 0x6B,0x0C, 0x6B, 0x6C, 0x0C, 0x6C, 0x6C, 0x0C, 0x6C,0x6C, 0x0B, 0x6C, 0x6C, 0x0B, 0x6C, 0x6C, 0x0B,0x6C, 0x6C, 0x0B, 0x6C, 0x6C, 0x0B, 0x6C, 0x6C,0x0B, 0x6C, 0x6D, 0x0B, 0x6D, 0x6D, 0x0B, 0x6D,0x6D, 0x0B, 0x6D, 0x6D, 0x0B, 0x6D, 0x6D, 0x0B,0x6D, 0x6D, 0x0B, 0x6D, 0x6D, 0x0A, 0x6D, 0x6D,0x0A, 0x6D, 0x6E, 0x0A, 0x6E, 0x6E, 0x0A, 0x6E,0x6E, 0x0A, 0x6E, 0x6E, 0x0A, 0x6E, 0x6E, 0x0A,0x6E, 0x6E, 0x0A, 0x6E, 0x6E, 0x0A, 0x6E, 0x6E,0x0A, 0x6F, 0x6F, 0x0A, 0x6F, 0x6F, 0x0A, 0x6F,0x6F, 0x0A, 0x6F, 0x6F, 0x09, 0x6F, 0x6F, 0x09,0x6F, 0x6F, 0x09, 0x6F, 0x6F, 0x09, 0x6F, 0x6F,0x09, 0x6F, 0x6F, 0x09, 0x6F, 0x6F, 0x09, 0x70,0x70, 0x09, 0x70, 0x70, 0x09, 0x70, 0x70, 0x09,0x70, 0x70, 0x09, 0x70, 0x70, 0x09, 0x70, 0x70,0x09, 0x70, 0x70, 0x09, 0x70, 0x70, 0x08, 0x71,0x71, 0x08, 0x71, 0x71, 0x08, 0x71, 0x71, 0x08,0x71, 0x71, 0x08, 0x71, 0x71, 0x08, 0x71, 0x71,0x08, 0x71, 0x71, 0x08, 0x71, 0x71, 0x08, 0x71,0x71, 0x08, 0x72, 0x72, 0x08, 0x72, 0x72, 0x08,0x72, 0x72, 0x08, 0x72, 0x72, 0x08, 0x72, 0x72,0x07, 0x72, 0x72, 0x07, 0x72, 0x72, 0x07, 0x72,0x72, 0x07, 0x73, 0x73, 0x07, 0x73, 0x73, 0x07,0x73, 0x73, 0x07, 0x73, 0x73, 0x07, 0x73, 0x73,0x07, 0x73, 0x73, 0x07, 0x73, 0x73, 0x07, 0x73,0x73, 0x07, 0x74, 0x74, 0x07, 0x74, 0x74, 0x07,0x74, 0x74, 0x07, 0x74, 0x74, 0x06, 0x74, 0x74,0x06, 0x74, 0x74, 0x06, 0x74, 0x74, 0x06, 0x74,0x74, 0x06, 0x74, 0x74, 0x06, 0x75, 0x75, 0x06,0x75, 0x75, 0x06, 0x75, 0x75, 0x06, 0x75, 0x75,0x06, 0x75, 0x75, 0x06, 0x75, 0x75, 0x06, 0x75,0x75, 0x06, 0x75, 0x75, 0x06, 0x76, 0x76, 0x05,0x76, 0x76, 0x05, 0x76, 0x76, 0x05, 0x76, 0x76,0x05, 0x76, 0x76, 0x05, 0x76, 0x76, 0x05, 0x76,0x76, 0x05, 0x76, 0x76, 0x05, 0x77, 0x77, 0x05,0x77, 0x77, 0x05, 0x77, 0x77, 0x05, 0x77, 0x77,0x05, 0x77, 0x77, 0x05, 0x77, 0x77, 0x05, 0x77,0x77, 0x04, 0x77, 0x77, 0x04, 0x77, 0x77, 0x04,0x78, 0x78, 0x04, 0x78, 0x78, 0x04, 0x78, 0x78,0x04, 0x78, 0x78, 0x04, 0x78, 0x78, 0x04, 0x78,0x78, 0x04, 0x78, 0x78, 0x04, 0x78, 0x78, 0x04,0x79, 0x79, 0x04, 0x79, 0x79, 0x04, 0x79, 0x79,0x04, 0x79, 0x79, 0x04, 0x79, 0x79, 0x03, 0x79,0x79, 0x03, 0x79, 0x79, 0x03, 0x79, 0x79, 0x03,0x79, 0x79, 0x03, 0x7A, 0x7A, 0x03, 0x7A, 0x7A,0x03, 0x7A, 0x7A, 0x03, 0x7A, 0x7A, 0x03, 0x7A,0x7A, 0x03, 0x7A, 0x7A, 0x03, 0x7A, 0x7A, 0x03,0x7A, 0x7A, 0x03, 0x7B, 0x7B, 0x03, 0x7B, 0x7B,0x02, 0x7B, 0x7B, 0x02, 0x7B, 0x7B, 0x02, 0x7B,0x7B, 0x02, 0x7B, 0x7B, 0x02, 0x7B, 0x7B, 0x02,0x7B, 0x7B, 0x02, 0x7C, 0x7C, 0x02, 0x7C, 0x7C,0x02, 0x7C, 0x7C, 0x02, 0x7C, 0x7C, 0x02, 0x7C,0x7C, 0x02, 0x7C, 0x7C, 0x02, 0x7C, 0x7C, 0x02,0x7C, 0x7C, 0x01, 0x7C, 0x7C, 0x01, 0x7D, 0x7D,0x01, 0x7D, 0x7D, 0x01, 0x7D, 0x7D, 0x01, 0x7D,0x7D, 0x01, 0x7D, 0x7D, 0x01, 0x7D, 0x7D, 0x01,0x7D, 0x7D, 0x01, 0x7D, 0x7D, 0x01, 0x7E, 0x7E,0x01, 0x7E, 0x7E, 0x01, 0x7E, 0x7E, 0x01, 0x7E,0x7E, 0x01, 0x7E, 0x7E, 0x01, 0x7E, 0x7E, 0x00,0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x00, 0x7F, 0x7F,0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x00, 0x7F,0x7F, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x00,0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F,0x00, 0x80, 0x80, 0x00, 0x7F, 0x80, 0x00, 0x7F,0x80, 0x00, 0x7F, 0x80, 0x00, 0x7E, 0x80, 0x00,0x7E, 0x80, 0x00, 0x7E, 0x80, 0x00, 0x7D, 0x80,0x00, 0x7D, 0x80, 0x00, 0x7D, 0x80, 0x00, 0x7C,0x80, 0x00, 0x7C, 0x80, 0x00, 0x7C, 0x80, 0x00,0x7B, 0x80, 0x00, 0x7B, 0x80, 0x00, 0x7B, 0x80,0x00, 0x7A, 0x80, 0x00, 0x7A, 0x80, 0x00, 0x7A,0x80, 0x00, 0x79, 0x80, 0x00, 0x79, 0x80, 0x00,0x79, 0x80, 0x00, 0x78, 0x80, 0x00, 0x78, 0x80,0x00, 0x78, 0x80, 0x00, 0x77, 0x80, 0x00, 0x77,0x80, 0x00, 0x77, 0x80, 0x00, 0x76, 0x80, 0x00,0x76, 0x80, 0x00, 0x76, 0x80, 0x00, 0x75, 0x80,0x00, 0x75, 0x80, 0x00, 0x75, 0x80, 0x00, 0x74,0x80, 0x00, 0x74, 0x80, 0x00, 0x74, 0x80, 0x00,0x74, 0x80, 0x00, 0x73, 0x80, 0x00, 0x73, 0x80,0x00, 0x73, 0x80, 0x00, 0x72, 0x80, 0x00, 0x72,0x80, 0x00, 0x72, 0x80, 0x00, 0x71, 0x80, 0x00,0x71, 0x80, 0x00, 0x71, 0x80, 0x00, 0x70, 0x80,0x00, 0x70, 0x80, 0x00, 0x70, 0x80, 0x00, 0x6F,0x80, 0x00, 0x6F, 0x80, 0x00, 0x6F, 0x80, 0x00,0x6E, 0x80, 0x00, 0x6E, 0x80, 0x00, 0x6E, 0x80,0x00, 0x6D, 0x80, 0x00, 0x6D, 0x80, 0x00, 0x6D,0x80, 0x00, 0x6C, 0x80, 0x00, 0x6C, 0x80, 0x00,0x6C, 0x80, 0x00, 0x6B, 0x80, 0x00, 0x6B, 0x80,0x00, 0x6B, 0x80, 0x00, 0x6A, 0x80, 0x00, 0x6A,0x80, 0x00, 0x6A, 0x80, 0x00, 0x69, 0x80, 0x00,0x69, 0x80, 0x00, 0x69, 0x80, 0x00, 0x68, 0x80,0x00, 0x68, 0x80, 0x00, 0x68, 0x80, 0x00, 0x67,0x80, 0x00, 0x67, 0x80, 0x00, 0x67, 0x80, 0x00,0x66, 0x80, 0x00, 0x66, 0x80, 0x00, 0x66, 0x80,0x00, 0x65, 0x80, 0x00, 0x65, 0x80, 0x00, 0x65,0x80, 0x00, 0x64, 0x80, 0x00, 0x64, 0x80, 0x00,0x64, 0x80, 0x00, 0x63, 0x80, 0x00, 0x63, 0x80,0x00, 0x63, 0x80, 0x00, 0x62, 0x80, 0x00, 0x62,0x80, 0x00, 0x62, 0x80, 0x00, 0x62, 0x80, 0x00,0x61, 0x80, 0x00, 0x61, 0x80, 0x00, 0x61, 0x80,0x00, 0x60, 0x80, 0x00, 0x60, 0x80, 0x00, 0x60,0x80, 0x00, 0x5F, 0x80, 0x00, 0x5F, 0x80, 0x00,0x5F, 0x80, 0x00, 0x5E, 0x80, 0x00, 0x5E, 0x80,0x00, 0x5E, 0x80, 0x00, 0x5D, 0x80, 0x00, 0x5D,0x80, 0x00, 0x5D, 0x80, 0x00, 0x5C, 0x80, 0x00,0x5C, 0x80, 0x00, 0x5C, 0x80, 0x00, 0x5B, 0x80,0x00, 0x5B, 0x80, 0x00, 0x5B, 0x80, 0x00, 0x5A,0x80, 0x00, 0x5A, 0x80, 0x00, 0x5A, 0x80, 0x00,0x59, 0x80, 0x00, 0x59, 0x80, 0x00, 0x59, 0x80,0x00, 0x58, 0x80, 0x00, 0x58, 0x80, 0x00, 0x58,0x80, 0x00, 0x57, 0x80, 0x00, 0x57, 0x80, 0x00,0x57, 0x80, 0x00, 0x56, 0x80, 0x00, 0x56, 0x80,0x00, 0x56, 0x80, 0x00, 0x55, 0x80, 0x00, 0x55,0x80, 0x00, 0x55, 0x80, 0x00, 0x54, 0x80, 0x00,0x54, 0x80, 0x00, 0x54, 0x80, 0x00, 0x53, 0x80,0x00, 0x53, 0x80, 0x00, 0x53, 0x80, 0x00, 0x52,0x80, 0x00, 0x52, 0x80, 0x00, 0x52, 0x80, 0x00,0x51, 0x80, 0x00, 0x51, 0x80, 0x00, 0x51, 0x80,0x00, 0x51, 0x80, 0x00, 0x50, 0x80, 0x00, 0x50,0x80, 0x00, 0x50, 0x80, 0x00, 0x4F, 0x80, 0x00,0x4F, 0x80, 0x00, 0x4F, 0x80, 0x00, 0x4E, 0x80,0x00, 0x4E, 0x80, 0x00, 0x4E, 0x80, 0x00, 0x4D,0x80, 0x00, 0x4D, 0x80, 0x00, 0x4D, 0x80, 0x00,0x4C, 0x80, 0x00, 0x4C, 0x80, 0x00, 0x4C, 0x80,0x00, 0x4B, 0x80, 0x00, 0x4B, 0x80, 0x00, 0x4B,0x80, 0x00, 0x4A, 0x80, 0x00, 0x4A, 0x80, 0x00,0x4A, 0x80, 0x00, 0x49, 0x80, 0x00, 0x49, 0x80,0x00, 0x49, 0x80, 0x00, 0x48, 0x80, 0x00, 0x48,0x80, 0x00, 0x48, 0x80, 0x00, 0x47, 0x80, 0x00,0x47, 0x80, 0x00, 0x47, 0x80, 0x00, 0x46, 0x80,0x00, 0x46, 0x80, 0x00, 0x46, 0x80, 0x00, 0x45,0x80, 0x00, 0x45, 0x80, 0x00, 0x45, 0x80, 0x00,0x44, 0x80, 0x00, 0x44, 0x80, 0x00, 0x44, 0x80,0x00, 0x43, 0x80, 0x00, 0x43, 0x80, 0x00, 0x43,0x80, 0x00, 0x42, 0x80, 0x00, 0x42, 0x80, 0x00,0x42, 0x80, 0x00, 0x41, 0x80, 0x00, 0x41, 0x80,0x00, 0x41, 0x80, 0x00, 0x40, 0x80, 0x00, 0x40,0x80, 0x00, 0x40, 0x80, 0x00, 0x40, 0x80, 0x00,0x3F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x3F, 0x80,0x00, 0x3E, 0x80, 0x00, 0x3E, 0x80, 0x00, 0x3E,0x80, 0x00, 0x3D, 0x80, 0x00, 0x3D, 0x80, 0x00,0x3D, 0x80, 0x00, 0x3C, 0x80, 0x00, 0x3C, 0x80,0x00, 0x3C, 0x80, 0x00, 0x3B, 0x80, 0x00, 0x3B,0x80, 0x00, 0x3B, 0x80, 0x00, 0x3A, 0x80, 0x00,0x3A, 0x80, 0x00, 0x3A, 0x80, 0x00, 0x39, 0x80,0x00, 0x39, 0x80, 0x00, 0x39, 0x80, 0x00, 0x38,0x80, 0x00, 0x38, 0x80, 0x00, 0x38, 0x80, 0x00,0x37, 0x80, 0x00, 0x37, 0x80, 0x00, 0x37, 0x80,0x00, 0x36, 0x80, 0x00, 0x36, 0x80, 0x00, 0x36,0x80, 0x00, 0x35, 0x80, 0x00, 0x35, 0x80, 0x00,0x35, 0x80, 0x00, 0x34, 0x80, 0x00, 0x34, 0x80,0x00, 0x34, 0x80, 0x00, 0x33, 0x80, 0x00, 0x33,0x80, 0x00, 0x33, 0x80, 0x00, 0x32, 0x80, 0x00,0x32, 0x80, 0x00, 0x32, 0x80, 0x00, 0x31, 0x80,0x00, 0x31, 0x80, 0x00, 0x31, 0x80, 0x00, 0x30,0x80, 0x00, 0x30, 0x80, 0x00, 0x30, 0x80, 0x00,0x2F, 0x80, 0x00, 0x2F, 0x80, 0x00, 0x2F, 0x80,0x00, 0x2E, 0x80, 0x00, 0x2E, 0x80, 0x00, 0x2E,0x80, 0x00, 0x2D, 0x80, 0x00, 0x2D, 0x80, 0x00,0x2D, 0x80, 0x00, 0x2C, 0x80, 0x00, 0x2C, 0x80,0x00, 0x2C, 0x80, 0x00, 0x2B, 0x80, 0x00, 0x2B,0x80, 0x00, 0x2B, 0x80, 0x00, 0x2A, 0x80, 0x00,0x2A, 0x80, 0x00, 0x2A, 0x80, 0x00, 0x29, 0x80,0x00, 0x29, 0x80, 0x00, 0x29, 0x80, 0x00, 0x28,0x80, 0x00, 0x28, 0x80, 0x00, 0x28, 0x80, 0x00,0x27, 0x80, 0x00, 0x27, 0x80, 0x00, 0x27, 0x80,0x00, 0x26, 0x80, 0x00, 0x26, 0x80, 0x00, 0x26,0x80, 0x00, 0x25, 0x80, 0x00, 0x25, 0x80, 0x00,0x25, 0x80, 0x00, 0x24, 0x80, 0x00, 0x24, 0x80,0x00, 0x24, 0x80, 0x00, 0x24, 0x80, 0x00, 0x23,0x80, 0x00, 0x23, 0x80, 0x00, 0x23, 0x80, 0x00,0x22, 0x80, 0x00, 0x22, 0x80, 0x00, 0x22, 0x80,0x00, 0x21, 0x80, 0x00, 0x21, 0x80, 0x00, 0x21,0x80, 0x00, 0x20, 0x80, 0x00, 0x20, 0x80, 0x00,0x20, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80,0x00, 0x1F, 0x80, 0x00, 0x1E, 0x80, 0x00, 0x1E,0x80, 0x00, 0x1E, 0x80, 0x00, 0x1D, 0x80, 0x00,0x1D, 0x80, 0x00, 0x1D, 0x80, 0x00, 0x1C, 0x80,0x00, 0x1C, 0x80, 0x00, 0x1C, 0x80, 0x00, 0x1B,0x80, 0x00, 0x1B, 0x80, 0x00, 0x1B, 0x80, 0x00,0x1A, 0x80, 0x00, 0x1A, 0x80, 0x00, 0x1A, 0x80,0x00, 0x19, 0x80, 0x00, 0x19, 0x80, 0x00, 0x19,0x80, 0x00, 0x18, 0x80, 0x00, 0x18, 0x80, 0x00,0x18, 0x80, 0x00, 0x17, 0x80, 0x00, 0x17, 0x80,0x00, 0x17, 0x80, 0x00, 0x16, 0x80, 0x00, 0x16,0x80, 0x00, 0x16, 0x80, 0x00, 0x15, 0x80, 0x00,0x15, 0x80, 0x00, 0x15, 0x80, 0x00, 0x14, 0x80,0x00, 0x14, 0x80, 0x00, 0x14, 0x80, 0x00, 0x13,0x80, 0x00, 0x13, 0x80, 0x00, 0x13, 0x80, 0x00,0x12, 0x80, 0x00, 0x12, 0x80, 0x00, 0x12, 0x80,0x00, 0x11, 0x80, 0x00, 0x11, 0x80, 0x00, 0x11,0x80, 0x00, 0x10, 0x80, 0x00, 0x10, 0x80, 0x00,0x10, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x0F, 0x80,0x00, 0x0F, 0x80, 0x00, 0x0E, 0x80, 0x00, 0x0E,0x80, 0x00, 0x0E, 0x80, 0x00, 0x0D, 0x80, 0x00,0x0D, 0x80, 0x00, 0x0D, 0x80, 0x00, 0x0C, 0x80,0x00, 0x0C, 0x80, 0x00, 0x0C, 0x80, 0x00, 0x0B,0x80, 0x00, 0x0B, 0x80, 0x00, 0x0B, 0x80, 0x00,0x0A, 0x80, 0x00, 0x0A, 0x80, 0x00, 0x0A, 0x80,0x00, 0x09, 0x80, 0x00, 0x09, 0x80, 0x00, 0x09,0x80, 0x00, 0x09, 0x80, 0x00, 0x08, 0x80, 0x00,0x08, 0x80, 0x00, 0x08, 0x80, 0x00, 0x07, 0x80,0x00, 0x07, 0x80, 0x00, 0x07, 0x80, 0x00, 0x06,0x80, 0x00, 0x06, 0x80, 0x00, 0x06, 0x80, 0x00,0x05, 0x80, 0x00, 0x05, 0x80, 0x00, 0x05, 0x80,0x00, 0x04, 0x80, 0x00, 0x04, 0x80, 0x00, 0x04,0x80, 0x00, 0x03, 0x80, 0x00, 0x03, 0x80, 0x00,0x03, 0x80, 0x00, 0x02, 0x80, 0x00, 0x02, 0x80,0x00, 0x02, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01,0x80, 0x00, 0x01, 0x80, 0x00, 0x00, 0x80, 0x00,0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,0x80, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x00,0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81,0x00, 0x00, 0x81, 0x00, 0x00, 0x82, 0x00, 0x00,0x82, 0x00, 0x00, 0x82, 0x00, 0x00, 0x82, 0x00,0x00, 0x82, 0x00, 0x00, 0x83, 0x00, 0x00, 0x83,0x00, 0x00, 0x83, 0x00, 0x00, 0x83, 0x00, 0x00,0x83, 0x00, 0x00, 0x84, 0x00, 0x00, 0x84, 0x00,0x00, 0x84, 0x00, 0x00, 0x84, 0x00, 0x00, 0x84,0x00, 0x00, 0x84, 0x00, 0x00, 0x85, 0x00, 0x00,0x85, 0x00, 0x00, 0x85, 0x00, 0x00, 0x85, 0x00,0x00, 0x85, 0x00, 0x00, 0x86, 0x00, 0x00, 0x86,0x00, 0x00, 0x86, 0x00, 0x00, 0x86, 0x00, 0x00,0x86, 0x00, 0x00, 0x86, 0x00, 0x00, 0x87, 0x00,0x00, 0x87, 0x00, 0x00, 0x87, 0x00, 0x00, 0x87,0x00, 0x00, 0x87, 0x00, 0x00, 0x88, 0x00, 0x00,0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00,0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x89,0x00, 0x00, 0x89, 0x00, 0x00, 0x89, 0x00, 0x00,0x89, 0x00, 0x00, 0x89, 0x00, 0x00, 0x8A, 0x00,0x00, 0x8A, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x8A,0x00, 0x00, 0x8A, 0x00, 0x00, 0x8B, 0x00, 0x00,0x8B, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x8B, 0x00,0x00, 0x8B, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x8C,0x00, 0x00, 0x8C, 0x00, 0x00, 0x8C, 0x00, 0x00,0x8C, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x8D, 0x00,0x00, 0x8D, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x8D,0x00, 0x00, 0x8D, 0x00, 0x00, 0x8D, 0x00, 0x00,0x8E, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x8E, 0x00,0x00, 0x8E, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x8F,0x00, 0x00, 0x8F, 0x00, 0x00, 0x8F, 0x00, 0x00,0x8F, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x90, 0x00,0x00, 0x90, 0x00, 0x00, 0x90, 0x00, 0x00, 0x90,0x00, 0x00, 0x90, 0x00, 0x00, 0x90, 0x00, 0x00,0x91, 0x00, 0x00, 0x91, 0x00, 0x00, 0x91, 0x00,0x00, 0x91, 0x00, 0x00, 0x91, 0x00, 0x00, 0x92,0x00, 0x00, 0x92, 0x00, 0x00, 0x92, 0x00, 0x00,0x92, 0x00, 0x00, 0x92, 0x00, 0x00, 0x92, 0x00,0x00, 0x93, 0x00, 0x00, 0x93, 0x00, 0x00, 0x93,0x00, 0x00, 0x93, 0x00, 0x00, 0x93, 0x00, 0x00,0x94, 0x00, 0x00, 0x94, 0x00, 0x00, 0x94, 0x00,0x00, 0x94, 0x00, 0x00, 0x94, 0x00, 0x00, 0x94,0x00, 0x00, 0x95, 0x00, 0x00, 0x95, 0x00, 0x00,0x95, 0x00, 0x00, 0x95, 0x00, 0x00, 0x95, 0x00,0x00, 0x96, 0x00, 0x00, 0x96, 0x00, 0x00, 0x96,0x00, 0x00, 0x96, 0x00, 0x00, 0x96, 0x00, 0x00,0x97, 0x00, 0x00, 0x97, 0x00, 0x00, 0x97, 0x00,0x00, 0x97, 0x00, 0x00, 0x97, 0x00, 0x00, 0x97,0x00, 0x00, 0x98, 0x00, 0x00, 0x98, 0x00, 0x00,0x98, 0x00, 0x00, 0x98, 0x00, 0x00, 0x98, 0x00,0x00, 0x99, 0x00, 0x00, 0x99, 0x00, 0x00, 0x99,0x00, 0x00, 0x99, 0x00, 0x00, 0x99, 0x00, 0x00,0x99, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x9A, 0x00,0x00, 0x9A, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x9A,0x00, 0x00, 0x9B, 0x00, 0x00, 0x9B, 0x00, 0x00,0x9B, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x9B, 0x00,0x00, 0x9C, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x9C,0x00, 0x00, 0x9C, 0x00, 0x00, 0x9C, 0x00, 0x00,0x9C, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x9D, 0x00,0x00, 0x9D, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x9D,0x00, 0x00, 0x9E, 0x00, 0x00, 0x9E, 0x00, 0x00,0x9E, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x9E, 0x00,0x00, 0x9E, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x9F,0x00, 0x00, 0x9F, 0x00, 0x00, 0x9F, 0x00, 0x00,0x9F, 0x00, 0x00, 0xA0, 0x00, 0x00, 0xA0, 0x00,0x00, 0xA0, 0x00, 0x00, 0xA0, 0x00, 0x00, 0xA0,0x00, 0x00, 0xA0, 0x00, 0x00, 0xA0, 0x00, 0x00,0xA1, 0x00, 0x00, 0xA1, 0x00, 0x00, 0xA1, 0x00,0x00, 0xA1, 0x00, 0x00, 0xA1, 0x00, 0x00, 0xA1,0x00, 0x00, 0xA2, 0x00, 0x00, 0xA2, 0x00, 0x00,0xA2, 0x00, 0x00, 0xA2, 0x00, 0x00, 0xA2, 0x00,0x00, 0xA3, 0x00, 0x00, 0xA3, 0x00, 0x00, 0xA3,0x00, 0x00, 0xA3, 0x00, 0x00, 0xA3, 0x00, 0x00,0xA3, 0x00, 0x00, 0xA4, 0x00, 0x00, 0xA4, 0x00,0x00, 0xA4, 0x00, 0x00, 0xA4, 0x00, 0x00, 0xA4,0x00, 0x00, 0xA4, 0x00, 0x00, 0xA5, 0x00, 0x00,0xA5, 0x00, 0x00, 0xA5, 0x00, 0x00, 0xA5, 0x00,0x00, 0xA5, 0x00, 0x00, 0xA5, 0x00, 0x00, 0xA6,0x00, 0x00, 0xA6, 0x00, 0x00, 0xA6, 0x00, 0x00,0xA6, 0x00, 0x00, 0xA6, 0x00, 0x00, 0xA7, 0x00,0x00, 0xA7, 0x00, 0x00, 0xA7, 0x00, 0x00, 0xA7,0x00, 0x00, 0xA7, 0x00, 0x00, 0xA7, 0x00, 0x00,0xA8, 0x00, 0x00, 0xA8, 0x00, 0x00, 0xA8, 0x00,0x00, 0xA8, 0x00, 0x00, 0xA8, 0x00, 0x00, 0xA8,0x00, 0x00, 0xA9, 0x00, 0x00, 0xA9, 0x00, 0x00,0xA9, 0x00, 0x00, 0xA9, 0x00, 0x00, 0xA9, 0x00,0x00, 0xAA, 0x00, 0x00, 0xAA, 0x00, 0x00, 0xAA,0x00, 0x00, 0xAA, 0x00, 0x00, 0xAA, 0x00, 0x00,0xAA, 0x00, 0x00, 0xAB, 0x00, 0x00, 0xAB, 0x00,0x00, 0xAB, 0x00, 0x00, 0xAB, 0x00, 0x00, 0xAB,0x00, 0x00, 0xAB, 0x00, 0x00, 0xAC, 0x00, 0x00,0xAC, 0x00, 0x00, 0xAC, 0x00, 0x00, 0xAC, 0x00,0x00, 0xAC, 0x00, 0x00, 0xAC, 0x00, 0x00, 0xAD,0x00, 0x00, 0xAD, 0x00, 0x00, 0xAD, 0x00, 0x00,0xAD, 0x00, 0x00, 0xAD, 0x00, 0x00, 0xAE, 0x00,0x00, 0xAE, 0x00, 0x00, 0xAE, 0x00, 0x00, 0xAE,0x00, 0x00, 0xAE, 0x00, 0x00, 0xAE, 0x00, 0x00,0xAF, 0x00, 0x00, 0xAF, 0x00, 0x00, 0xAF, 0x00,0x00, 0xAF, 0x00, 0x00, 0xAF, 0x00, 0x00, 0xAF,0x00, 0x00, 0xB0, 0x00, 0x00, 0xB0, 0x00, 0x00,0xB0, 0x00, 0x00, 0xB0, 0x00, 0x00, 0xB0, 0x00,0x00, 0xB0, 0x00, 0x00, 0xB1, 0x00, 0x00, 0xB1,0x00, 0x00, 0xB1, 0x00, 0x00, 0xB1, 0x00, 0x00,0xB1, 0x00, 0x00, 0xB2, 0x00, 0x00, 0xB2, 0x00,0x00, 0xB2, 0x00, 0x00, 0xB2, 0x00, 0x00, 0xB2,0x00, 0x00, 0xB2, 0x00, 0x00, 0xB3, 0x00, 0x00,0xB3, 0x00, 0x00, 0xB3, 0x00, 0x00, 0xB3, 0x00,0x00, 0xB3, 0x00, 0x00, 0xB3, 0x00, 0x00, 0xB4,0x00, 0x00, 0xB4, 0x00, 0x00, 0xB4, 0x00, 0x00,0xB4, 0x00, 0x00, 0xB4, 0x00, 0x00, 0xB5, 0x00,0x00, 0xB5, 0x00, 0x00, 0xB5, 0x00, 0x00, 0xB5,0x00, 0x00, 0xB5, 0x00, 0x00, 0xB5, 0x00, 0x00,0xB6, 0x00, 0x00, 0xB6, 0x00, 0x00, 0xB6, 0x00,0x00, 0xB6, 0x00, 0x00, 0xB6, 0x00, 0x00, 0xB6,0x00, 0x00, 0xB7, 0x00, 0x00, 0xB7, 0x00, 0x00,0xB7, 0x00, 0x00, 0xB7, 0x00, 0x00, 0xB7, 0x00,0x00, 0xB7, 0x00, 0x00, 0xB8, 0x00, 0x00, 0xB8,0x00, 0x00, 0xB8, 0x00, 0x00, 0xB8, 0x00, 0x00,0xB8, 0x00, 0x00, 0xB9, 0x00, 0x00, 0xB9, 0x00,0x00, 0xB9, 0x00, 0x00, 0xB9, 0x00, 0x00, 0xB9,0x00, 0x00, 0xB9, 0x00, 0x00, 0xBA, 0x00, 0x00,0xBA, 0x00, 0x00, 0xBA, 0x00, 0x00, 0xBA, 0x00,0x00, 0xBA, 0x00, 0x00, 0xBA, 0x00, 0x00, 0xBB,0x00, 0x00, 0xBB, 0x00, 0x00, 0xBB, 0x00, 0x00,0xBB, 0x00, 0x00, 0xBB, 0x00, 0x00, 0xBB, 0x00,0x00, 0xBC, 0x00, 0x00, 0xBC, 0x00, 0x00, 0xBC,0x00, 0x00, 0xBC, 0x00, 0x00, 0xBC, 0x00, 0x00,0xBD, 0x00, 0x00, 0xBD, 0x00, 0x00, 0xBD, 0x00,0x00, 0xBD, 0x00, 0x00, 0xBD, 0x00, 0x00, 0xBD,0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00,0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00,0x00, 0xBE, 0x00, 0x00, 0xBF, 0x00, 0x00, 0xBF,0x00, 0x00, 0xBF, 0x00, 0x00, 0xBF, 0x00, 0x00,0xBF, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, };// This function does any needed initialization on the rendering // context. void SetupRC(void) {// BackgroundglClearColor(0.0f, 0.0f, 0.0f, 1.0f);glEnable(GL_DEPTH_TEST);viewFrame.MoveForward(-155.0f);viewFrame.MoveUp(20.0f);grassShader = gltLoadShaderPairWithAttributes("Grass.vs", "Grass.fs",1,GLT_ATTRIBUTE_VERTEX, "vVertex");locMVP = glGetUniformLocation(grassShader, "mvpMatrix");glUseProgram(grassShader);glUniform1i(glGetUniformLocation(grassShader, "length_texture"), 0);glUniform1i(glGetUniformLocation(grassShader, "orientation_texture"), 1);glUniform1i(glGetUniformLocation(grassShader, "grasspalette_texture"), 2);glUniform1i(glGetUniformLocation(grassShader, "grasscolor_texture"), 3);glUniform1i(glGetUniformLocation(grassShader, "bend_texture"), 4);static const GLfloat grass_blade[] ={-0.3f, 0.0f,0.3f, 0.0f,-0.20f, 1.0f,0.1f, 1.3f,-0.05f, 2.3f,0.0f, 3.3f};// Greate a vertex array object and a vertex buffer for the quad// including position and texture coordinatesglGenVertexArrays(1, &vao);glBindVertexArray(vao);glGenBuffers(1, &vertexBuffer);glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);glBufferData(GL_ARRAY_BUFFER, sizeof(grass_blade), grass_blade, GL_STATIC_DRAW);glVertexAttribPointer(GLT_ATTRIBUTE_VERTEX, 2, GL_FLOAT, GL_FALSE, 0, NULL);glEnableVertexAttribArray(GLT_ATTRIBUTE_VERTEX);// glGenTextures(1, &length_texture);glBindTexture(GL_TEXTURE_2D, length_texture);GLint w, h, c;GLenum f;void * bits = gltReadTGABits("length.tga", &w, &h, &c, &f);glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, w, h, 0, GL_BGR, GL_UNSIGNED_BYTE, bits);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);free(bits);glGenTextures(1, &orientation_texture);glActiveTexture(GL_TEXTURE1);glBindTexture(GL_TEXTURE_2D, orientation_texture);bits = gltReadTGABits("orientation.tga", &w, &h, &c, &f);glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, w, h, 0, GL_BGR, GL_UNSIGNED_BYTE, bits);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);free(bits);glGenTextures(1, &grasspalette_texture);glActiveTexture(GL_TEXTURE2);glBindTexture(GL_TEXTURE_1D, grasspalette_texture);glTexImage1D(GL_TEXTURE_1D, 0, GL_RGB8, 1024, 0, GL_RGB, GL_UNSIGNED_BYTE, grasspalette_data);glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);glGenTextures(1, &grasscolor_texture);glActiveTexture(GL_TEXTURE3);glBindTexture(GL_TEXTURE_2D, grasscolor_texture);bits = gltReadTGABits("color.tga", &w, &h, &c, &f);glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, w, h, 0, GL_BGR, GL_UNSIGNED_BYTE, bits);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);free(bits);glGenTextures(1, &bend_texture);glActiveTexture(GL_TEXTURE4);glBindTexture(GL_TEXTURE_2D, bend_texture);bits = gltReadTGABits("bend.tga", &w, &h, &c, &f);glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, w, h, 0, GL_BGR, GL_UNSIGNED_BYTE, bits);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);free(bits); }// Cleanup void ShutdownRC(void) {glDeleteBuffers(1, &vertexBuffer);glDeleteVertexArrays(1, &vao); }// Called to draw scene void RenderScene(void) {static CStopWatch rotTimer;// Clear the window and the depth bufferglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);modelViewMatrix.PushMatrix(viewFrame);modelViewMatrix.Translate(0.0f, 0.0f, 800.0f);modelViewMatrix.Rotate(-12.0, 1.0f, 0.0f, 0.0f);modelViewMatrix.Rotate(rotTimer.GetElapsedSeconds() * 15.0f, 0.0f, 1.0f, 0.0f);glUseProgram(grassShader);glUniformMatrix4fv(locMVP, 1, GL_FALSE, transformPipeline.GetModelViewProjectionMatrix());glBindVertexArray(vao);glDrawArraysInstancedARB(GL_TRIANGLE_STRIP, 0, 6, 1024 * 1024);modelViewMatrix.PopMatrix();glutSwapBuffers();glutPostRedisplay(); }void ChangeSize(int w, int h) {// Prevent a divide by zeroif (h == 0)h = 1;// Set Viewport to window dimensionsglViewport(0, 0, w, h);viewFrustum.SetPerspective(35.0f, float(w) / float(h), 1.0f, 3000.0f);projectionMatrix.LoadMatrix(viewFrustum.GetProjectionMatrix());transformPipeline.SetMatrixStacks(modelViewMatrix, projectionMatrix); }void Keyboard(unsigned char key, int x, int y) {switch (key){// Space toggles perspective correctiondefault:break;}; }/// // Main entry point for GLUT based programs int main(int argc, char* argv[]) {gltSetWorkingDirectory(argv[0]);glutInit(&argc, argv);//glutInitContextVersion(3, 2);// glutInitContextProfile(GLUT_CORE_PROFILE);glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);glutInitWindowSize(800, 600);glutCreateWindow("Grass");glutReshapeFunc(ChangeSize);glutKeyboardFunc(Keyboard);glutDisplayFunc(RenderScene);GLenum err = glewInit();if (GLEW_OK != err) {fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));return 1;}SetupRC();glutMainLoop();ShutdownRC();return 0; }

?

總結

以上是生活随笔為你收集整理的【OpenGL】实例渲染示例——草地渲染的全部內容,希望文章能夠幫你解決所遇到的問題。

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

欧美在线99 | 久久国产精品成人免费浪潮 | 五月婷婷久草 | 美女视频久久 | 碰超在线97人人 | 国产黄色a | 日韩精品一区二区三区免费观看 | 综合网婷婷 | 2022中文字幕在线观看 | 天天综合狠狠精品 | 亚洲一级片 | 欧美大片在线观看一区 | 日韩一二区在线观看 | 一区二区三区四区精品 | 亚洲韩国一区二区三区 | 国产精品99久久久久久大便 | 亚洲精品国精品久久99热一 | 日韩免费区 | 欧美日韩免费视频 | 在线天堂亚洲 | 97免费在线观看视频 | 久久国产精品色av免费看 | 成人app在线播放 | 国产免费一区二区三区最新 | 日本黄色大片儿 | 亚洲作爱 | 精品福利网 | 中文字幕有码在线观看 | 一区二区精品视频 | 中文字幕电影在线 | 亚州天堂| 日韩精品视频免费专区在线播放 | 国产免费久久久久 | 国产亚洲va综合人人澡精品 | 免费性网站| 久草免费看| 蜜臀av免费一区二区三区 | 人人干人人上 | 精品视频资源站 | 国产不卡在线看 | 亚洲午夜久久久久久久久电影网 | 夜色资源网| 天堂av免费在线 | 日韩成人免费在线观看 | 欧美91精品久久久久国产性生爱 | 国产免费高清 | 91视频久久久 | 免费a v在线 | 91精品久久久久久综合乱菊 | 久久99网 | 午夜精品av在线 | 碰碰影院| 国产精品久久二区 | 天天干,天天操 | 亚洲理论电影 | 国产福利一区二区三区在线观看 | 91亚色视频在线观看 | 欧美热久久 | 99精品国产成人一区二区 | 国产高清免费观看 | 亚洲最新毛片 | 久久婷婷精品视频 | 精品久久久久国产免费第一页 | 婷婷综合av | 成人在线免费观看视视频 | 欧美小视频在线 | 特级黄色电影 | 婷婷色网 | 激情偷乱人伦小说视频在线观看 | 日本性生活免费看 | 99国产精品免费网站 | 成人97视频 | 伊人婷婷综合 | 日韩电影在线看 | www.99av| 99在线热播精品免费99热 | 在线观看黄色 | 成人免费av电影 | 亚洲香蕉视频 | 欧美疯狂性受xxxxx另类 | 久久久久美女 | 久久精品99国产精品 | 日韩免费精品 | 成人动漫精品一区二区 | 久久久国产99久久国产一 | 一区二区在线电影 | 欧美日韩p片 | 天天插综合 | 国产精品久久久久aaaa九色 | 中文字幕丝袜 | 麻豆传媒在线免费看 | 五月婷婷丁香在线观看 | 日韩三级视频在线观看 | 国产精品久久久久久久妇 | 一区二区中文字幕在线观看 | 日韩午夜视频在线观看 | 中文字幕av在线 | 国产精品久久久久永久免费 | 九九天堂| www视频在线播放 | 国内精品久久久久久久久久久久 | 深爱激情五月综合 | 五月婷婷在线视频观看 | 久久久国产99久久国产一 | 久久久九九 | 黄色网中文字幕 | 亚洲在线色| 成人免费视频网 | 午夜精品成人一区二区三区 | 成人在线黄色电影 | 狠狠操夜夜操 | 国产伦理久久精品久久久久_ | 国产片免费在线观看视频 | 97国产情侣爱久久免费观看 | 天天操天天爱天天干 | 亚洲精品综合久久 | 97超碰人人澡人人爱学生 | 在线一区观看 | 日韩欧美在线中文字幕 | 99久久精品国产一区 | 午夜精品电影 | av一本久道久久波多野结衣 | 久久久毛片 | 欧美亚洲一级片 | 亚洲精品免费在线观看视频 | 一区视频在线 | 成人三级av | 国产不卡视频在线播放 | 国产精品久久久久久av | 91天堂素人约啪 | 欧美人人爱 | 久久经典视频 | 久久精品99国产精品日本 | 麻豆视频网址 | 麻豆视频免费入口 | 婷婷av电影 | 免费日韩一级片 | 欧美激情精品久久久久久变态 | 成人午夜影院在线观看 | 国产1区在线 | 九色视频自拍 | 91视频免费 | 香蕉视频在线看 | 欧美激情视频在线免费观看 | 国产精品美女在线 | 一级a性色生活片久久毛片波多野 | 午夜私人影院久久久久 | 91传媒91久久久 | 日韩视频免费观看高清 | 久久久国产一区二区三区四区小说 | 午夜色性片| 99久久99热这里只有精品 | 婷婷综合成人 | 国产亚洲精品成人av久久影院 | 日本在线中文在线 | 人人狠| 二区视频在线观看 | 免费在线观看的av网站 | 国产精品一区二区三区免费视频 | 麻豆国产网站 | 成人精品影视 | 亚洲午夜在线视频 | 日韩网站免费观看 | 天天操天天操天天 | 国语黄色片 | 日本bbbb摸bbbb | 激情网婷婷 | 国产精品a成v人在线播放 | 久久久久久久电影 | 天堂在线v | 9ⅰ精品久久久久久久久中文字幕 | 四虎永久网站 | 色婷婷久久 | 日本久久综合网 | 国产a精品 | 婷婷中文字幕在线观看 | 亚洲三级毛片 | 国产成人精品亚洲 | 91麻豆精品国产自产在线游戏 | www.五月天婷婷.com | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美黄色高清 | 婷婷亚洲五月 | 成人av视屏 | 国产人在线成免费视频 | 国产在线欧美 | 久草视频在线播放 | 超碰资源在线 | 欧美另类xxx | 中文字幕第一页在线vr | 成人黄色片免费 | 色噜噜色噜噜 | 国产小视频91 | 91亚洲精品久久久蜜桃网站 | 日韩一区二区三区高清在线观看 | 日韩视频一二三区 | 日韩免费b | 性色av一区二区三区在线观看 | 91精品婷婷国产综合久久蝌蚪 | a级国产乱理论片在线观看 特级毛片在线观看 | 日韩午夜电影院 | 国产91精品久久久久 | 国产亚洲一区二区在线观看 | 国产亚洲精品久久久久动 | 亚洲视频 一区 | 国产精品自产拍在线观看网站 | 91大神精品视频在线观看 | 伊人天天狠天天添日日拍 | 日日干日日 | 欧亚日韩精品一区二区在线 | a天堂在线看 | 黄色毛片在线观看 | 日韩理论电影网 | 欧美成年人在线观看 | 九九久久国产精品 | 久久精品aaa | 久久国产精品99久久久久久老狼 | 中文字幕在线看视频 | 天天要夜夜操 | 国色天香在线观看 | 久久人人爽人人片 | 最近最新最好看中文视频 | 99久久精品国产一区 | 中文字幕精品一区二区精品 | 色中色资源站 | 亚洲第一区在线观看 | 免费观看国产精品视频 | 久久综合综合久久综合 | 天天操夜夜操国产精品 | japanesefreesexvideo高潮 | 亚洲国产综合在线 | 五月在线 | 国产成人精品女人久久久 | 麻豆视频在线免费看 | 国产另类xxxxhd高清 | 狠狠久久伊人 | 精品美女国产在线 | 四虎影视欧美 | 五月婷婷操 | 日韩精品一卡 | 91亚洲精品久久久久图片蜜桃 | 免费在线国产视频 | 九九精品在线观看 | 亚洲精品中文在线观看 | 国产美女网站在线观看 | www视频在线免费观看 | 免费av一级电影 | 国产精品区二区三区日本 | 亚洲 综合 激情 | www.黄色片网站 | 99久精品 | 午夜在线免费观看视频 | a色视频 | 99热 精品在线 | 天天操天天谢 | 一区二区三区国产精品 | 日本久久久久久久久久 | 狠狠干美女 | 丰满少妇在线观看资源站 | 日韩在线观看电影 | 狠狠躁18三区二区一区ai明星 | 久久久久激情 | 97超碰资源网 | 久草电影网 | 97视频在线看 | 天天操天天谢 | 久久国产免费看 | 免费日韩 精品中文字幕视频在线 | 久久综合九色 | 九九九在线观看 | 久久看片 | 麻豆手机在线 | 日韩二区在线播放 | 波多野结衣视频一区二区三区 | 精品视频亚洲 | 91九色老 | 热re99久久精品国产66热 | 国产精品网红福利 | 尤物一区二区三区 | 亚洲精区二区三区四区麻豆 | 在线观看视频一区二区三区 | www.香蕉 | 国产原创在线视频 | 色视频国产直接看 | 一级特黄av | 日韩高清在线看 | 日韩精品中文字幕在线不卡尤物 | 狠狠ri| 狠狠色丁香婷婷综合橹88 | 日韩免费在线观看 | 国产精品久久久久久69 | 青春草免费在线视频 | 97人人精品 | 色偷偷中文字幕 | 欧美在线视频一区二区三区 | 天天天天天干 | 首页av在线 | 国产精品系列在线 | 天天爱综合 | 日韩高清在线不卡 | 国产亚洲va综合人人澡精品 | www久久99 | 在线免费视频 你懂得 | av手机版 | 日韩在线一二三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲欧美视频网站 | a精品视频| av片无限看 | 丁香五婷 | 91在线免费观看网站 | 波多野结衣综合网 | 欧美一级电影在线观看 | 婷婷在线视频观看 | 九九久久婷婷 | 亚洲一区二区三区毛片 | 成片免费观看视频999 | 久久久免费电影 | 日韩在线观看av | 国语精品免费视频 | 国产又粗又猛又爽又黄的视频免费 | 免费久久网| 蜜桃av久久久亚洲精品 | 福利视频区 | 国产91亚洲精品 | 国产精品视频线看 | 不卡av免费在线观看 | 高清久久久久久 | 国产一区二区久久精品 | 精品国产伦一区二区三区 | 久久婷婷国产色一区二区三区 | 欧美va在线观看 | 黄色免费av | 日韩黄色中文字幕 | 免费精品视频在线 | 免费在线一区二区 | 国产精品99久久久久 | 干干干操操操 | 日韩电影一区二区三区在线观看 | 久久少妇av | 日日日操操 | 日本精品久久久久久 | 波多野结衣久久精品 | 国产偷在线| 久久视频这里有精品 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美激情综合五月色丁香 | 国产精品视频在线观看 | 黄免费在线观看 | 亚洲一区二区麻豆 | 美女视频黄的免费的 | 午夜视频在线观看一区二区三区 | 亚洲精品视频中文字幕 | 国产一卡二卡四卡国 | 久久er99热精品一区二区三区 | 日本精品久久久久 | 在线成人观看 | 精品国产不卡 | 99亚洲视频 | 亚洲成人免费 | 欧美日韩国产综合网 | 午夜国产成人 | 91pony九色丨交换 | 天天操 夜夜操 | 日日夜夜精品 | 在线一区观看 | 亚洲国产剧情av | 婷婷丁香导航 | 日韩大陆欧美高清视频区 | 成人一区二区在线 | 国产精品视频永久免费播放 | 免费视频久久久久 | 永久免费av在线播放 | 欧美精品中文在线免费观看 | 五月天.com | 午夜精品区 | 亚洲日韩精品欧美一区二区 | 九九久久精品 | 在线播放 亚洲 | 亚洲午夜精品一区二区三区电影院 | 国产大尺度视频 | 国产精品12345| 亚洲欧美日韩精品久久奇米一区 | 亚洲黄色激情小说 | 日韩在线视频网址 | 免费在线成人 | 国内精品久久久精品电影院 | 免费在线a | 亚洲精品影视 | 99国内精品久久久久久久 | 久久久精品综合 | 久久久99精品免费观看 | 一区中文字幕 | www.伊人网 | 国产精品国产三级国产不产一地 | 黄色免费高清视频 | 久久国产精品免费 | 成年免费在线视频 | 日韩成人在线一区二区 | 开心婷婷色 | 国产免费观看高清完整版 | 日韩在线第一 | 婷色| 97精产国品一二三产区在线 | 天天干人人干 | 亚洲精品久久激情国产片 | 天天操天天舔天天爽 | va视频在线观看 | 黄色片免费在线 | 国模视频一区二区 | 免费看的黄色录像 | 91精品第一页 | 久久亚洲影视 | 香蕉影院在线观看 | 干av在线| 精品久久久久久久久久国产 | 久久久久久综合网天天 | 亚洲干| 久久综合加勒比 | 韩国av不卡 | 夜夜躁狠狠躁 | 久久久午夜精品福利内容 | 狠狠操狠狠 | 欧美精品一区二区在线播放 | 伊人网综合在线观看 | 欧美精品一区在线 | 国产福利在线不卡 | 免费黄色一区 | 在线观看精品黄av片免费 | 国产亚洲久一区二区 | 视频一区二区国产 | 久久久99精品免费观看app | 丝袜美女在线 | 91精品一区二区三区久久久久久 | 色婷婷综合久久久久中文字幕1 | 精品一区在线 | 国产69久久久 | av电影在线免费 | 日本中文在线观看 | 久久久久久麻豆 | 久久99国产一区二区三区 | 成人免费在线电影 | 日韩天天操 | 6080yy午夜一二三区久久 | 久久伊人色综合 | 99久久精品国产一区二区三区 | 免费中文字幕视频 | 国产97色在线 | 国产精品美女免费 | 成人资源在线观看 | www.神马久久 | 久爱综合 | 五月天综合婷婷 | 97人人人人 | 久久高清| 国产一区二区久久久 | 国产精品久久99精品毛片三a | 91精品在线免费观看视频 | 九九一级片 | 最近中文字幕免费av | 久久久国产精品视频 | 日韩黄色免费电影 | wwwav视频| 国产美女免费看 | 在线观看激情av | 77国产精品 | 一级片免费视频 | 国产高清不卡av | 免费福利影院 | 日韩成人在线免费观看 | 粉嫩一区二区三区粉嫩91 | 一级一级一片免费 | 91精品久久香蕉国产线看观看 | 日韩精品一区二区三区在线视频 | 久久国产手机看片 | 色婷婷丁香 | 免费在线观看av电影 | 一区二区视频电影在线观看 | 黄色免费网站 | 在线看片一区 | 一级一片免费观看 | 国产精品一区二 | 在线播放视频一区 | av高清免费在线 | 免费看黄色大全 | 97综合在线| 亚洲成人黄色在线 | 国产黄色美女 | 久草视频在线资源站 | 麻豆视频免费版 | 色资源网在线观看 | 高清精品在线 | 91插插影库 | 精品国产乱码久久久久久浪潮 | 免费能看的黄色片 | 91九色国产蝌蚪 | 欧美大片第1页 | 国内精品久久久久久久久久 | 亚洲最大免费成人网 | 伊人狠狠色 | 久久久精品久久 | 午夜精品一区二区三区在线 | 国产在线日本 | 国产一区二区精品 | 日韩一二区在线观看 | 91成人在线看| 亚洲精品福利视频 | 久久久国产成人 | 日韩中文字幕免费在线观看 | 亚洲国产97在线精品一区 | 在线免费91 | 午夜狠狠操 | 亚洲精品乱码久久久久久蜜桃欧美 | 久久影院一区 | 亚洲电影在线看 | 婷婷久月| 一级精品视频在线观看宜春院 | 国产黄色精品在线观看 | 国产精品免费视频网站 | 国产精品99免费看 | 人人爱人人舔 | 美女黄频视频大全 | av网站手机在线观看 | 丁香六月久久综合狠狠色 | 狠狠撸电影 | 国产免费中文字幕 | 久久国产电影院 | 91九色最新地址 | 亚洲香蕉视频 | 91精品免费视频 | 麻豆久久一区二区 | 天天干天天做天天操 | 又黄又色又爽 | 色丁香综合 | 99麻豆视频 | 欧美日韩中文视频 | 欧美色婷婷| 激情网在线观看 | 一区在线播放 | 在线观看视频免费大全 | 黄色小说在线免费观看 | 亚洲视频h | 久久噜噜少妇网站 | 亚洲一区网 | 97超碰色 | 久久久久久久久久毛片 | 正在播放国产精品 | 高清有码中文字幕 | 激情网综合 | 97在线成人 | 精品嫩模福利一区二区蜜臀 | 亚洲国产日韩av | 日日干影院 | 亚洲精品综合欧美二区变态 | 欧美日韩在线视频免费 | 夜夜夜草| 欧美日韩中文在线 | 江苏妇搡bbbb搡bbbb | 亚洲久草在线 | 丁香影院在线 | 国产精品资源网 | 天天爽天天爽天天爽 | 国产精品 中文在线 | 久久天堂精品视频 | 国产一区二区视频在线播放 | 成人av直播 | 久久99久久99精品免费看小说 | 中文字幕av免费在线观看 | 中文字幕你懂的 | 成人黄大片 | www.在线观看视频 | 夜夜操网 | av免费看电影 | 日韩中文字幕电影 | 久久免费看毛片 | 天天爱天天操天天爽 | 97精品电影院 | 国产第页 | 亚洲a在线观看 | 在线播放91 | 国产成人三级在线观看 | 天天综合操 | 日韩欧美高清在线 | 精品无人国产偷自产在线 | 天天干视频在线 | 97精品超碰一区二区三区 | 人人爽影院| 99久久久国产精品美女 | 亚洲jizzjizz日本少妇 | 久久国产精品视频观看 | 国产综合婷婷 | 欧美色一色 | 日韩av电影手机在线观看 | 亚洲精品乱码久久久久久按摩 | 一区二区中文字幕在线播放 | 三级av在线播放 | 欧美在线91 | av一级一片 | 天天天天天操 | 久久免费99 | 亚洲视频久久久久 | 日韩av快播电影网 | 免费观看国产成人 | 五月激情综合婷婷 | 色综合天天综合 | 欧美日韩在线免费观看视频 | 蜜臀久久99精品久久久无需会员 | 美女网站视频色 | 综合激情av | 99在线视频网站 | 黄色中文字幕在线 | 久久爱导航 | 欧美在线你懂的 | 九九免费在线观看视频 | 一区二区三区福利 | 欧美精品久久久 | 国产高清久久 | 亚洲黄色免费网站 | av爱干| 国产二区视频在线观看 | 黄色国产在线观看 | 国产 欧美 日产久久 | 黄色av成人在线观看 | 国产一区视频在线观看免费 | 免费看三级黄色片 | 视频91在线 | www.在线观看视频 | 亚洲综合欧美激情 | 国内精品久久久久久久久久久 | av网站大全免费 | 欧美日韩精品在线免费观看 | 久久久久久久久久久久久国产精品 | 久久久久亚洲精品成人网小说 | 午夜体验区 | 亚洲小视频在线 | 日韩av高清在线观看 | 中文字幕在线观看免费高清完整版 | 91精品人成在线观看 | 青青河边草免费观看 | 99热在| 国产黄色免费电影 | 免费a视频在线观看 | 97电影在线观看 | 久久精品久久99精品久久 | 免费人成网 | 麻豆 videos| 天天综合网天天综合色 | 免费av黄色 | 天天操夜夜操天天射 | 日韩素人在线观看 | 麻豆免费观看视频 | 精品少妇一区二区三区在线 | 亚洲国产综合在线 | 黄网站色视频免费观看 | 国产精品高潮久久av | 国产在线最新 | 欧美国产高清 | av在线播放不卡 | 国产 日韩 中文字幕 | 一区二区影视 | 777奇米四色 | 国产一二三在线视频 | 成片视频免费观看 | 在线免费观看一区二区三区 | 婷婷色五 | 一级理论片在线观看 | 精品久久久久久久久久岛国gif | 激情欧美xxxx| 欧洲精品久久久久毛片完整版 | 91桃色免费视频 | 五月天伊人 | 亚洲精品国产精品乱码不99热 | 国产一区二区高清视频 | 国产精品一区免费看8c0m | 一区免费视频 | 99精品视频一区二区 | 99爱在线观看| 成人h在线播放 | www91在线 | 日韩理论电影在线观看 | 国产精品18久久久久久vr | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | japanesefreesex中国少妇 | 九色精品免费永久在线 | 国产中文字幕免费 | 欧美精品xx | 天天干夜夜想 | 日韩精品久久中文字幕 | 中文资源在线官网 | 一级久久精品 | 青草视频在线 | www激情久久 | 日韩在线第一区 | 国内视频| 99色国产 | 亚洲天堂精品视频 | www99久久| 2019精品手机国产品在线 | 女人高潮一级片 | 国产粉嫩在线 | 爱干视频 | 色噜噜狠狠狠狠色综合 | 黄色免费网站 | 亚洲免费在线观看视频 | av电影一区| 99久久这里只有精品 | 亚洲更新最快 | 欧美片网站yy | 欧美一区二视频在线免费观看 | 91精品视频在线观看免费 | 色综合久久久 | www日| 黄色成人影视 | www色网站 | 69视频在线 | 日本爱爱免费视频 | 久青草视频在线观看 | 精品国精品自拍自在线 | 91爱在线 | 色婷婷久久久综合中文字幕 | 91观看视频 | 在线免费观看黄色 | 最近中文字幕高清字幕免费mv | 在线v片免费观看视频 | 成人动漫视频在线 | 国产亚洲视频在线 | 国产麻豆精品95视频 | 91在线最新| 国产第一页福利影院 | 超碰99人人| 国产中文在线播放 | 免费黄色av| 久草资源在线 | 国产99区| 碰超人人| 国产大陆亚洲精品国产 | 精品久久久久久久久久久久久久久久久久 | 国产在线观看a | 麻豆视频在线免费观看 | 97在线免费视频观看 | 欧美日韩大片在线观看 | 国产99久 | 人人爽影院 | 精品一二三区 | 国产第一页福利影院 | 91久久影院 | 一区二区三区四区五区在线 | 91一区二区三区在线观看 | 日本色小说视频 | 精品久久久久久久久久久久久久久久久久 | 久久精品国产精品 | 丁香六月久久综合狠狠色 | 久久手机免费视频 | 国内精品久久久久久久久久久 | 麻豆免费在线视频 | 日韩欧美视频在线观看免费 | 国产精品成人在线 | 久久国产视频网 | 日韩欧美一区二区在线播放 | 涩涩网站在线 | 成人av久久| 国产精品久久久久久久久久妇女 | 成人av亚洲 | 免费污片 | 91干干干 | a黄色一级| 麻豆播放| 欧美一级淫片videoshd | 亚洲午夜精品久久久久久久久 | 成人免费观看完整版电影 | 日韩精品一区二区三区在线视频 | 亚洲精品网址在线观看 | 日韩午夜视频在线观看 | 色婷婷狠狠五月综合天色拍 | 久久99精品国产麻豆宅宅 | 在线亚洲播放 | 国产精品网在线观看 | 韩国av免费在线 | 丁香电影小说免费视频观看 | 久久精品国产第一区二区三区 | 精品免费一区 | 国色天香在线 | 亚洲午夜激情网 | 国产视频69| 亚洲黄色区 | 国产一区在线观看视频 | 精品美女在线视频 | 日韩性片| 亚洲精品国偷自产在线99热 | 中文在线www | 久久av免费 | 狠狠色丁香久久综合网 | 国产在线视频导航 | 国产精品久久久久久久久久久久午夜 | 亚洲成aⅴ人片久久青草影院 | 美女视频黄免费的 | 免费在线观看日韩欧美 | 国产午夜视频在线观看 | 中文字幕一区二区三区在线视频 | 久久人人精 | 亚洲人成人在线 | 97视频网址 | 久久福利精品 | 一区二区三区四区久久 | 久久a v视频 | 国产理伦在线 | 黄色亚洲精品 | 国产精品久久久久久久久久久杏吧 | 狠狠狠狠狠狠 | 成人亚洲免费 | 亚洲成av人片在线观看无 | 碰碰影院| 日本性视频| 国产精品视频久久 | 日韩视频免费观看高清完整版在线 | 久久精品3 | 日韩激情久久 | 日躁夜躁狠狠躁2001 | 五月开心婷婷 | 黄色99视频| 精品乱码一区二区三四区 | 成人免费大片黄在线播放 | 亚洲一区在线看 | 欧洲成人免费 | 青春草视频 | 亚洲国产三级在线观看 | 在线免费看片 | 久草在线电影网 | 一区在线观看 | 午夜精品导航 | 色综合久久久久综合体桃花网 | 婷婷丁香在线 | 欧美一区二区精品在线 | 激情网第四色 | 久久精品99国产国产 | 不卡的av在线 | 亚洲精品福利在线 | 国产精品ⅴa有声小说 | 亚洲成人黄色在线 | 免费看的黄网站 | 国产精品一区二区av日韩在线 | 91精品国产91久久久久久三级 | 99热九九这里只有精品10 | 婷婷丁香狠狠爱 | 在线观看免费av网站 | 蜜臀久久99精品久久久酒店新书 | 特级西西www44高清大胆图片 | 成人av片免费观看app下载 | 99久久精品午夜一区二区小说 | 亚洲永久字幕 | 一区二区三区视频在线 | 国产在线免费观看 | 亚洲欧洲国产日韩精品 | 免费成人av| 奇米影视999 | 婷婷丁香花五月天 | 久久精品中文视频 | 国产成人精品一区二区三区福利 | 在线电影 你懂得 | 黄色软件视频网站 | 在线观看韩日电影免费 | 香蕉视频日本 | www免费在线观看 | 欧美日韩一区三区 | 国产黄色美女 | www.久久免费 | 亚洲欧美色婷婷 | 国产精品18久久久久久久 | 久久久久亚洲精品成人网小说 | 97精品国产97久久久久久久久久久久 | 婷婷丁香狠狠爱 | 成人午夜剧场在线观看 | 国产在线91在线电影 | 国产乱对白刺激视频在线观看女王 | 婷婷精品视频 | 99久久久成人国产精品 | 青草草在线视频 | av国产网站| 国产精品福利在线观看 | 亚洲撸撸 | 日韩欧美在线观看 | 99久久99久国产黄毛片 | 免费国产一区二区视频 | 日韩欧美成人网 | 最近中文字幕国语免费av | 欧美精品在线观看免费 | 成人中文字幕在线 | 欧美日韩视频精品 | 天天爱天天射 | 91精品一区国产高清在线gif | 97香蕉超级碰碰久久免费软件 | 91精品在线免费观看视频 | 免费精品国产va自在自线 | 国产成人精品免高潮在线观看 | 婷婷丁香色 | 美女免费视频一区 | 久草视频播放 | 五月天久久久久久 | 在线免费观看的av网站 | 国内久久视频 | 伊人热 | 亚洲视频免费在线观看 | 国产一二区免费视频 | 亚洲va综合va国产va中文 | 91人人视频在线观看 | 国产看片网站 | 国产黄色精品 | 中文字幕乱偷在线 | 精品视频 | 久久亚洲国产精品 | 成人综合婷婷国产精品久久免费 | 国产中文字幕亚洲 | 国产成人精品综合久久久久99 | 手机成人在线 | 天天插天天 | 精品久久久久久综合日本 | 91完整版观看 | 成人一级视频在线观看 | 亚洲www天堂com | 玖玖国产精品视频 | 婷婷色综合色 | 日本精品视频在线观看 | 摸bbb搡bbb搡bbbb | 中文字幕一区二区三区久久 | 中文字幕中文字幕在线一区 | 69久久99精品久久久久婷婷 | 日韩在线观看高清 | 免费看黄色91 | 在线看国产视频 | 99国产一区二区三精品乱码 | 麻豆国产在线播放 | 国产一区在线免费观看视频 | 国产xvideos免费视频播放 | 在线国产日韩 | 99视频在线精品国自产拍免费观看 | 黄色av电影一级片 | 中文字幕亚洲欧美日韩2019 | 国产精品一区二区视频 | 怡红院av久久久久久久 | 天堂网在线视频 | 去看片 | 夜夜操天天 | 免费在线黄 | 亚洲欧洲精品一区二区精品久久久 | 久久这里只有精品视频99 | 婷婷色网 | 黄色动态图xx | 免费在线观看视频a | 久久9精品| 国产五月婷婷 | 最近最新最好看中文视频 | 国产精品一区二区三区四 | 亚洲一区二区三区在线看 | 中文字幕有码在线播放 | 欧美色婷婷| 久久久片| 久久99热精品这里久久精品 | av网站大全免费 | 国产伦精品一区二区三区无广告 | 日韩高清一区在线 | 久草视频99 | 九七视频在线观看 | 日韩美一区二区三区 | 久久国产精品99久久久久久进口 | 欧美日韩精品免费观看 | 毛片美女网站 | 天天操夜夜操天天射 | 国产不卡一二三区 | 人人看人人做人人澡 | 久久精品一区八戒影视 | 日日爱网站 | 婷婷精品在线视频 | 三日本三级少妇三级99 | 精品一区二区精品 | 97视频在线播放 | 丁香婷婷激情国产高清秒播 | 黄色软件在线看 | 成人性生交大片免费看中文网站 | 国内精品免费久久影院 | www.成人精品 | 精品美女久久久久 | 久久久久蜜桃 | 国产亚洲欧美在线视频 | 国产在线视频一区二区 | 区一区二在线 | 国产麻豆精品一区 | 国产午夜麻豆影院在线观看 | 韩日视频在线 | 奇米网8888 | 在线国产欧美 | 亚洲精选在线 | 亚洲成a人片在线观看网站口工 | 在线观看911视频 | 在线播放日韩 | 国产香蕉视频 | 91入口在线观看 | 三级黄色a | 丁香激情视频 |