亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? trackball.c

?? 圖形學課件 圖形學課件 圖形學課件
?? C
字號:
/* trackball.c    */

/* E. Angel, Interactive Computer Graphics */
/* A Top-Down Approach with OpenGL, Third Edition */
/* Addison-Wesley Longman, 2003 */
/* Rotating cube demo with trackball*/#include <math.h>#include <GL/glut.h>#define bool int#define false 0#define true 1
#define M_PI 3.14159int 	winWidth, winHeight;float 	angle = 0.0, axis[3], trans[3];bool 	trackingMouse = false;bool 	redrawContinue = false;bool    trackballMove = false;/*----------------------------------------------------------------------*//*** Draw the cube.*/GLfloat vertices[][3] = {    {-1.0,-1.0,-1.0},{1.0,-1.0,-1.0}, {1.0,1.0,-1.0}, {-1.0,1.0,-1.0},     {-1.0,-1.0,1.0}, {1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}};GLfloat colors[][3] = {    {0.0,0.0,0.0},{1.0,0.0,0.0}, {1.0,1.0,0.0}, {0.0,1.0,0.0},     {0.0,0.0,1.0}, {1.0,0.0,1.0}, {1.0,1.0,1.0}, {0.0,1.0,1.0}};void polygon(int a, int b, int c , int d, int face){    /* draw a polygon via list of vertices */    glBegin(GL_POLYGON);  	glColor3fv(colors[a]);  	glVertex3fv(vertices[a]);  	glColor3fv(colors[b]);  	glVertex3fv(vertices[b]);  	glColor3fv(colors[c]);  	glVertex3fv(vertices[c]);  	glColor3fv(colors[d]);  	glVertex3fv(vertices[d]);    glEnd();}void colorcube(void){    /* map vertices to faces */    polygon(1,0,3,2,0);    polygon(3,7,6,2,1);    polygon(7,3,0,4,2);    polygon(2,6,5,1,3);    polygon(4,5,6,7,4);    polygon(5,4,0,1,5);}/*----------------------------------------------------------------------*//* ** These functions implement a simple trackball-like motion control.*/float lastPos[3] = {0.0F, 0.0F, 0.0F};int curx, cury;int startX, startY;voidtrackball_ptov(int x, int y, int width, int height, float v[3]){    float d, a;    /* project x,y onto a hemi-sphere centered within width, height */    v[0] = (2.0F*x - width) / width;    v[1] = (height - 2.0F*y) / height;    d = (float) sqrt(v[0]*v[0] + v[1]*v[1]);    v[2] = (float) cos((M_PI/2.0F) * ((d < 1.0F) ? d : 1.0F));    a = 1.0F / (float) sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]);    v[0] *= a;    v[1] *= a;    v[2] *= a;}voidmouseMotion(int x, int y){    float curPos[3], dx, dy, dz;    trackball_ptov(x, y, winWidth, winHeight, curPos);if(trackingMouse){    dx = curPos[0] - lastPos[0];    dy = curPos[1] - lastPos[1];    dz = curPos[2] - lastPos[2];    if (dx || dy || dz) {	angle = 90.0F * sqrt(dx*dx + dy*dy + dz*dz);	axis[0] = lastPos[1]*curPos[2] - lastPos[2]*curPos[1];	axis[1] = lastPos[2]*curPos[0] - lastPos[0]*curPos[2];	axis[2] = lastPos[0]*curPos[1] - lastPos[1]*curPos[0];	lastPos[0] = curPos[0];	lastPos[1] = curPos[1];	lastPos[2] = curPos[2];    }}     glutPostRedisplay();}voidstartMotion(int x, int y){    trackingMouse = true;    redrawContinue = false;    startX = x; startY = y;    curx = x; cury = y;    trackball_ptov(x, y, winWidth, winHeight, lastPos);	trackballMove=true;}voidstopMotion(int x, int y){    trackingMouse = false;    if (startX != x || startY != y) {	redrawContinue = true;    } else {	angle = 0.0F;	redrawContinue = false;	trackballMove = false;    }}/*----------------------------------------------------------------------*/void display(void){    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);    /* view transform */    if (trackballMove) {	    glRotatef(angle, axis[0], axis[1], axis[2]);    }	colorcube();    glutSwapBuffers();}/*----------------------------------------------------------------------*/void mouseButton(int button, int state, int x, int y){	if(button==GLUT_RIGHT_BUTTON) exit(0);	if(button==GLUT_LEFT_BUTTON) switch(state) 	{    case GLUT_DOWN:	y=winHeight-y;	startMotion( x,y);	break;    case GLUT_UP:	stopMotion( x,y);	break;    } }void myReshape(int w, int h){    glViewport(0, 0, w, h);    winWidth = w;    winHeight = h;}void spinCube(){    if (redrawContinue) glutPostRedisplay();}voidmain(int argc, char **argv){    glutInit(&argc, argv);    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);    glutInitWindowSize(500, 500);    glutCreateWindow("colorcube");    glutReshapeFunc(myReshape);    glutDisplayFunc(display);    glutIdleFunc(spinCube);    glutMouseFunc(mouseButton);    glutMotionFunc(mouseMotion);	glEnable(GL_DEPTH_TEST);     glMatrixMode(GL_PROJECTION);    glLoadIdentity();	glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0);    glMatrixMode(GL_MODELVIEW);    glutMainLoop();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女诱惑一区二区| 成人sese在线| 国产福利精品一区二区| 欧美中文一区二区三区| 久久综合九色综合欧美就去吻| 国产精品午夜春色av| 欧美a级一区二区| 日本精品一区二区三区高清 | 欧美一二三区在线| 亚洲欧洲成人自拍| 国模套图日韩精品一区二区| 色又黄又爽网站www久久| 久久蜜臀中文字幕| 日韩制服丝袜先锋影音| 91麻豆成人久久精品二区三区| 精品少妇一区二区三区在线视频| 亚洲精品亚洲人成人网在线播放| 久久国产精品99久久久久久老狼 | 久久国产精品无码网站| 欧美色精品在线视频| 成人免费在线视频| 福利一区在线观看| 精品国产三级a在线观看| 日本一不卡视频| 欧美性感一区二区三区| 中文字幕在线播放不卡一区| 国产精品一区一区| 欧美xxxxxxxx| 久久精品国产亚洲aⅴ | 91老师国产黑色丝袜在线| 久久久国产精华| 久久99久久精品| 欧美一级黄色大片| 日本成人中文字幕在线视频| 欧美日韩一本到| 日韩中文字幕亚洲一区二区va在线 | 欧美一卡2卡三卡4卡5免费| 亚洲女同一区二区| 色哟哟欧美精品| 一级女性全黄久久生活片免费| 国产传媒欧美日韩成人| 欧美精品一区二区三区高清aⅴ| 蜜臀av国产精品久久久久| 在线综合+亚洲+欧美中文字幕| 亚洲国产精品久久不卡毛片 | 香港成人在线视频| 欧美日韩精品一区二区天天拍小说| 亚洲三级小视频| 在线欧美日韩精品| 亚洲aaa精品| 欧美一区二区三区免费大片 | 亚洲综合在线第一页| 色噜噜久久综合| 亚洲第一福利视频在线| 欧美高清视频一二三区| 日本欧美在线观看| 久久一留热品黄| av高清久久久| 偷拍亚洲欧洲综合| 精品日韩一区二区三区免费视频| 国产一区二区三区久久悠悠色av| 国产欧美日韩中文久久| 91丨porny丨在线| 日韩av一级片| 国产精品狼人久久影院观看方式| 972aa.com艺术欧美| 五月婷婷激情综合| 久久久久久影视| 在线观看一区不卡| 麻豆91精品视频| 国产精品久久久久aaaa| 欧美亚洲国产bt| 国产精品资源网站| 一区二区三区欧美日| 日韩三级.com| 色偷偷成人一区二区三区91| 日本不卡视频一二三区| 国产精品理论片在线观看| 欧美美女喷水视频| 国产精品一区二区果冻传媒| 一区二区三区波多野结衣在线观看| 欧美一级夜夜爽| 91在线观看成人| 国产呦精品一区二区三区网站| 亚洲精品亚洲人成人网 | 国产喂奶挤奶一区二区三区| 在线观看视频一区| 国产高清视频一区| 日本在线不卡视频一二三区| 亚洲人成在线播放网站岛国| 日韩欧美亚洲一区二区| 在线观看91视频| 成人av在线影院| 久久精品国产在热久久| 夜夜精品视频一区二区| 中文子幕无线码一区tr| 日韩一区二区电影网| 日本精品裸体写真集在线观看| 国产一区二区三区免费看| 亚洲成人动漫一区| 亚洲免费伊人电影| 国产日韩欧美激情| 久久综合狠狠综合久久激情 | 色诱视频网站一区| 懂色一区二区三区免费观看 | 午夜久久久久久电影| 亚洲免费视频成人| 中文欧美字幕免费| 欧美国产日本韩| 精品91自产拍在线观看一区| 日韩一区二区在线观看视频| 欧美综合一区二区| 色婷婷激情久久| 色综合久久天天| 99视频精品全部免费在线| 国产99精品国产| 国产精品一区二区91| 国产在线播放一区三区四| 精品系列免费在线观看| 久久不见久久见免费视频1| 日韩成人免费看| 美女精品自拍一二三四| 免费成人你懂的| 精品无人码麻豆乱码1区2区 | 国产精品2024| 国产成人免费在线视频| 国产精品2024| av电影天堂一区二区在线 | 欧美另类z0zxhd电影| 欧美精品免费视频| 51精品久久久久久久蜜臀| 欧美一区二区三区在线看| 欧美一区二区性放荡片| 精品美女在线播放| 国产欧美日韩另类视频免费观看| 国产午夜精品一区二区三区视频| 亚洲国产精品99久久久久久久久 | 日韩欧美在线综合网| 精品剧情在线观看| 中文字幕第一页久久| 亚洲男人的天堂网| 视频在线观看91| 国产精品一区一区| 91老师片黄在线观看| 91精品国产福利在线观看| 久久日一线二线三线suv| 国产精品乱码人人做人人爱| 亚洲精品成人悠悠色影视| 日韩精品欧美精品| 成人综合在线观看| 欧美日韩三级一区| 久久久精品免费免费| 久久av中文字幕片| 91在线视频官网| 欧美久久久久久久久| 国产人成亚洲第一网站在线播放| 亚洲精选视频在线| 激情综合网最新| 在线精品视频一区二区| 精品国产一区二区国模嫣然| 亚洲三级在线看| 免费欧美在线视频| 99re成人在线| 欧美丰满美乳xxx高潮www| 欧美激情资源网| 亚洲高清久久久| 国产精品一区在线| 制服丝袜亚洲播放| 国产日产精品一区| 亚洲午夜视频在线| 国产不卡视频在线观看| 91久久线看在观草草青青| 91 com成人网| 国产女人aaa级久久久级| 免费高清视频精品| www.综合网.com| 555www色欧美视频| 欧美性生活影院| 亚洲欧洲色图综合| 午夜精品久久久久久久| 国产精品99久久久久久似苏梦涵| 欧美精品自拍偷拍| 国产精品久久久久永久免费观看 | 99r精品视频| 欧美一级xxx| 国产欧美视频在线观看| 麻豆国产精品官网| 日本精品视频一区二区| 国产午夜精品一区二区| 久久国产精品无码网站| 欧美亚洲一区三区| 日本一区二区三区高清不卡 | 亚洲色图制服诱惑| 蜜臀av性久久久久蜜臀aⅴ| 91捆绑美女网站| 久久久久久亚洲综合| 狠狠网亚洲精品| 91蜜桃在线免费视频| 精品福利二区三区| 国产在线不卡一区|