锘??xml version="1.0" encoding="utf-8" standalone="yes"?>激情欧美一区,欧美午夜精品久久久久久久,亚洲第一精品在线http://www.shnenglu.com/wc250en007/category/13981.html鍓嶈繘鐨勮礬涓?/description>zh-cnMon, 23 Jul 2012 08:02:48 GMTMon, 23 Jul 2012 08:02:48 GMT60glBlendFunc棰滆壊娣峰悎http://www.shnenglu.com/wc250en007/archive/2012/07/18/184088.htmlLet me see seeLet me see seeWed, 18 Jul 2012 09:32:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/07/18/184088.htmlhttp://www.shnenglu.com/wc250en007/comments/184088.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/07/18/184088.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/184088.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/184088.html闃呰鍏ㄦ枃

]]>
GLUT妗嗘灦http://www.shnenglu.com/wc250en007/archive/2010/06/19/glutFrame.htmlLet me see seeLet me see seeSat, 19 Jun 2010 03:11:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/06/19/glutFrame.htmlhttp://www.shnenglu.com/wc250en007/comments/118229.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/06/19/glutFrame.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/118229.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/118229.html顥ヮ棩GLUT.H - 浣犻渶瑕佸湪浣犵殑婧愪唬鐮佷腑鍖呭惈榪欎釜鏂囦歡. 閫氬父鎯呭喌涓? 榪欎釜鏂囦歡搴旇鏀懼湪浣犵郴緇熺殑鍖呭惈鐩綍涓嬬殑 GL 鏂囦歡澶逛腑
顥ヮ棩GLUT.LIB (SGI windows鐗堟湰) 浠ュ強 glut32.lib (寰蔣鐗堟湰) - 榪欎釜鏂囦歡蹇呴』琚繛鎺ュ埌浣犵殑紼嬪簭涓? 紜繚瀹冩斁鍦?LIB 鐩綍涓?
顥ヮ棩glut32.dll (Windows) 鍜?glut.dll (SGI Windows鐗堟湰) - 鏍規嵁浣犳墍浣跨敤鐨凮penGL閫夋嫨涓涓? 濡傛灉浣犳鍦ㄤ嬌鐢ㄥ井杞叕鍙哥殑鐗堟湰, 閭d箞浣犲繀欏婚夋嫨 glut32.dll. 浣犲簲璇ユ妸DLL鏀劇疆鍦ㄤ綘鐨勭郴緇熸枃浠跺す涓?br>顥ヮ棩璁劇疆Visual C/C++ 6.0
顥ヮ棩Visual C/C++鐨勫伐紼嬫湁涓や釜閲嶈閫夐」: Console (鎺у埗鍙? 鍜?Win32. 搴旂敤紼嬪簭灝嗕細鏈変袱涓獥鍙? 涓涓帶鍒跺彴紿楀彛, 浠ュ強涓涓?OpenGL 紿楀彛. 閫夋嫨 Win32 浠嶇劧鍙互璁╀綘鍦ㄤ笉闇瑕佸叧蹇僕indows紼嬪簭璁捐鐨勬儏鍐典笅緙栧啓 GLUT 紼嬪簭. 浣犻渶瑕佸仛浠ヤ笅璁劇疆:
顥ヮ棩閫夋嫨 Project -> settings
顥ヮ棩閫夋嫨 Link 閫夐」鍗?
顥ヮ棩浠?Category 涓夋嫨 Output
顥ヮ棩鍦?Entry-point synmbol 鏂囨湰妗嗕腑閿叆 mainCRTStartup
顥ヮ棩瀵逛簬宸插瓨鍦ㄧ殑鎺у埗鍙板伐紼? 鏈変竴涓畝鍗曠殑鍔炴硶灝嗗畠杞崲鎴怶in32搴旂敤紼嬪簭:
顥ヮ棩鏍規嵁涓婇潰鐨勬楠や慨鏀瑰叆鍙g偣
顥ヮ棩鍦?Project options 鏂囨湰妗嗕腑鐢?subsystem:windows 瑕嗙洊 subsystem:console
顥ヮ棩鎴栬呬綘鍙互鐩存帴鍦ㄤ綘鐨勬簮浠g爜寮澶村娣誨姞:
顥ヮ棩顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩// #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
顥ヮ棩顥ヮ棩
顥ヮ棩娉ㄦ剰: 榪欐槸涓琛屾敞閲婎棩顥?br>顥ヮ棩濡傛涓鏉? 搴旂敤紼嬪簭灝變笉浼氬嚭鐜版帶鍒跺彴紿楀彛, 鑰屽彧鏄竴涓?OpenGL 紿楀彛浜? 鍦╒isual C/C++ 涓綘闇瑕佷竴涓嬫楠ゆ潵榪炴帴涓涓?GLUT 紼嬪簭:
顥ヮ棩閫夋嫨 Proejct/Settings
顥ヮ棩閫夋嫨 LINK 閫夐」鍗?
顥ヮ棩娣誨姞涓涓嬫枃浠跺埌 Object/library: opengl32.lib glut32.lib glu32.lib
顥ヮ棩璇鋒敞鎰? 鎴戝悓鏃舵坊鍔犱簡glu32.lib 鍜?opengl32.lib. 浠栦滑鏄爣鍑哋penGL搴?
顥ヮ棩
顥ヮ棩濂界殑,鐜板湪涓鍒囧噯澶囧氨緇? 鎴戜滑鍙互寮濮嬬紪鍐?GLUT 搴旂敤紼嬪簭浜? 濡傛灉鏈変換浣曚笉娓呮鐨勫湴鏂? 璇鋒偍鍛婅瘔鎴? 鎮ㄧ殑鍥為闈炲父涔嬮噸瑕?
顥?br>顥ヮ棩鍦ㄨ繖涓鑺備腑, 鎴戜滑灝嗕細寤洪犲簲鐢ㄧ▼搴忕殑涓誨嚱鏁?main function). 涓誨嚱鏁板皢浼氬皢浼氬畬鎴愮▼搴忕殑鍒濆鍖栧茍鍚姩浜嬩歡澶勭悊寰幆. 鎵鏈夊嚱鏁伴兘鏈変竴涓墠緙 glut , 鍒濆鍖栧嚱鏁扮殑鍓嶇紑鏄?glutInit. 鎴戜滑棣栧厛蹇呴』璋冪敤鍑芥暟 glutInit.
顥ヮ棩顥?br>顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutInit(int *argc, char **argv);
顥ヮ棩//鍙傛暟:
顥ヮ棩//argc - 涓涓寚鍚戜富鍑芥暟 argc 鍙橀噺鐨?鏈粡淇敼 鐨勬寚閽?
顥ヮ棩//argv - 涓涓寚鍚戜富鍑芥暟 argv 鍙橀噺鐨?鏈粡淇敼 鐨勬寚閽?
顥ヮ棩 顥ヮ棩
顥ヮ棩鍒濆鍖?GLUT 鏈韓浠ュ悗, 鎴戜滑灝嗕細瀹氫箟鎴戜滑鐨勭獥鍙? 棣栧厛, 鎴戜滑寤虹珛紿楀彛鐨勪綅緗? 渚嬪: 鍦ㄧ獥鍙g殑宸︿笂瑙? 瑕佸疄鐜拌繖涓姛鑳? 鎴戜滑闇瑕佽皟鐢ㄥ嚱鏁?glutWindowsPosition.
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutInitWindowPosition(int x, int y);
顥ヮ棩//鍙傛暟:
顥ヮ棩//x- 璺濈灞忓箷宸﹁竟鐨勫儚绱犳暟. 榛樿鍊兼槸 -1, 鐢盬indows緋葷粺鍐沖畾紿楀彛鐨勪綅緗? 濡傛灉娌℃湁娌℃湁閲囩敤榛樿鍊? 閭d箞浣犲簲璇ヤ嬌鐢ㄤ竴涓悎閫傛鍊間綔涓哄疄鍙?
顥ヮ棩//y- 璺濈灞忓箷灞忓箷欏剁鐨勫儚绱犳暟, 鍏朵綑鍚屼笂.
顥ヮ棩璇鋒敞鎰? 榪欎簺鍙傛暟鍙槸緇欑獥鍙g鐞嗗櫒鐨勪竴涓緩璁? 鎴戜滑鍒涘緩鐨勭獥鍙e彲鑳戒細澶勪簬涓嶅悓鐨勪綅緗笂, 涓嶈繃榪欏緢灝戝彂鐢? 鎺ヤ笅鏉ユ垜浠鍐沖畾紿楀彛鐨勫ぇ灝? 涓轟簡鍋氬埌榪欎竴鐐? 鎴戜滑闇瑕佷嬌鐢ㄥ嚱鏁?glutInitWindowSize.
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutInitWindowSize(int width, int height);
顥ヮ棩鍙傛暟:
顥ヮ棩width - 紿楀彛鐨勫搴?br>顥ヮ棩height - 紿楀彛鐨勯珮搴?br>顥ヮ棩
顥ヮ棩鍚屾牱鐨? 楂樺拰瀹戒篃鍙槸涓涓緩璁? 璇烽伩鍏嶄嬌鐢ㄨ礋鍊?
顥ヮ棩鐒跺悗鎴戜滑闇瑕佸畾涔夋樉紺烘ā寮? 鎴戜滑浣跨敤 glutInitDisplayMode 鍑芥暟.
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutInitDisplayMode(unsigned int mode)
顥ヮ棩鍙傛暟:
顥ヮ棩mode - 鎸囧畾鏄劇ず妯″紡顥?br>顥ヮ棩//mode 鍙傛暟鏄竴涓?GLUT 棰勫畾涔夊父鏁扮殑澶嶅悎甯冨皵鍨?(浣嶆垨). 浣犲彲浠ヤ嬌鐢?mode 鏉ユ寚瀹氶鑹? 浠ュ強緙撳啿鍖虹殑鏁伴噺鍜岀被鍨?
顥ヮ棩
顥ヮ棩榪欎簺甯告暟鏄?
顥ヮ棩GLUT_RGBA or GLUT_RGB - 榛樿棰滆壊妯″紡
顥ヮ棩GLUT_INDEX - 棰滆壊绱㈠紩(?) 妯″紡
顥ヮ棩
顥ヮ棩鏄劇ず妯″紡鍏佽浣犻夋嫨鍗曟垨鍙岀紦鍐插尯紿楀彛. 鐩稿叧甯告暟鏄?
顥ヮ棩GLUT_SINGLE - 鍗曠紦鍐插尯紿楀彛
顥ヮ棩GLUT_DOUBLE - 鍙岀紦鍐插尯, 騫蟲粦鍔ㄧ敾闇瑕?br>顥ヮ棩
顥ヮ棩榪欓噷榪樻湁鏇村鍏充簬緙撳啿鍖虹殑甯告暟:
顥ヮ棩GLUT_ACCUM - 鑱氶泦緙撳啿鍖?
顥ヮ棩GLUT_STENCIL - The stencil buffer (...緲昏瘧涓嶅嚭鏉?
顥ヮ棩GLUT_DEPTH - 娣卞害緙撳啿鍖?br>顥ヮ棩
顥ヮ棩鐜板湪, 鍋囧浣犳兂瑕佸垱寤轟竴涓猂GB紿楀彛, 鍗曠紦鍐蹭互鍙婁竴涓繁搴︾紦鍐插尯. 浣犻渶瑕佹妸鐩稿叧鐨勫父鏁板幓 OR 鍦ㄤ竴璧鋒潵鍒涘緩涓涓紜殑甯稿彛
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩...
顥ヮ棩glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE | GLUT DEPTH);
顥ヮ棩...顥?br>顥ヮ棩緇忚繃浠ヤ笂姝ラ, 鎴戜滑鍙互璋冪敤 glutCreateWindow 鍑芥暟浜?br>顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩int glutCreateWindow(char *title);
顥ヮ棩
顥ヮ棩鍙傛暟:
顥ヮ棩title - 紿楀彛鏍囬
顥ヮ棩
顥ヮ棩glutCreateWindows 鍑芥暟鐨勮繑鍥炲兼槸绱㈠垱寤虹獥鍙g殑鏍囩ず絎? 浣犱互鍚庝細鐢ㄥ埌榪欎釜鏍囩ず絎?
顥ヮ棩鐜板湪, 鎴戜滑鎶婁笂闈㈢殑浠g爜闆嗗悎璧鋒潵, 鐪嬬湅涓嬈″畬鏁寸殑紿楀彛鍒濆鍖?
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩#include
顥ヮ棩
顥ヮ棩void main(int argc, char **argv) {
顥ヮ棩glutInit(&argc, argv);
顥ヮ棩glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
顥ヮ棩glutInitWindowPosition(100,100);
顥ヮ棩glutInitWindowSize(320,320);
顥ヮ棩glutCreateWindow("3D Tech- GLUT Tutorial");
顥ヮ棩}
顥ヮ棩
顥ヮ棩璇鋒敞鎰忓寘鍚枃浠? 鎴戜滑闇瑕?GLUT 鐨勫寘鍚枃浠?
顥ヮ棩
顥ヮ棩濡傛灉浣犺繍琛屼簡榪欐浠g爜, 閭d箞浣犲皢鐪嬪埌涓涓粦鑹茬殑鎺у埗鍙扮獥鍙? 浣嗘槸娌℃湁浠諱綍OpenGL紿楀彛, 鍑犵閽熶互鍚? 榪欎釜紿楀彛涔熸秷澶變簡. 鍦ㄦ垜浠紑濮嬫覆鏌撲箣鍓?鎴戜滑榪樿鍋氫袱浠朵簨鎯? 棣栧厛鏄憡璇?GLUT 緋葷粺璐熻矗娓叉煋鐨勫嚱鏁?
顥ヮ棩鎴戜滑鏉ュ垱寤轟竴涓覆鏌撳嚱鏁扮殑渚嬪瓙. 榪欎釜鍑芥暟灝嗕細娓呯┖棰滆壊緙撳啿鍖? 騫剁敾鍑轟袱涓笁瑙掑艦:
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void renderScene(void) {
顥ヮ棩glClear(GL_COLOR_BUFFER_BIT);
顥ヮ棩glBegin(GL_TRIANGLES);
顥ヮ棩 glVertex3f(-0.5,-0.5,0.0);
顥ヮ棩 glVertex3f(0.5,0.0,0.0);
顥ヮ棩 glVertex3f(0.0,0.5,0.0);
顥ヮ棩glEnd();
顥ヮ棩glFlush();
顥ヮ棩}
顥ヮ棩
顥ヮ棩浣犲彲浠ョ粰鍑芥暟璧蜂換鎰忕殑鍚嶅瓧. 鐒惰? 浣犲繀欏誨憡璇?GLUT 鏉ヤ嬌鐢ㄨ繖涓嚱鏁拌繘琛屾覆鏌? 榪欏彨鍋?娉ㄥ唽鍥炲彨(callback) 鍑芥暟. GLUT 灝嗕細鍦ㄩ渶瑕佹覆鏌撶殑鏃跺欏懠鍙繖涓嚱鏁? 鐜板湪鎴戜滑鏉ュ憡璇?GLUT 涓鏃︽垜浠殑紿楀彛琚牬鍧?娉ㄦ剰: 褰撶獥鍙g涓嬈¤鍒涘緩鐨勬椂鍊? 榪欎釜鍑芥暟涔熶細琚懠鍙?
顥ヮ棩, 灝辮皟鐢╮enderScene鍑芥暟. GLUT 涓湁涓涓嚱鏁版帴鍙椾竴涓嚱鏁版寚閽堜綔涓哄弬鏁? 瀹冨皢榪欎釜鎸囬拡鎸囧悜鐨勫嚱鏁頒綔涓烘覆鏌撳嚱鏁?
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutDisplayFunc(void (*func)(void));
顥ヮ棩鍙傛暟:
顥ヮ棩func - 娓叉煋鍑芥暟鎸囬拡, NULL鍦ㄨ繖閲岄潪娉?
顥ヮ棩
顥ヮ棩One last thing missing, that is telling GLUT that we're ready to get in the application event processing loop. GLUT provides a function that gets the application in a never ending loop, always waiting for the next event to process. The GLUT function is glutMainLoop, and the syntax is as follows:
顥ヮ棩
顥ヮ棩鎴戜滑鏈鍚庤鍋? 灝辨槸璁╃▼搴忚繘鍏ヤ簨浠跺鐞嗗驚鐜? GLUT 緇欐垜浠噯澶囦簡涓涓嚱鏁版潵浣跨▼搴忚繘鍏ヤ竴涓棤闄愬驚鐜?姝誨驚鐜?, 姘歌繙鍦ㄧ瓑寰呬笅涓涓渶瑕佸鐞嗙殑浜嬩歡. 榪欎釜鍑芥暟灝辨槸 glutMainLoop:
顥ヮ棩
顥ヮ棩浠g爜
顥ヮ棩
顥ヮ棩void glutMainLoop(void)
顥ヮ棩
顥ヮ棩The code so far is presented bellow. Note that we've added an include statement in order to start using standard OpenGL functions, like glClear, glBegin, glVertex3f, and glEnd.
顥ヮ棩
顥ヮ棩浠ヤ笅鏄畬鏁寸殑浠g爜. 鎴戜滑娣誨姞浜嗕竴涓柊鐨勫寘鍚枃浠? 浠ヤ究浜庢垜浠嬌鐢∣penGL鐨勫嚱鏁? 姣斿 glClear, glBegin, glVertex3f 鍜?glEnd.
顥ヮ棩
顥ヮ棩濡傛灉浣犺繍琛岃繖浣犲皢浼氱湅鍒頒竴涓帶鍒跺彴紿楀彛, 鐒跺悗鏄竴涓敾鏈夌櫧鑹蹭笁瑙掑艦OpenGL紿楀彛

浠g爜

#include "gl/glut.h"
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(-0.5,-0.5,0.0);
glVertex3f(0.5,0.0,0.0);
glVertex3f(0.0,0.5,0.0);
glEnd();
glFlush();
}

void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("3D Tech- GLUT Tutorial");
glutDisplayFunc(renderScene);
glutMainLoop();
}


銆併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併併?br>杞嚜錛?a >http://blog.tianya.cn/blogger/post_show.asp?BlogID=80680&PostID=2276189&idWriter=0&Key=0

鍑虹幇鏃犳硶瑙f瀽絎﹀彿錛?br>
  1. 1>GEARS.obj : error LNK2019: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?nbsp;___glutInitWithExit@12錛岃絎﹀彿鍦ㄥ嚱鏁?nbsp;_glutInit_ATEXIT_HACK@8 涓寮曠敤   
  2. 1>GEARS.obj : error LNK2019: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?nbsp;___glutCreateWindowWithExit@8錛岃絎﹀彿鍦ㄥ嚱鏁?nbsp;_glutCreateWindow_ATEXIT_HACK@4 涓寮?/span>

      glut.h鐨勬枃浠跺唴瀹?/span>浜庢槸錛?br>      Note that the __glut*WithExit routines should NEVER be called directly. 
      To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. 
      鍦?include <GL/glut.h>鍓嶉潰鍔犱笂浜嗕竴鍙ワ細 
 
      #define GLUT_DISABLE_ATEXIT_HACK   


鍙傝僄LUTAPI錛?a >http://www.opengl.org/documentation/specs/glut/spec3/spec3.html
GLUTFrame瀹炰緥涓嬭澆


]]>
浣跨敤OpenGL瀹炵幇涓夌淮鍧愭爣鐨勯紶鏍囨嫞閫夛紙 浜?錛?/title><link>http://www.shnenglu.com/wc250en007/archive/2010/06/07/SelectObj.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Mon, 07 Jun 2010 06:56:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2010/06/07/SelectObj.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/117319.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2010/06/07/SelectObj.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/117319.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/117319.html</trackback:ping><description><![CDATA[鎴戜滑鍙互閫氳繃gluUnProject鍑芥暟鏉ユ眰寰椾笘鐣屽潗鏍?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> ILGameModule::getWorldPos( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> y, vec3</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> vWorld )<br><img id=Codehighlighter1_61_756_Open_Image onclick="this.style.display='none'; Codehighlighter1_61_756_Open_Text.style.display='none'; Codehighlighter1_61_756_Closed_Image.style.display='inline'; Codehighlighter1_61_756_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_61_756_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_61_756_Closed_Text.style.display='none'; Codehighlighter1_61_756_Open_Image.style.display='inline'; Codehighlighter1_61_756_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_61_756_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_61_756_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX vx </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (JFIX)x;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX vy </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (JFIX)camera</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">viewport.h </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> y;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX winz </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">.f;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    glReadBuffer(GL_FRONT);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    glReadPixels( (JINT)vx, (JINT)vy, </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, GL_DEPTH_COMPONENT, GL_FLOAT ,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">winz );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">winz = getWinDepth( camera, 1.f );</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">    GLdouble model[ </span><span style="COLOR: #000000">16</span><span style="COLOR: #000000"> ];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    GLdouble project[</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    mat4 matView </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> camera</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">modelView.transpose();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    mat4 matProj </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> camera</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">projection.transpose();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> pm </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> matView.ptr();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> pj </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> matProj.ptr();<br><img id=Codehighlighter1_512_581_Open_Image onclick="this.style.display='none'; Codehighlighter1_512_581_Open_Text.style.display='none'; Codehighlighter1_512_581_Closed_Image.style.display='inline'; Codehighlighter1_512_581_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_512_581_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_512_581_Closed_Text.style.display='none'; Codehighlighter1_512_581_Open_Image.style.display='inline'; Codehighlighter1_512_581_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000"> )</span><span id=Codehighlighter1_512_581_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_512_581_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        model[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (GLdouble)(pm[i]);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        project[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (GLdouble)(pj[i]);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000">    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    GLdouble lx,ly,lz;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    gluUnProject( vx, vy, winz, model,project,(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">camera</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">viewport, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">lx, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">ly, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">lz );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vWorld.x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (JFIX)lx;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vWorld.y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (JFIX)ly;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vWorld.z </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (JFIX)lz;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br>姹傚嚭鐨勪笘鐣屽潗鏍嘙S涓嶇鍚堟垜浠殑瑕佹眰錛屼緥濡傛垜鐐瑰嚮浜嗕笘鐣屽潗鏍囩殑鐐瑰嚮灞忓箷(sx,sy),鍒╃敤getWorldPos榪樺師鍚庣殑涓栫晫鍧愭爣涓猴紙100錛?00錛?0 錛夛紝鍦紙100錛?00錛?0錛夎繖涓偣鐢繪ā鍨嬶紝<br> 鐨勭‘鍦ㄩ紶鏍囩偣鍑諱綅緗紝闂鍑虹幇浜? 榪樺師鍚庣殑涓栫晫鍧愭爣Z = 20,浣嗘槸鎴戜滑鐢葷殑鐗╀綋鐨勯珮搴﹁姹傛槸0鐨勮瘽錛岀揣璐村湴闈紝浼氬嚭鐜版ā鍨嬫誕絀?br> 浠呬粎灝哯=0錛屽嵈浣垮緱鐐瑰嚮浠夸經鍋忕Щ浜?br><img height=236 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/selectObj.jpg" width=632 border=0><br>鎴戜滑闇瑕佺煡閬撳湪鎷i夊皠綰垮拰鎴戜滑鎯蟲寚瀹氱殑楂樺害闈紙濡俍=0闈級鐨勪氦鐐癸紝榪欎釜浜ょ偣鍙畾涔熷湪鎷i夊皠綰夸笂 vIntersection  = vWorld + vOffset;<br>鍗沖湪鎴戜滑寰楀埌鐨勪笘鐣屽潗鏍囧熀紜涓婏紝鍔犱笂鎷i夊皠綰跨殑涓涓亸縐誨煎氨寰楀埌浜嗘垜浠殑浜ょ偣錛圶', Y', 0 錛?br><img height=249 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/selectObj2.jpg" width=522 border=0><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">vWorld涓栫晫鍧愭爣 PLANE_Z Z騫抽潰, Z=0騫抽潰,榪斿洖鍜屽綋鍓嶉潰鐩鎬氦鐨勪氦鐐?/span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">snapWorldPos( vWorld, PLANE_Z, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">vWorld );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> ILGameModule::snapWorldPos( vec3</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> vWorld, JINT nPlane, JFIX dist, vec3</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> pOut )                 // dist灝辨槸褰撳墠鐩鎬氦鐨勯潰錛屼互鍚庝篃鍙互浼犲叆褰撳墠鍦板艦鐨勯珮搴etHeight(vWorld)<br><img id=Codehighlighter1_173_593_Open_Image onclick="this.style.display='none'; Codehighlighter1_173_593_Open_Text.style.display='none'; Codehighlighter1_173_593_Closed_Image.style.display='inline'; Codehighlighter1_173_593_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_173_593_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_173_593_Closed_Text.style.display='none'; Codehighlighter1_173_593_Open_Image.style.display='inline'; Codehighlighter1_173_593_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_173_593_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_173_593_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vec3 vdir </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> camera</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">pos </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> vWorld;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vdir.normalise();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vec3 vPlane;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">( nPlane )<br><img id=Codehighlighter1_263_404_Open_Image onclick="this.style.display='none'; Codehighlighter1_263_404_Open_Text.style.display='none'; Codehighlighter1_263_404_Closed_Image.style.display='inline'; Codehighlighter1_263_404_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_263_404_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_263_404_Closed_Text.style.display='none'; Codehighlighter1_263_404_Open_Image.style.display='inline'; Codehighlighter1_263_404_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_263_404_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_263_404_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> PLANE_X: vPlane </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vec3( </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> ); </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> PLANE_Y: vPlane </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vec3( </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> ); </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> PLANE_Z: vPlane </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vec3( </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> ); </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX rate;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    JFIX nf </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vdir.dot(vPlane);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( nf </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">.f ) rate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">.f;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        rate </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ( </span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> dist </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> vWorld.dot(vPlane) )</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">nf;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img id=Codehighlighter1_547_591_Open_Image onclick="this.style.display='none'; Codehighlighter1_547_591_Open_Text.style.display='none'; Codehighlighter1_547_591_Closed_Image.style.display='inline'; Codehighlighter1_547_591_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_547_591_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_547_591_Closed_Text.style.display='none'; Codehighlighter1_547_591_Open_Image.style.display='inline'; Codehighlighter1_547_591_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( pOut )</span><span id=Codehighlighter1_547_591_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_547_591_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        vdir </span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000"> rate;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pOut </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> vWorld </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> vdir;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <img src ="http://www.shnenglu.com/wc250en007/aggbug/117319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2010-06-07 14:56 <a href="http://www.shnenglu.com/wc250en007/archive/2010/06/07/SelectObj.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤OpenGL瀹炵幇涓夌淮鍧愭爣鐨勯紶鏍囨嫞閫夛紙涓 錛?杞?/title><link>http://www.shnenglu.com/wc250en007/archive/2010/06/05/OpenGLSelect.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Sat, 05 Jun 2010 10:45:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2010/06/05/OpenGLSelect.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/117235.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2010/06/05/OpenGLSelect.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/117235.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/117235.html</trackback:ping><description><![CDATA[浣跨敤OpenGL瀹炵幇涓夌淮鍧愭爣鐨勯紶鏍囨嫞閫?br>Implementation of RIP錛圧ay-Intersection-Penetration錛?br>3D Coordinates Mouse Selection Using OpenGL <br>欏?闇?錛堟姹夌悊宸ュぇ瀛?璁$畻鏈虹郴 涓闄㈡櫤鑳借璁′笌鏅鴻兘鍒墮犵爺絀舵墍 婀栧寳姝︽眽 430070錛?br>鎽樿錛圓bstract錛夛細<br>鏈枃鎻愬嚭騫跺疄鐜頒竴縐嶇敤浜庝笁緇村潗鏍囨嫞閫夌殑RIP錛圧ay-Intersection-Penetration錛夋柟娉曘備粙緇嶄簡濡備綍鍦ㄥ凡緇忔覆鏌撹嚦紿楀彛鐨勪笁緇村満鏅?br>涓紝浣跨敤榧犳爣鎴栬呯浉鍏寵澶囨嫞閫夌壒瀹氫笁緇村璞$殑鏂規硶銆傛鏂規硶瀵逛簬姝d氦鎶曞獎鎴栭忚鎶曞獎鍧囨湁鏁堬紝鐩稿浜嶰penGL鑷甫鐨勯夋嫨涓庡弽棣堟満鍒訛紝鏈柟娉曟棤璁烘槸鎷i夌簿搴?br>榪樻槸綆楁硶瀹炵幇鏁堢巼鍧囬珮鍑鴻澶氾紝鏄竴縐嶆瘮杈冮氱敤鐨勮В鍐蟲柟妗堛傚叧閿瘝錛圞eywords錛?姝d氦鎶曞獎錛圤rtho-Projection錛夈侀忚鎶曞獎錛圥erspective-Projection錛?br>涓栫晫鍧愭爣緋匯佸睆騫曞潗鏍囩郴銆佷笁緇存嫞閫夈丱penGL <br>涓銆佺畝浠嬶紙Introduction錛?br>OpenGL鏄竴縐嶆瘮杈?#8220;綰補”鐨?D鍥懼艦API錛屼竴鑸粎鐢ㄤ簬涓夌淮鍥懼艦鐨勬覆鏌擄紝瀵逛簬鐗瑰畾棰嗗煙鐨勫紑鍙戣咃紙濡傛父鎴忓紑鍙戣咃級鑰岃█錛屽鏋滈夋嫨浣跨敤<br>OpenGL榪涜寮鍙戯紝綾諱技紕版挒媯嫻嬬殑鏈哄埗灝遍兘闇瑕佽嚜琛岀紪鍐欎簡銆備絾鏄敱浜庨紶鏍囧湪鍥懼艦紼嬪簭涓殑搴旂敤闈炲父闈炲父涔嬪箍娉涳紙渚嬪鐜板湪宸茬粡寰堝皯鏈塒C娓告垙鑳藉畬鍏ㄥ湴鑴辯<br>榧犳爣錛夛紝OpenGL鍦ㄥ浘褰㈠簱鐨勫熀紜涓婃坊鍔犱簡閫夋嫨涓庡弽棣堟満鍒訛紙Select &<br>Feedback錛夋潵婊¤凍鐢ㄦ埛浣跨敤榧犳爣瀹炴椂鎿嶄綔涓夌淮鍥懼艦鐨勯渶瑕併備絾鐢變簬縐嶇鍘熷洜錛屾垜浠渶瑕佹洿涓虹壒孌婄殑閫夋嫨鏈哄埗浠ユ弧瓚崇壒瀹氶渶姹傦紝鍦ㄨ繖閲屾垜浠彁鍑轟簡涓縐嶇畝鍗曡繀<br>閫熺殑RIP錛圧ay-Intersection-Penetration錛夋柟娉曪紝鍙互婊¤凍緇濆ぇ澶氭暟鍏稿瀷搴旂敤鐨勯渶瑕併?br>浜屻佺浉鍏崇爺絀訛紙Related Work錛?鐢ㄨ繃OpenGL閫夋嫨涓庡弽棣堟満鍒剁殑寮鍙戣咃紝鎴栧鎴栧皯鍙兘閮戒細瑙夊緱瀹冮毦浠ヤ護浜烘弧鎰忋傚ぇ鑷磋〃鐜板湪涓嬮潰鍑犱釜鏂歸潰錛?br>涓銆?緙栧啓紼嬪簭姣旇緝綣佺悙銆?br>鎯寵浣跨敤閫夋嫨鍙嶉鏈哄埗灝遍渶瑕佸垏鎹㈡覆鏌撴ā寮忥紝鎿嶄綔鍛藉悕鍫嗘爤錛岃綆楁嫞閫夌煩闃碉紝媯鏌ラ変腑璁板綍錛岃繖浜涚箒鐞愮殑姝ラ寰堝鏄撳嚭閿欙紝鑰屼笖闈炲父涓嶄究浜庤皟璇曪紝鍙細闄嶄綆宸ヤ綔鏁堢巼鍜岀儹鎯呫備簩銆?鍙兘鍋氬熀浜庡浘鍏冪殑閫夊畾銆?br>濡?br>涓嬪浘錛? – a錛夛紝浣跨敤GL_TRIANGLES緇樺埗浜嗕竴涓笁瑙掑艦錛屼笁涓《鐐瑰垎鍒負<br>P1銆丳2鍜孭3銆傝嫢浣跨敤璇ユ満鍒訛紝浣犲皢鍙兘鍒ゆ柇鏄惁鍦ㄤ笁緇村満鏅腑閫変腑浜嗚繖涓笁瑙掑艦錛堢敤鎴風偣鍑誨鏄惁鍦≒1銆丳2鍜孭3鐨勮寖鍥村唴錛夛紝鑰屾棤娉曞垽鏂敤鎴鋒槸鐐瑰嚮浜?br>榪欎釜涓夎褰㈠摢涓閮ㄥ垎錛堟槸宸﹁竟鐨刴鍖哄煙鍐呰繕鏄彸杈圭殑n鍖哄煙鍐咃級錛屽洜涓烘墍緇樺埗鐨凱1銆丳2鍜孭3鏈韓鏋勬垚鐨勪笁瑙掑艦灝辨槸涓涓熀鏈浘鍏冿紝瀵逛簬鎷i夋満鍒惰岃█鏄笉鍙垎<br>鐨勩傚綋鐒訛紝鎶婅繖涓笁瑙掑艦鎷嗘垚涓や釜涓夎褰㈠啀鍒嗗埆榪涜嫻嬭瘯涔熸槸涓涓彲琛岀殑鏂規錛屽彲鏄湅鐪嬪浘錛? – b錛夛紝榪欏彲鎬庝箞鎷嗗憿錛熻繕鏈夊浘錛? –<br>c錛夊憿錛熷彟澶栵紝濡傛灉n鍜宮涓や釜騫抽潰涓嶅叡闈㈠憿錛熷浜庝嬌鐢ㄨ呰岃█錛孫penGL鎻愪緵鐨勬嫞閫夋満鍒跺姛鑳界殑紜湁闄愩?br><img height=245 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/select.jpg" width=514 border=0><br>涓夈侀檷浣庝簡娓叉煋鏁堢巼銆?br>OpenGL<br>涓殑閫夋嫨鍜屽弽棣堟槸涓庢櫘閫氭覆鏌撴柟寮忎笉鍚岀殑涓縐嶇壒孌婄殑娓叉煋鏂瑰紡銆傛垜浠嬌鐢ㄦ椂涓鑸槸鍏堝湪甯х紦瀛樹腑娓叉煋鏅氬満鏅紝鐒跺悗榪涘叆閫夋嫨妯″紡閲嶇粯鍦烘櫙錛屾鏃跺撫緙撳瓨鐨勫唴瀹瑰茍鏃?br>鍙樺寲銆備篃灝辨槸璇達紝涓轟簡閫夋嫨鏌愪簺鐗╀綋錛屾垜浠渶瑕佸湪涓甯т腑浣跨敤涓嶅悓鐨勬覆鏌撴柟寮忓皢鍏舵覆鏌撲袱閬嶃傛垜浠煡閬撳瀵硅薄榪涜娓叉煋鏄瘮杈冭楁椂鐨勬搷浣滐紝褰撳満鏅腑闇瑕侀夋嫨鐨勫璞?br>澶氳屾潅鐨勬椂鍊欙紝閲囩敤榪欎釜鏈哄埗鏄潪甯稿獎鍝嶉熷害鐨勩?br>鍙﹀鍦∣penGL綰㈠疂涔︿腑浠嬬粛浜嗕竴縐嶇畝渚挎槗琛岀殑鍔炴硶錛氬湪鍚庣紦鍐蹭腑浣跨敤涓嶅悓鐨勯鑹查噸緇樻墍鏈夊璞★紝姣忎釜瀵硅薄鐢ㄤ竴涓崟鑹叉潵鏍囩ず鍏墮鑹詫紝榪欐牱鐢誨ソ涔嬪悗鎴戜滑璇誨彇榧?br>鏍囨墍鍦ㄧ偣鐨勯鑹詫紝灝辮兘澶熺‘瀹氭垜浠嫞閫変簡鍝釜鐗╀綋銆傝繖縐嶆柟娉曟湁涓涓己闄鳳紝褰撳満鏅腑闇瑕侀夋嫨鐨勫璞$殑鏁扮洰瓚呭嚭涓瀹氶檺搴︽椂錛屽彲鑳戒細鍑虹幇鏍囪瘑鏁扮殑婧㈠嚭銆傚浜庤繖涓棶<br>棰橈紝綰㈠疂涔︾粰鍑虹殑瑙e喅鍔炴硶灝辨槸澶氭鎵弿銆傚疄璺佃瘉鏄庤繖縐嶆柟娉曠殑紜畝渚挎槗琛岋紝浣嗕粛鏈変笉灝戝眬闄愭э紝鑰屼笖鍋氳搗鏉ュ茍涓嶆瘮絎竴縐嶆満鍒舵柟渚垮灝戙傞檺浜庣瘒騫咃紝涓嶅啀璧樿堪銆備笁銆佸叿浣撴弿榪幫紙Related Work錛?鐪嬭繃浜嗕笂闈袱縐嶆柟娉曪紝鎴戜滑浼氬彂鐜拌繖涓ょ鏂規硶閮戒笉鏄崄鍒嗙殑鏂逛究錛岃屼笖浣跨敤鑰呬笉鑳藉鍏惰繘琛屽畬鍏ㄧ殑鎺у埗錛屼笉鑳界簿紜湴鍒ゅ畾榧犳爣瀹氫綅涓庡疄闄呯殑涓栫晫絀洪棿涓笁緇村潗鏍囩殑鍏崇郴銆傞偅涔堟湁浠涔堟洿濂界殑鍔炴硶鑳藉鏇寸畝鍗曟洿綺劇‘鍦板鍏跺姞浠ユ帶鍒跺憿錛?瀹為檯涓婃澶勭粰鍑虹殑瑙e喅鏂規鍗佸垎綆鍗曪紝灝辨槸涓涓緢鏅氫篃寰堟湁鐢ㄧ殑 GLU 鍑芥暟 gluUnProject()銆?br>姝ゅ嚱鏁扮殑鍏蜂綋鐢ㄩ旀槸灝嗕竴涓狾penGL瑙嗗尯鍐呯殑浜岀淮鐐硅漿鎹負涓庡叾瀵瑰簲鐨勫満鏅腑鐨勪笁緇村潗鏍囥?br>杞崲榪囩▼濡備笅鍥炬墍紺猴紙鐢辯偣P鍦ㄧ獥鍙d腑鐨刋Y鍧愭爣寰楀埌鍏跺湪涓夌淮絀洪棿涓殑涓栫晫鍧愭爣錛夛細<br><img height=210 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/select2.jpg" width=538 border=0><br>榪欎釜鍑芥暟鍦╣lu.h涓殑鍘熷瀷瀹氫箟濡備笅錛歩nt APIENTRY gluUnProject (<br>GLdouble winx, <br>GLdouble winy, <br>GLdouble winz, <br>const GLdouble modelMatrix[16], <br>const GLdouble projMatrix[16], <br>const GLint viewport[4], <br>GLdouble *objx, <br>GLdouble *objy, <br>GLdouble *objz);銆銆鍏朵腑鍓嶄笁涓艱〃紺虹獥鍙e潗鏍囷紝涓棿涓変釜鍒嗗埆涓烘ā鍨嬭鍥劇煩闃碉紙Model/View Matrix錛夛紝鎶曞獎鐭╅樀錛圥rojection Matrix錛夊拰瑙嗗尯錛圴iewPort錛夛紝鏈鍚庝笁涓負杈撳嚭鐨勪笘鐣屽潗鏍囧箋傘銆鍙兘浣犱細闂細紿楀彛鍧愭爣涓嶆槸鍙湁X杞村拰Y杞翠袱涓間箞錛屾庝箞榪欓噷榪樻湁Z鍊鹼紵榪欏氨瑕佷粠浜岀淮絀洪棿涓庝笁緇寸┖闂寸殑鍏崇郴璇磋搗浜嗐傘<br>銆浼楁墍鍛ㄧ煡錛屾垜浠氳繃涓涓斁緗湪涓夌淮涓栫晫涓殑鎽勫儚鏈猴紝鏉ヨ瀵熷綋鍓嶅満鏅腑鐨勫璞°傞氳繃浣跨敤璇稿gluPerspective()<br>榪欐牱鐨凮penGL鍑芥暟錛屾垜浠彲浠ヨ緗繖涓憚鍍忔満鎵鑳界湅鍒扮殑瑙嗛噹鐨勫ぇ灝忚寖鍥淬傝繖涓閲庣殑杈圭晫鎵鍥存垚鐨勫嚑浣曚綋鏄竴涓爣鍑嗙殑騫蟲埅澶翠綋錛團rustum錛夛紝鍙互<br>鐪嬪仛鏄噾瀛楀鐘剁殑鍑犱綍浣撳墛鍘婚噾瀛楀鐨勪笂鍗婇儴鍒嗗悗褰㈡垚鐨勪竴涓彴鐘剁墿錛屽鏋滆繕鍘熸垚閲戝瓧濉旂姸錛屽氨寰楀埌浜嗛氬父鎴戜滑鎵璇寸殑瑙嗛敟錛圴iew<br>Frustum錛夎繖涓閿ョ殑閿ラ《灝辨槸瑙嗙偣錛圴iew Point錛変篃灝辨槸鎽勫儚鏈烘墍鍦ㄧ殑浣嶇疆銆傚鉤鎴ご浣擄紝瑙嗛敟浠ュ強瑙嗙偣涔嬮棿鐨勫叧緋伙紝濡備笅鍥炬墍紺猴細<br><img height=317 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/select3.jpg" width=324 border=0><br>鍦ㄤ笂闈㈢殑鍥句腑錛岃繙瑁佸壀闈BCD鍜岃繎瑁佸壀闈’B’C’D’鏋勬垚浜嗗鉤鎴ご浣擄紝鍔犱笂铏氱嚎閮ㄥ垎灝辨槸瑙嗛敟錛岄《鐐筄灝辨槸鎽勫儚鏈烘墍鍦ㄧ殑瑙嗙偣銆傛垜浠湪紿楀彛涓墍鑳界湅鍒扮殑涓滀笢錛屽叏閮ㄩ兘鍦ㄦ騫蟲埅澶翠綋鍐呫傝繖璺熷墠闈㈢殑紿楀彛鍧愭爣Z鍊兼湁浠涔堝叧緋誨憿錛熺湅涓嬪浘<br><img height=304 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/select4.jpg" width=344 border=0><br>濡?br>姝ゅ浘鎵紺猴紝鐐筆鍜岀偣P’鍒嗗埆鍦ㄨ繙瑁佸壀闈BCD鍜岃繎瑁佸壀闈’B’C’D’涓娿傛垜浠偣鍑誨睆騫曚笂鐨勭偣P錛屽弽鏄犲埌瑙嗛敟涓紝灝辨槸閫変腑浜嗘墍鏈夌殑浠庣偣P鍒扮偣P’鐨?br>鐐廣備婦涓艦璞$殑渚嬪瓙錛岃繖灝卞儚鏄垜浠尳寮撴斁綆紝濡傛灉灝勫嚭鍘葷殑綆繎涔庣瑪鐩村湴椋炲嚭錛堝亣璁懼姏閲忛潪甯鎬箣澶ц繎涔庢棤絀鳳級錛屼粠鎸藉紦鐨勫湴鐐圭洿鑷沖嚮涓洰鏍囷紝鍦ㄨ繖鏉$洿綰跨殑杞ㄨ抗涓?br>浠諱綍鐗╀綋閮藉皢琚竴絀胯岃繃銆傚搴旇繖閲岀殑鎯呭喌錛岀敤鎴峰崟鍑婚紶鏍囪幏寰楀睆騫曚笂鐨勬煇涓鐐癸紝鍗蟲槸鎸囧畾浜嗕粠瑙嗙偣鎸囧悜灞忓箷娣卞鐨勬煇涓鏂瑰悜錛屼篃灝辯‘瀹氫簡灞忓箷涓婃煇鏉′粠O鐐瑰嚭鍙戠殑<br>灝勭嚎錛堝湪鍥句腑鍗充負OP錛夈傚湪榪欓噷錛屾垜浠О鍛煎叾涓烘嫞閫夊皠綰褲?br>鍥犳錛屼粠紿楀彛鐨刋Y鍧愭爣錛屾垜浠粎浠呭彧鑳借幏寰椾竴鏉″嚭鍙戣嚜O鐐圭殑鎷i夊皠綰匡紝騫朵笉鑳藉緱鍒扮敤鎴鋒兂瑕佺殑鐐瑰湪榪欐潯灝勭嚎涓婄殑紜垏浣嶇疆銆?br>榪欐椂鍊欑獥鍙e潗鏍囩殑Z鍊煎氨鑳芥淳涓婄敤鍦轟簡銆傛垜浠氳繃Z鍊鹼紝鏉ユ寚瀹氭垜浠兂瑕佺殑鐐瑰湪灝勭嚎涓婄殑浣嶇疆銆傚亣濡傜敤鎴風偣鍑諱簡灞忓箷涓婄殑鐐癸紙100,100錛夊緱鍒頒簡榪欐潯灝勭嚎OP錛岄偅涔堟垜浠紶鍏ュ?.0f灝辮〃紺鴻繎瑁佸壀闈笂鐨凱鐐癸紝鑰屽?.0f鍒欏搴旇繙瑁佸壀闈笂鐨凱’鐐廣?br>榪?br>鏍鳳紝鎴戜滑閫氳繃寮曞叆涓涓獥鍙e潗鏍囩殑Z鍊鹼紝灝辮兘鎸囧畾瑙嗛敟鍐呬換鎰忕偣鐨勪笁緇村潗鏍囥備笌姝ゅ悓鏃訛紝鎴戜滑榪樿В鍐充簡鍓嶉潰綰㈠疂涔︾粰鍑虹殑鏂規硶涓瓨鍦ㄧ殑緙洪櫡鈥斺斿悓涓浣嶇疆涓婇噸鍙犵墿浣?br>鐨勯夋嫨闂銆傝В鍐沖姙娉曟槸錛氫粠灞忓箷鍧愭爣寰楀埌灝勭嚎涔嬪悗錛屽垎鍒閲嶅彔鐨勭墿浣撲笌璇ュ皠綰挎眰浜わ紝寰楀埌鐨勪氦鐐癸紝鐒跺悗鏍規嵁榪欎簺涓庤鐐圭殑榪滆繎紜畾閫夋嫨鐨勫璞°傚姝ゆ垜浠氨涓嶅繀<br>鍙?#8220;浠呬粎鍙兘閫夊彇灞忓箷涓瑙傚療鑰呮渶榪戠殑鐗╀綋”鐨勯檺鍒朵簡銆傝繖鏍蜂竴鏉ワ紝濡傛灉闇瑕佺殑璇濓紝鎴戜滑鐢氳嚦鍙互鐢ㄤ唬鐮佹潵浣滀竴瀹氱殑闄愬畾錛岄氳繃鍒ゆ柇浜ょ偣涓庤鐐圭殑璺濈錛屼嬌寰椾笌璇?br>鎷i夊皠綰跨浉浜ょ殑鐗╀綋涓紝紱昏鐐硅繙鐨勫璞℃墠鑳借閫夊彇錛岃繖鏍峰氨鑳藉瀵歸偅浜涙殏鏃惰鍏朵粬瀵硅薄閬綇鐨勭墿浣撹繘琛岄夊彇銆?br>鑷充簬濡備綍姹傛嫞閫夊皠綰夸笌瀵硅薄鐨勪氦鐐癸紝鍦ㄥ悇縐嶅浘褰㈠鐨勪功涓殑鏁板閮ㄥ垎鍧囨湁璁茶堪錛屽湪姝や笉鍐嶈禈榪般?br>鍥涖佷緥紼嬶紙Sample Code Fragment錛?br><br>鍓嶉潰璁茶堪浜哛IP鏂規硶錛岀幇鍦ㄦ垜浠潵鐪嬪浣曠紪鍐欎唬鐮佷互瀹炵幇涔嬶紝浠ュ強涓浜涢渶瑕佹敞鎰忕殑闂銆?br>鐢變簬鎷i夊皠綰夸互綰挎褰㈠紡瀛樺偍鏇村姞渚夸簬鍚庨潰鐨勮綆楋紝鍐典笖鎴戜滑鍙互鐩存帴寰楀埌綰佃法鏁翠釜騫蟲埅澶翠綋鐨勭嚎孌碉紙鍗沖墠闈㈠浘涓殑綰挎PP’錛夛紝鏁呮垜浠洿鎺ヨ綆楀嚭榪欐潯榪炴帴榪滆繎瑁佸壀闈㈢殑綰挎銆傛垜浠皢鎷i夊皠綰跨殑綰挎褰㈠紡縐頒箣涓烘嫞閫夌嚎孌點?<br>鍦ㄤ笅闈㈢殑浠g爜鍓嶆柟澹版槑鏈変袱涓被Point3f鍜孡ineSegment榪欏垎鍒〃紺虹敱涓変釜嫻偣鏁版瀯鎴愮殑涓夌淮絀洪棿涓殑鐐癸紝浠ュ強鐢變袱涓偣鏋勬垚鐨勭┖闂翠腑鐨勪竴鏉$嚎孌點?br>搴旀敞鎰忎唬鐮佷腑鐢ㄥ埌浜嗙被Point3f鐨勪竴涓渶瑕佷笁涓誕鐐瑰弬鏁扮殑鏋勯犲嚱鏁幫紝浠ュ強綾籐ineSegment鐨勪竴涓渶瑕佷袱涓偣鍙傛暟鐨勬瀯閫犲嚱鏁般?br>鑾峰彇鎷i夊皠綰跨殑渚嬬▼濡備笅鎵紺猴紙浣跨敤C++璇█緙栧啓錛夛細class Point3f;<br>class LineSegment;<br>LineSegment GetSelectionRay(int mouse_x, int mouse_y) {<br>// 鑾峰彇 Model-View銆丳rojection 鐭╅樀 & 鑾峰彇Viewport瑙嗗尯<br>GLdouble modelview[16];<br>GLdouble projection[16];<br>GLint viewport[4];<br>glGetDoublev (GL_MODELVIEW_MATRIX, modelview);<br>glGetDoublev (GL_PROJECTION_MATRIX, projection);<br>glGetIntegerv (GL_VIEWPORT, viewport); GLdouble world_x, world_y, world_z; // 鑾峰彇榪戣鍓潰涓婄殑浜ょ偣<br>gluUnProject( (GLdouble) mouse_x, (GLdouble) mouse_y, 0.0, <br>modelview, projection, viewport, <br>&world_x, &world_y, &world_z); <br>Point3f near_point(world_x, world_y, world_z); // 鑾峰彇榪滆鍓潰涓婄殑浜ょ偣<br>gluUnProject( (GLdouble) mouse_x, (GLdouble) mouse_y, 1.0, <br>modelview, projection, viewport, <br>&world_x, &world_y, &world_z); <br>Point3f far_point(world_x, world_y, world_z); return LineSegment(near_point, far_point);<br>}<br><br>濡傛灉浣犳槸浣跨敤Win32騫沖彴榪涜寮鍙戯紝閭d箞搴斿綋娉ㄦ剰浼犲叆姝g‘鐨勫弬鏁般傚洜涓烘棤璁烘槸浣跨敤Win32 API 榪樻槸DirectInput<br>鏉ヨ幏鍙栭紶鏍囧潗鏍囷紝寰楀埌鐨刌鍊奸兘搴斿彇鍙嶅悗鍐嶄紶鍏ャ傚洜涓篛penGL榛樿鐨勫師鐐瑰湪瑙嗗尯鐨勫乏涓嬭錛孻杞翠粠宸︿笅瑙掓寚鍚戝乏涓婅錛岃學indows榛樿鐨勫師鐐瑰湪紿楀彛鐨?br>宸︿笂瑙掞紝鑰孻杞存柟鍚戜笌OpenGL鐩稿弽錛屼粠宸︿笂瑙掓寚鍚戝乏涓嬭銆傚涓嬪浘鎵紺猴細<br><img height=169 alt="" src="http://www.shnenglu.com/images/cppblog_com/wc250en007/select5.jpg" width=491 border=0><br>鎴戜滑鍙互鐪嬪埌浠g爜琚敞閲婂垎涓轟簡涓変釜閮ㄥ垎錛氳幏鍙栧綋鍓嶇煩闃靛強瑙嗗尯錛岃幏鍙栬繎瑁佸壀闈㈢殑浜ょ偣錛岃幏鍙栬繙瑁佸壀闈㈢殑浜ょ偣銆?br>鎴戜滑閫氳繃OpenGL鎻愪緵鐨勬煡璇㈠嚱鏁拌交鏉懼緱鍒板綋鍓嶇殑ModelView鍜孭rojection鐭╅樀錛屼互鍙婂綋鍓嶇殑Viewport錛堣鍖猴紝涔熷氨鏄獥鍙g殑瀹㈡埛绔尯鍩燂紝濡傛灉鏁翠釜紿楀彛鍖哄煙鐢ㄤ簬OpenGL娓叉煋鐨勮瘽錛夈?br>鑾峰緱涓や釜瑁佸壀闈笂鐨勪氦鐐圭殑浠g爜鍩烘湰涓婃槸涓鏍風殑錛屽敮涓鐨勪笉鍚岀偣鏄垜浠墠闈㈡浘緇忚緇嗗湴璁ㄨ榪囩殑紿楀彛鐨刏鍧愭爣銆備笉閿欙紝榪欎釜鍧愭爣琛ㄧず鐨勫氨鏄?#8220;娣辨祬”鐨勬蹇點傚畠鐨勫間粠鐐筆’鍒扮偣P鐨勫彉鍖栨槸浠?.0f閫愭笎澧炶嚦1.0f銆傛澶勭被浼間簬OpenGL鐨勬繁搴︽祴璇曟満鍒躲?br>鍦ㄥ緱鍒頒袱涓氦鐐逛箣鍚庯紝鎴戜滑浣跨敤瀹冧滑閫氳繃榪斿洖璇彞鐩存帴鏋勫緩涓鏉$嚎孌點傚湪榪欓噷浠呬粎浣滀負瀹炰緥浠g爜錛屾晠綆鎹鋒竻鏅板湴鐩存帴榪斿洖綰挎瀵硅薄錛岃屾病鏈夐氳繃寮曠敤鍙傛暟鏉ユ彁楂樻晥鐜囥?br>姝?br>鏃剁敤鎴峰彲浠ヤ嬌鐢ㄨ繖涓嚱鏁版潵鍒ゆ柇鎵閫夋嫨鐨勫璞′簡銆傚彧闇鍦ㄩ渶瑕佺殑鍦版柟鍒ゆ柇瀵硅薄鏄惁涓庢綰挎鐩鎬氦鍗沖彲鍒ゆ柇瀵硅薄鏄惁琚変腑錛岃繕鍙互閫氳繃榪涗竴姝ヨ綆楀叾浜ょ偣浣嶇疆鏉ュ緱鍒?br>璇︾粏鐨勪氦鐐逛俊鎭傝繖浜涜綆楀潎鏄父瑙佺殑璁$畻鏈哄浘褰㈠涓庝笁緇存暟瀛﹁綆楋紝姣斿綰挎涓庝笁瑙掑艦姹備氦錛岀嚎孌典笌闈㈡眰浜わ紝綰挎涓庣悆浣撴眰浜わ紝綰挎涓庢煴浣撴垨閿ヤ綋姹備氦錛岀瓑絳夈傝<br>鍙傝冩墍鍒楀嚭鐨勮綆楁満鍥懼艦瀛︿功綾嶃?br>浜斻佺粨璁猴紙Conclusion錛?br><br>鍦ㄦ湰鏂囦腑錛屾垜浠粙緇嶄簡涓縐嶈涔嬫湁鏁堢殑涓夌淮鍧愭爣鎷懼彇鏂規硶錛屼富瑕佷嬌鐢℅LU搴撲腑鐨勫疄鐢ㄥ伐鍏峰疄鐜般傝繖縐嶆柟娉曢熷害蹇紝鏁堢巼楂橈紝鑳藉湪涓嶅繀閲嶆柊緇樺埗瀵硅薄鐨勫墠鎻愪笅瀹屾垚鎷i夊伐浣溿傚姣擮penGL鑷甫鐨勬嫞閫夋満鍒舵潵鐪嬶紝RIP鐨勭‘鍦ㄥ悇縐嶆柟闈㈠潎鏈変竴瀹氱殑浼樺娍銆?br>鍏佸弬鑰冩枃鐚紙Reference錛?銆?銆戙奜penGL Programming Guide銆?br>OpenGL ARB Mason Woo, Jackie Heider, Tom Davis, Dave Shreiner<br>銆?銆戙奜penGL Reference Manual銆?br>OpenGL ARB<br>銆?銆戙奀omputer Graphics銆?br>Donald Heam, M. Pauline Baker<br>銆?銆戙奀omputer Graphics using OpenGL 2nd Edition銆?br>F.S. Hill, JR.<br> <img src ="http://www.shnenglu.com/wc250en007/aggbug/117235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2010-06-05 18:45 <a href="http://www.shnenglu.com/wc250en007/archive/2010/06/05/OpenGLSelect.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://tareandshare.com" target="_blank">亚洲大片在线观看</a>| <a href="http://302262.com" target="_blank">国内成+人亚洲</a>| <a href="http://555346.com" target="_blank">国产精品99久久久久久宅男 </a>| <a href="http://p35cc.com" target="_blank">国产精品99久久久久久久久久久久 </a>| <a href="http://www-85489.com" target="_blank">国产伦精品一区二区三区视频黑人</a>| <a href="http://yimeimc.com" target="_blank">国产欧美一区二区精品婷婷</a>| <a href="http://sishengnv.com" target="_blank">欧美亚洲在线</a>| <a href="http://shwazrbjd.com" target="_blank">久久婷婷一区</a>| <a href="http://hg98688.com" target="_blank">夜夜嗨av一区二区三区四区</a>| <a href="http://laodaohang.com" target="_blank">这里只有精品丝袜</a>| <a href="http://v63xs.com" target="_blank">欧美成人精品一区二区三区</a>| <a href="http://spyfaw.com" target="_blank">日韩午夜中文字幕</a>| <a href="http://s3yx.com" target="_blank">亚洲一区二区三区四区中文</a>| <a href="http://nnnn34.com" target="_blank">黄色成人在线</a>| <a href="http://fengxinye.com" target="_blank">日韩视频在线永久播放</a>| <a href="http://xb735.com" target="_blank">国产亚洲一区在线播放</a>| <a href="http://160160160.com" target="_blank">蜜臀久久99精品久久久画质超高清 </a>| <a href="http://789469.com" target="_blank">亚洲人成在线观看网站高清</a>| <a href="http://www-kj777.com" target="_blank">亚洲免费在线视频一区 二区</a>| <a href="http://yye321.com" target="_blank">欧美不卡高清</a>| <a href="http://86311ib.com" target="_blank">亚洲免费视频在线观看</a>| <a href="http://66666556.com" target="_blank">亚洲日本在线观看</a>| <a href="http://17ang.com" target="_blank">狼人社综合社区</a>| <a href="http://mes-dvd.com" target="_blank">亚洲视频二区</a>| <a href="http://www333393.com" target="_blank">久久精品日产第一区二区三区</a>| <a href="http://www49966.com" target="_blank">欧美无乱码久久久免费午夜一区</a>| <a href="http://wwwavtb1122.com" target="_blank">亚洲成色777777在线观看影院</a>| <a href="http://zz9876.com" target="_blank">国产视频一区二区在线观看</a>| <a href="http://ww3838.com" target="_blank">欧美r片在线</a>| <a href="http://chengli88.com" target="_blank">国产精品毛片a∨一区二区三区|国</a>| <a href="http://862323.com" target="_blank">日韩一区二区精品在线观看</a>| <a href="http://69kun.com" target="_blank">亚洲欧美日韩区</a>| <a href="http://www51avav.com" target="_blank">日韩天堂在线视频</a>| <a href="http://0808333.com" target="_blank">久久成人一区二区</a>| <a href="http://javdb04.com" target="_blank">午夜视频一区二区</a>| <a href="http://cnbluebox.com" target="_blank">欧美日韩成人一区二区</a>| <a href="http://p35cc.com" target="_blank">欧美a级在线</a>| <a href="http://hoppecoke.com" target="_blank">国产拍揄自揄精品视频麻豆</a>| <a href="http://85041960.com" target="_blank">亚洲免费激情</a>| <a href="http://czjrby.com" target="_blank">日韩视频中文字幕</a>| <a href="http://kanebocos.com" target="_blank">久久久夜夜夜</a>| <a href="http://710952.com" target="_blank">久久久久久综合网天天</a>| <a href="http://km43yy.com" target="_blank">国产精品日韩精品欧美在线</a>| <a href="http://qqszdq.com" target="_blank">羞羞答答国产精品www一本</a>| <a href="http://hhh699.com" target="_blank">免费h精品视频在线播放</a>| <a href="http://270909.com" target="_blank">久久精品99无色码中文字幕 </a>| <a href="http://785448.com" target="_blank">欧美一级播放</a>| <a href="http://zhijiasd.com" target="_blank">欧美午夜精品一区</a>| <a href="http://3188m.com" target="_blank">欧美一区二区私人影院日本</a>| <a href="http://ythbhg.com" target="_blank">欧美日韩国产三区</a>| <a href="http://689992.com" target="_blank">亚洲精品男同</a>| <a href="http://yjizz08.com" target="_blank">亚洲看片一区</a>| <a href="http://shuoqe.com" target="_blank">欧美高清成人</a>| <a href="http://411233.com" target="_blank">亚洲国产三级在线</a>| <a href="http://phitris.com" target="_blank">亚洲人成人77777线观看</a>| <a href="http://youjizzbox.com" target="_blank">久久亚洲综合色</a>| <a href="http://89wbw.com" target="_blank">麻豆国产va免费精品高清在线</a>| <a href="http://7357538.com" target="_blank">毛片一区二区</a>| <a href="http://77777de.com" target="_blank">免费影视亚洲</a>| <a href="http://392294.com" target="_blank">亚洲激情欧美激情</a>| <a href="http://xianjiacf.com" target="_blank">久久夜色精品</a>| <a href="http://y7y7s.com" target="_blank">欧美国产日韩在线</a>| <a href="http://cm1-100.com" target="_blank">亚洲日本国产</a>| <a href="http://lyminghang.com" target="_blank">欧美国产日韩精品</a>| <a href="http://387www.com" target="_blank">亚洲欧美乱综合</a>| <a href="http://56x6.com" target="_blank">欧美亚州在线观看</a>| <a href="http://quanfadq.com" target="_blank">亚洲私拍自拍</a>| <a href="http://www218999.com" target="_blank">久久国产直播</a>| <a href="http://maoshimh.com" target="_blank">国内精品视频久久</a>| <a href="http://69jp.com" target="_blank">毛片精品免费在线观看</a>| <a href="http://75yyyy.com" target="_blank">亚洲福利精品</a>| <a href="http://pron12.com" target="_blank">中文日韩欧美</a>| <a href="http://cz-hongbangfloor.com" target="_blank">国产精品久久9</a>| <a href="http://aqdw2021.com" target="_blank">午夜一区二区三视频在线观看</a>| <a href="http://6868681.com" target="_blank">亚洲国产婷婷香蕉久久久久久</a>| <a href="http://9881600.com" target="_blank">99国内精品久久</a>| <a href="http://ynjzwh.com" target="_blank">亚洲一区二区在线视频</a>| <a href="http://wwwlywbb.com" target="_blank">国产精品一二一区</a>| <a href="http://xianjiacf.com" target="_blank">欧美在线观看视频一区二区</a>| <a href="http://jilcool.com" target="_blank">亚洲免费成人</a>| <a href="http://75pppp.com" target="_blank">欧美午夜电影完整版</a>| <a href="http://www-18873.com" target="_blank">亚洲欧美视频在线观看</a>| <a href="http://asanny.com" target="_blank">久久综合福利</a>| <a href="http://www-878009.com" target="_blank">日韩一区二区高清</a>| <a href="http://wwwiqiuxia.com" target="_blank">久久国产直播</a>| <a href="http://www-188444.com" target="_blank">欧美岛国激情</a>| <a href="http://tavbao.com" target="_blank">国产精品一区二区在线观看</a>| <a href="http://by8556.com" target="_blank">午夜亚洲性色福利视频</a>| <a href="http://henhenai1.com" target="_blank">欧美.日韩.国产.一区.二区</a>| <a href="http://895658.com" target="_blank">99精品视频免费观看视频</a>| <a href="http://kakatok.com" target="_blank">国产精品国产三级国产专区53 </a>| <a href="http://zgslwtc.com" target="_blank">一区二区高清视频在线观看</a>| <a href="http://ylsnuha.com" target="_blank">午夜激情综合网</a>| <a href="http://jav69me.com" target="_blank">免费观看成人鲁鲁鲁鲁鲁视频</a>| <a href="http://vvv3939.com" target="_blank">国产精品亚洲一区</a>| <a href="http://ruichengxiang.com" target="_blank">最近看过的日韩成人</a>| <a href="http://yx3369.com" target="_blank">亚洲欧美激情一区二区</a>| <a href="http://xuanxuan88.com" target="_blank">精品不卡在线</a>| <a href="http://musicshq.com" target="_blank">国产精品扒开腿做爽爽爽视频</a>| <a href="http://xhamster0.com" target="_blank">亚洲二区视频</a>| <a href="http://jiazhuangma.com" target="_blank">一区三区视频</a>| <a href="http://hbstjsgc.com" target="_blank">欧美性事在线</a>| <a href="http://www49773.com" target="_blank">美女视频网站黄色亚洲</a>| <a href="http://eee104.com" target="_blank">亚洲午夜日本在线观看</a>| <a href="http://xuanxuan88.com" target="_blank">一区二区三区免费在线观看</a>| <a href="http://sortxz.com" target="_blank">国产一区二区精品在线观看</a>| <a href="http://qiansemf.com" target="_blank">欧美激情一区二区三区在线视频</a>| <a href="http://ekuyun.com" target="_blank">欧美成人中文字幕</a>| <a href="http://xingcheny.com" target="_blank">精品成人一区二区</a>| <a href="http://sapronlee.com" target="_blank">欧美日韩国产成人高清视频</a>| <a href="http://www-kj777.com" target="_blank">欧美一区三区二区在线观看</a>| <a href="http://www492002.com" target="_blank">日韩视频中午一区</a>| <a href="http://wwwgay456.com" target="_blank">欧美电影免费</a>| <a href="http://xsjgxx.com" target="_blank">久久久久久噜噜噜久久久精品 </a>| <a href="http://hy8r.com" target="_blank">欧美亚洲不卡</a>| <a href="http://569658.com" target="_blank">你懂的一区二区</a>| <a href="http://7555hh.com" target="_blank">久久国产毛片</a>| <a href="http://zyjxyx.com" target="_blank">午夜免费电影一区在线观看</a>| <a href="http://fuwu56.com" target="_blank">亚洲精品美女在线观看</a>| <a href="http://6666345.com" target="_blank">欧美国产乱视频</a>| <a href="http://j88866.com" target="_blank">久久久久国产成人精品亚洲午夜</a>| <a href="http://92ebook.com" target="_blank">国产亚洲视频在线观看</a>| <a href="http://kk553.com" target="_blank">国产精品成人v</a>| <a href="http://www278999.com" target="_blank">欧美激情综合网</a>| <a href="http://89wbw.com" target="_blank">蘑菇福利视频一区播放</a>| <a href="http://333666333.com" target="_blank">久久精品噜噜噜成人av农村</a>| <a href="http://7504329.com" target="_blank">亚洲自拍高清</a>| <a href="http://www-34909.com" target="_blank">亚洲午夜一区</a>| <a href="http://xxdd51.com" target="_blank">久久乐国产精品</a>| <a href="http://susan5.com" target="_blank">欧美一级理论片</a>| <a href="http://gffffg.com" target="_blank">亚洲欧美日韩精品久久</a>| <a href="http://y1bbs.com" target="_blank">国产一级揄自揄精品视频</a>| <a href="http://862323.com" target="_blank">欧美性猛交99久久久久99按摩 </a>| <a href="http://55555549.com" target="_blank">99精品视频一区</a>| <a href="http://05511253.com" target="_blank">性欧美暴力猛交69hd</a>| <a href="http://y9z8.com" target="_blank">国产在线乱码一区二区三区</a>| <a href="http://3534m.com" target="_blank">国产精品美女久久</a>| <a href="http://22400com.com" target="_blank">久久精品视频在线</a>| <a href="http://wwwcc7777.com" target="_blank">欧美xx视频</a>| <a href="http://www330088.com" target="_blank">老司机免费视频久久</a>| <a href="http://nvpuwo22.com" target="_blank">99视频有精品</a>| <a href="http://677cn.com" target="_blank">国产日韩欧美精品综合</a>| <a href="http://6168138.com" target="_blank">国产精品专区一</a>| <a href="http://www-85489.com" target="_blank">国产精品素人视频</a>| <a href="http://m10669.com" target="_blank">国产日韩在线不卡</a>| <a href="http://344230.com" target="_blank">国产综合一区二区</a>| <a href="http://ddnwater.com" target="_blank">有码中文亚洲精品</a>| <a href="http://7770790.com" target="_blank">亚洲日本欧美天堂</a>| <a href="http://baoyou118.com" target="_blank">一区二区三区你懂的</a>| <a href="http://1235656.com" target="_blank">国内精品嫩模av私拍在线观看</a>| <a href="http://www101804.com" target="_blank">美腿丝袜亚洲色图</a>| <a href="http://951738.com" target="_blank">欧美激情久久久久</a>| <a href="http://100736.com" target="_blank">午夜精品www</a>| <a href="http://rxbbei.com" target="_blank">久久精品亚洲精品国产欧美kt∨</a>| <a href="http://rezel-zj.com" target="_blank">亚洲精品三级</a>| <a href="http://05078888.com" target="_blank">久久美女性网</a>| <a href="http://9952222.com" target="_blank">欧美成人精品h版在线观看</a>| <a href="http://1188188.com" target="_blank">亚洲综合成人婷婷小说</a>| <a href="http://xxoo668.com" target="_blank">午夜天堂精品久久久久</a>| <a href="http://aqdit2022.com" target="_blank">亚洲精品乱码久久久久久蜜桃麻豆</a>| <a href="http://idc0558.com" target="_blank">欧美吻胸吃奶大尺度电影</a>| <a href="http://5xxm.com" target="_blank">欧美高清免费</a>| <a href="http://www-236677.com" target="_blank">国产精品久久国产三级国电话系列 </a>| <a href="http://k37b.com" target="_blank">亚洲国产精品欧美一二99</a>| <a href="http://saobi6.com" target="_blank">亚洲人成艺术</a>| <a href="http://taominze.com" target="_blank">亚洲在线不卡</a>| <a href="http://xxx444vip.com" target="_blank">久久久午夜精品</a>| <a href="http://zhijiasd.com" target="_blank">欧美精品播放</a>| <a href="http://lukushe.com" target="_blank">国产日韩精品久久</a>| <a href="http://ategpu.com" target="_blank">亚洲精品看片</a>| <a href="http://000695.com" target="_blank">久久se精品一区二区</a>| <a href="http://dahuxu.com" target="_blank">亚洲高清成人</a>| <a href="http://00000i.com" target="_blank">欧美亚洲网站</a>| <a href="http://551731.com" target="_blank">亚洲制服丝袜在线</a>| <a href="http://www-442336.com" target="_blank">久久综合久色欧美综合狠狠</a>| <a href="http://javliabary.com" target="_blank">欧美日韩国产成人</a>| <a href="http://my7877.com" target="_blank">欧美精品不卡</a>| <a href="http://papala4444.com" target="_blank">国产视频一区二区三区在线观看</a>| <a href="http://lgcpvip888.com" target="_blank">欧美日韩国产高清视频</a>| <a href="http://yc0989.com" target="_blank">国产精品视频自拍</a>| <a href="http://yw8333.com" target="_blank">亚洲美女色禁图</a>| <a href="http://2343ww.com" target="_blank">亚洲国产成人高清精品</a>| <a href="http://609005.com" target="_blank">亚洲在线成人</a>| <a href="http://miaoxp.com" target="_blank">欧美成人午夜77777</a>| <a href="http://www1122fu.com" target="_blank">亚洲在线免费</a>| <a href="http://666675com.com" target="_blank">欧美国产高清</a>| <a href="http://72nnnn.com" target="_blank">韩国成人福利片在线播放</a>| <a href="http://082235.com" target="_blank">国产一区二区三区电影在线观看</a>| <a href="http://balqueen.com" target="_blank">欧美午夜一区</a>| <a href="http://6966g.com" target="_blank">亚洲人在线视频</a>| <a href="http://qvod777.com" target="_blank">久久精品系列</a>| <a href="http://www633998.com" target="_blank">中文一区字幕</a>| <a href="http://obatshaka.com" target="_blank">麻豆91精品</a>| <a href="http://688528.com" target="_blank">一区二区视频免费在线观看</a>| <a href="http://henhenai1.com" target="_blank">国产亚洲va综合人人澡精品</a>| <a href="http://lexueit.com" target="_blank">一二三区精品</a>| <a href="http://ju5556.com" target="_blank">亚洲黄色大片</a>| <a href="http://wwwby2232.com" target="_blank">噜噜噜在线观看免费视频日韩</a>| <a href="http://26thb.com" target="_blank">蜜臀av性久久久久蜜臀aⅴ</a>| <a href="http://689558.com" target="_blank">国产日产亚洲精品系列</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>