锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频精品在线,欧美日精品一区视频,激情成人综合http://m.shnenglu.com/Walker/articles/144067.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Tue, 12 Apr 2011 12:33:00 GMThttp://m.shnenglu.com/Walker/articles/144067.htmlhttp://m.shnenglu.com/Walker/comments/144067.htmlhttp://m.shnenglu.com/Walker/articles/144067.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/144067.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/144067.html闃呰鍏ㄦ枃

]]>
opengl api浠嬬粛http://m.shnenglu.com/Walker/articles/144066.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Tue, 12 Apr 2011 12:22:00 GMThttp://m.shnenglu.com/Walker/articles/144066.htmlhttp://m.shnenglu.com/Walker/comments/144066.htmlhttp://m.shnenglu.com/Walker/articles/144066.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/144066.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/144066.html

glLoadIdentity()


灝嗗綋鍓嶇殑鐢ㄦ埛鍧愭爣緋葷殑鍘熺偣縐誨埌浜嗗睆騫曚腑蹇冿細綾諱技浜庝竴涓浣嶆搷浣?br>1.X鍧愭爣杞翠粠宸﹁嚦鍙籌紝Y鍧愭爣杞翠粠涓嬭嚦涓婏紝Z鍧愭爣杞翠粠閲岃嚦澶栥?br>2.OpenGL灞忓箷涓績鐨勫潗鏍囧兼槸X鍜孻杞翠笂鐨?.0f鐐廣?br>3.涓績宸﹂潰鐨勫潗鏍囧兼槸璐熷鹼紝鍙抽潰鏄鍊箋?br>   縐誨悜灞忓箷欏剁鏄鍊鹼紝縐誨悜灞忓箷搴曠鏄礋鍊箋?br>   縐誨叆灞忓箷娣卞鏄礋鍊鹼紝縐誨嚭灞忓箷鍒欐槸姝e箋?/p>

glTranslatef(x, y, z)

娌跨潃 X, Y 鍜?Z 杞寸Щ鍔ㄣ?/p>

娉ㄦ剰鍦╣lTranslatef(x, y, z)涓?褰撴?zhèn)ǹU誨姩鐨勬椂鍊欙紝鎮(zhèn)ㄥ茍涓嶆槸鐩稿灞忓箷涓績縐誨姩錛岃屾槸鐩稿涓庡綋鍓嶆墍鍦ㄧ殑灞忓箷浣嶇疆銆傚叾浣滅敤灝辨槸灝嗕綘緇樼偣鍧愭爣鐨勫師鐐瑰湪褰撳墠鍘熺偣鐨勫熀紜涓婂鉤縐諱竴涓?x,y,z)鍚戦噺銆?br>
鐢諱笁瑙掑艦涔嬪墠璋冪敤鐨刧lTranslatef(x, y, z) 鏄負浜嗚浣犳墍鏈夌殑鍦烘櫙鍦ㄥ彲瑙嗗尯鍐呫?br>
鍥犱負opengl榛樿鐨勬憚鍍忔満浣嶇疆鍦ㄥ潗鏍囧師鐐癸紙娌℃湁璋冪敤gluLookAt鏀瑰彉瑙嗗浘鍧愭爣緋伙級錛?鏂瑰悜鏄?Z璐熷悜銆傚鏋滀笉鎶婄墿浣撶敾鍦?-z 鐨勫尯闂翠笂錛?鍦ㄦ鎽勫儚鏈哄彲瑙嗗尯鍐呮槸鐪嬩笉鍒扮殑銆?br>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

glLoadIdentity();         

glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(1.0f,0.0f, 0.0f);
glVertex3f(0.0f,1.0f, 0.0f);
glEnd();

glLoadIdentity();
glTranslatef(0.0f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(1.0f,0.0f, 0.0f);
glVertex3f(0.0f,1.0f, 0.0f);
glEnd();

/////////////////////////////////////////////////////////////////////////////////////

紼嬪簭鐨勮繍琛岀粨鏋滃涓嬶細

 

宸﹁竟鐨勪笁瑙掑艦鏄涓姝ョ粯鍒剁殑錛屽彲浠ョ湅鍒拌涓夎褰㈢粯鍒剁殑鍧愭爣緋伙紝瀹為檯涓婃槸浠?-1.5f,0.0f,-6.0f)涓哄師鐐圭殑銆?/p>

絎簩涓笁瑙掑艦緇樺埗鐨勬椂鍊欙紝鐢變簬浣跨敤glLoadIdentity()浣垮師鐐歸噸鏂板洖鍒板睆騫曚腑蹇冩潵錛屽洜姝ゅ叾鍘熺偣浣嶄簬灞忓箷鐨勪腑蹇冦?/p>

glRotatef(angle, x, y, z)
涓巊lTranslatef(x, y, z)綾諱技錛実lRotatef(angle, x, y, z)涔熸槸瀵瑰潗鏍囩郴榪涜鎿嶄綔銆?br>鏃嬭漿杞寸粡榪囧師鐐癸紝鏂瑰悜涓?x,y,z),鏃嬭漿瑙掑害涓篴ngle錛屾柟鍚戞弧瓚沖彸鎵嬪畾鍒欍?br>////////////////////////////////////////////////////////////////
glLoadIdentity();
glTranslatef(0.0f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(1.0f,0.0f, 0.0f);
glVertex3f(0.0f,1.0f, 0.0f);
glEnd();
////////////////////////////////////////////////////////////////
鍦ㄦ湭鏃嬭漿鐨勬儏鍐典笅濡傚浘鎵紺猴細

 

////////////////////////////////////////////////////////////////
glLoadIdentity();
glRotatef(45,0.0f,0.0f,1.0f);
glTranslatef(0.0f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(1.0f,0.0f, 0.0f);
glVertex3f(0.0f,1.0f, 0.0f);
glEnd();
////////////////////////////////////////////////////////////////
緇昛杞存鍚戞棆杞?5搴﹁錛屽洜涓篫杞存鏂瑰悜鐢卞睆騫曞唴鎸囧悜灞忓箷澶栵紝鐢卞彸鎵嬪畾鍒欏彲鐭ユ柟鍚戜負閫嗘椂閽堣漿鍔ㄣ?br>鐢變簬鐩磋欏剁偣鍗充負鍘熺偣錛屽洜姝ゅ皢鍥寸粫鐩磋閫嗘椂閽堟棆杞?/p>

 

////////////////////////////////////////////////////////////////
glLoadIdentity();
glRotatef(45,0.0f,0.0f,1.0f);
glLoadIdentity();
glTranslatef(0.0f,0.0f,-6.0f);
glBegin(GL_TRIANGLES);
glVertex3f(0.0f,0.0f, 0.0f);
glVertex3f(1.0f,0.0f, 0.0f);
glVertex3f(0.0f,1.0f, 0.0f);
glEnd();
////////////////////////////////////////////////////////////////
鍦ㄦ棆杞箣鍚庡姞浜嗕竴涓浣嶇殑鎸囦護錛屽浘褰㈠氨涓嶄細鏃嬭漿浜嗐?br>
緇堜簬鎼炴槑鐧絞luPerspective鍜実luLookAt鐨勫叧緋諱簡

鍑芥暟鍘熷瀷
gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);

gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)

涓涓竴涓潵,棣栧厛寰楄緗甮luPerspective,鏉ョ湅鐪嬪畠鐨勫弬鏁伴兘琛ㄧず浠涔堟剰鎬?br>fovy,榪欎釜鏈闅劇悊瑙?鎴戠殑鐞嗚В鏄?鐪肩潧鐫佸紑鐨勮搴?鍗?瑙嗚鐨勫ぇ灝?濡傛灉璁劇疆涓?,鐩稿綋浣犻棴涓婄溂鐫涗簡,鎵浠ヤ粈涔堜篃鐪嬩笉鍒?濡傛灉涓?80,閭d箞鍙互璁や負浣犵殑瑙嗙晫寰堝箍闃?
aspect,榪欎釜濂界悊瑙?灝辨槸瀹為檯紿楀彛鐨勭旱妯瘮,鍗硏/y
zNear,榪欎釜鍛?琛ㄧず浣犺繎澶?鐨勮闈?
zFar琛ㄧず榪滃鐨勮闈?

濡傛灉榪樻病鏈夌悊瑙e氨緇х畫鐪?
鎴戜滑鐭ラ亾,榪滃鐨勪笢瑗跨湅璧鋒潵瑕佸皬涓浜?榪戝鐨勪笢瑗跨湅璧鋒潵浼氬ぇ涓浜?榪欏氨鏄忚鍘熺悊
濡備笅鍥炬墍紺?br>




鍋囪閭d袱鏉$嚎琛ㄧず鍏礬,鐞嗚涓婅,瀹冧滑鐨勪袱鏉¤竟鏄鉤琛岀殑,
浣嗙幇瀹炴儏鍐典腑,瀹冧滑鍦ㄨ繙鏂?鍙互鏃犻檺榪?鎬昏鐩鎬氦浜庝竴鐐?
瀹為檯綰挎AB鐨勯暱搴?CD鐨勯暱搴?鍙槸鍦ㄦ渚嬩腑浣跨敤浜嗛忚瑙?鏁呬細鏈夊涓婄殑鏁堟灉,鏄笉鏄緢鎺ヨ繎鐜板疄鐨勬儏鍐?

緇撳悎鎴戜滑鍒氭墠榪欎袱涓嚱鏁?br>zNear,鐪肩潧璺濈榪戝鐨勮窛紱?鍋囪涓?0綾寵繙,璇蜂笉瑕佽緗負璐熷?OpenGl灝卞偦浜?涓嶇煡閬撴庝箞綆椾簡,
zFar琛ㄧず榪滃鐨勮闈?鍋囪涓?000綾寵繙,
灝辨槸榪欎袱涓弬鏁扮殑鎰忎箟浜?

鍐嶈В閲婁笅閭d釜"鐪肩潧鐫佸紑鐨勮搴?鏄粈涔堟剰鎬?
棣栧厛鍋囪鎴戜滑鐜板湪璺濈鐗╀綋鏈?0涓崟浣嶈窛紱昏繙鐨勪綅緗?
鍦ㄧ溂鐫涚潄寮瑙掑害璁劇疆涓?5鏃?璇風湅澶у睆騫?


鎴戜滑鍙互鐪嬪埌,鍦ㄨ繙澶勪竴涓悆,,寰堝ソ鐜╁搱,
鐜板湪鎴戜滑灝嗙溂鐫涘啀寮犲紑鐐圭湅,灝?鐪肩潧鐫佸紑鐨勮搴?璁劇疆涓?78
(180搴﹁〃紺哄鉤瑙?閭f椂鍊欐垜浠皢浠涔堜篃鐪嬩笉鍒?鐪肩潧鐫佸お澶т簡,鐪煎ぇ鏃犵)


鎴戜滑鍙湅鍒頒竴涓偣,,,,,,,,,,,,,,,,,,,,,,,,,,,
鍥犱負鎴戜滑鐪嬬殑鑼冨洿澶ぇ浜?榪欎釜鐞冩湰韜ぇ灝忔病鏈夋敼鍙?浣嗘槸瀹冨湪鎴戜滑鐨?瑙嗙晫"鍐呭お灝忎簡,


鍙嶄箣,鎴戜滑灝嗙溂鐫涢棴灝忎簺,鏀逛負1搴︾湅鐪嬩細鍑虹幇浠涔堟儏鍐靛憿?


鍦ㄦ垜浠窛紱昏鐗╀綋3000璺濈榪?"鐪肩潧鐫佸紑鐨勮搴?涓?鏃?鎴戜滑浼間箮璧拌繘浜嗚繖涓悆鍐?榪欎釜鏄笉鏄被浼間簬鐩告満鐨勭劍璺?

褰撴垜浠皢"閫忚瑙?璁劇疆涓?鏃?鎴戜滑鐩稿綋浜庨棴涓婂弻鐪?榪欎釜涓栫晫娓呴潤浜?

鎴戜滑浠涔堜篃鐪嬩笉鍒?,,,,,,,,



鐜板湪鏉ョ湅gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);

瀹冨叡鎺ュ彈涓夊鍧愭爣,
鍒嗗埆涓篹ye,center,up
鏁呭悕鎬濅箟,eye琛ㄧず鎴戜滑鐪肩潧鍦?涓栫晫鍧愭爣緋?涓殑浣嶇疆,
center琛ㄧず鐪肩潧"鐪?鐨勯偅涓偣鐨勫潗鏍?
鏈鍚庨偅涓猽p鍧愭爣琛ㄧず瑙傚療鑰呮湰韜殑鏂瑰悜,濡傛灉灝嗚瀵熺偣姣斿柣鎴愭垜浠殑鐪肩潧,閭d箞榪欎釜up鍒欒〃紺烘垜浠槸姝g珛榪樻槸鍊掔珛寮傛垨鏌愪竴涓搴﹀湪鐪?鎵鐪嬬殑褰卞儚澶т笉鐩稿悓,鏁呮鏃墮渶瑕佹寚鏄庢垜浠幇鍦ㄦ绔?閭d箞X,Z杞翠負0,Y杞翠負姝e嵆鍙?閫氬父灝嗗叾璁劇疆涓?,鍙琛ㄧず涓涓悜涓婄殑鍚戦噺(鏂瑰悜)鍗沖彲
鐞冩槸鐢誨湪涓栫晫鍧愭爣緋葷殑鍘熺偣涓婄殑,鍗砄(0,0,0)鍧愭爣涓?鎴戜滑鐨勭溂鐫涗綅浜庤瀵熺偣A(0,0,100),Z杞村悜灞忓箷閲岀湅鍘葷殑鏂瑰悜涓鴻礋,灞忓箷澶栨垜浠殑浣嶇疆,Z杞翠負姝e?鍏跺疄寰堝ソ鐞嗚В,鍗蟲垜浠窛紱誨師鐐圭殑璺濈,璁劇疆100,灝嗚瀵熷埌濡備笅鍥炬墍紺虹殑褰卞儚

濡傛灉鎴戜滑鍚戝墠鎴栧悜鍚庣Щ鍔?鍒欑浉搴旂殑鍥懼儚浼氬彉澶ф垨鍙樺皬,榪欓噷鍏跺疄灝辨槸榪愮敤浜嗛忚鍘熺悊,榪戝鐨勭墿浣撳ぇ,榪滃鐨勭墿浣撳皬,瀹為檯鐗╀綋鐨勫ぇ灝忔槸涓嶅彉鐨?

鍚岀悊鏀瑰彉center鍧愭爣(鐪肩潧鐪嬪幓鐨勯偅涓偣,鍙畝鍗曠悊瑙d負瑙嗙嚎鐨勭粓鐐?涔熶細褰卞搷鐞冪殑澶у皬,鍚屾牱鍙互璁や負鏄敼鍙樹簡鐗╀綋涓庤瀵熺偣鐨勮窛紱繪墍鑷?

鏈鍚庨偅涓猽p鍧愭爣琛ㄧず瑙傚療鑰呮湰韜殑鏂瑰悜,濡傛灉灝嗚瀵熺偣姣斿柣鎴愭垜浠殑鐪肩潧,閭d箞榪欎釜up鍒欒〃紺烘垜浠槸姝g珛榪樻槸鍊掔珛寮傛垨鏌愪竴涓搴﹀湪鐪?鎵鐪嬬殑褰卞儚澶т笉鐩稿悓,鏁呮鏃墮渶瑕佹寚鏄庢垜浠幇鍦ㄦ绔?閭d箞X,Z杞翠負0,Y杞翠負姝e嵆鍙?閫氬父灝嗗叾璁劇疆涓?,鍙琛ㄧず涓涓悜涓婄殑鍚戦噺(鏂瑰悜)鍗沖彲,鎴戜滑鎸囧畾0.1f鎴?.00001f寮傛垨1000.0f,鏁堟灉鏄竴鏍風殑,鍙鑳借〃紺烘柟鍚戝嵆鍙?




浠ヤ笂鐞嗚В浜嗕箣鍚?鏉ュ仛涓涓祴璇?br>閫忚鍥句笉鍙?鏈榪滃浠嶄負3000,榪戝涓?.1

gluPerspective                            // 璁劇疆閫忚鍥?br>        (45,                            // 閫忚瑙掕緗負 45 搴?鍦╕鏂瑰悜涓婁互瑙掑害涓哄崟浣嶇殑瑙嗛噹
        (GLfloat)x/(GLfloat)y,    // 紿楀彛鐨勫涓庨珮姣?br>        0.1f,                                // 瑙嗛噹閫忚娣卞害:榪戠偣1.0f
        3000.0f                            // 瑙嗛噹閫忚娣卞害:濮嬬偣0.1f榪滅偣1000.0f
        );


灝嗘垜浠殑瑙傚療鐐圭疆浜嶢(0,10,0),
灝嗚瀵熶綅緗?瑙嗙嚎緇堢偣)鍧愭爣緗簬(0,0,0)
鐒跺悗鍦ㄥ師鐐瑰紑濮嬬粯鍥?鐢諱竴涓猇瀛楀艦,騫跺皢Z杞寸殑鍊間粠-1000閫掑鍔犲埌+1000,澧為噺涓?0,
浠g爜濡備笅

    glColor3f(0.5f, 0.7f, 1.0f);

    glBegin(GL_LINES);
        for(int i=-1000;i<=1000;i+=10)
        {
            glVertex3f(0,0,i);
            glVertex3f(10,10,i);

            glVertex3f(0,0,i);
            glVertex3f(-10,10,i);
        }
    glEnd();

F5榪愯鏁堟灉濡備笅鍥?br>


涓婂浘璇佸疄浜嗘垜浠殑鎺ㄦ祴











//---------------------------------------------
    //鐢熸垚緗戠粶
    glColor3f(0.5f, 0.7f, 1.0f);
    int x=(int)(40*2);
   
    glBegin(GL_LINES);
            for(int i=-x;i<=x;i+=4)
            {
                glVertex3i(-x,0,i);
                glVertex3i(x,0,i);

                glVertex3i(i,0,x);
                glVertex3i(i,0,-x);
            }
    glEnd();

//鐢熸垚鐞冧綋
    GLUquadricObj * pObj;
    pObj = gluNewQuadric();
    gluQuadricDrawStyle(pObj,GLU_LINE);
    gluQuadricNormals(pObj,GLU_SMOOTH);
    gluSphere(pObj,16,16,16);

glTranslatef(0.0f,-20.0f,-40.0f)琛ㄧず灝嗗綋鍓嶅浘褰㈠悜x杞村鉤縐?錛屽悜y杞村鉤縐?20錛屽悜z杞村鉤縐?40
glScaled(10.0f,10.0f,10.0f)琛ㄧず灝嗗綋鍓嶅浘褰㈡部x,y,z杞村垎鍒斁澶т負鍘熸潵鐨?0鍊?br>glRotatef(-80.0f,10.0f,1.0f,0.0f)琛ㄧず灝嗗綋鍓嶅浘褰㈡部鏂瑰悜鍚戦噺(-10,1,0)欏烘椂閽堟棆杞?0


]]>
鐢繪棆杞殑鍥涢潰浣?/title><link>http://m.shnenglu.com/Walker/articles/144065.html</link><dc:creator>婕鑰吤?amp;鈥︹?錕?/dc:creator><author>婕鑰吤?amp;鈥︹?錕?/author><pubDate>Tue, 12 Apr 2011 12:16:00 GMT</pubDate><guid>http://m.shnenglu.com/Walker/articles/144065.html</guid><wfw:comment>http://m.shnenglu.com/Walker/comments/144065.html</wfw:comment><comments>http://m.shnenglu.com/Walker/articles/144065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Walker/comments/commentRss/144065.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Walker/services/trackbacks/144065.html</trackback:ping><description><![CDATA[ 鍥涢潰浣撶敱4涓笁瑙掑艦緇勬垚<br>glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer<br> glLoadIdentity();         // Reset The Current Modelview Matrix<br> glTranslatef(-1.5f,0.0f,-6.0f);      // Move Left 1.5 Units And Into The Screen 6.0<br> glRotatef(rtri,0.0f,1.0f,0.0f);      // Rotate The Triangle On The Y axis ( NEW )<br> glBegin(GL_TRIANGLES);        // Start Drawing A Triangle<br>  glColor3f(1.0f,0.0f,0.0f);      // Red<br>  glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Front)<br>  glColor3f(0.0f,1.0f,0.0f);      // Green<br>  glVertex3f(-1.0f,-1.0f, 1.0f);     // Left Of Triangle (Front)<br>  glColor3f(0.0f,0.0f,1.0f);      // Blue<br>  glVertex3f( 1.0f,-1.0f, 1.0f);     // Right Of Triangle (Front)<br>  glColor3f(1.0f,0.0f,0.0f);      // Red<br>  glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Right)<br>  glColor3f(0.0f,0.0f,1.0f);      // Blue<br>  glVertex3f( 1.0f,-1.0f, 1.0f);     // Left Of Triangle (Right)<br>  glColor3f(0.0f,1.0f,0.0f);      // Green<br>  glVertex3f( 1.0f,-1.0f, -1.0f);     // Right Of Triangle (Right)<br>  glColor3f(1.0f,0.0f,0.0f);      // Red<br>  glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Back)<br>  glColor3f(0.0f,1.0f,0.0f);      // Green<br>  glVertex3f( 1.0f,-1.0f, -1.0f);     // Left Of Triangle (Back)<br>  glColor3f(0.0f,0.0f,1.0f);      // Blue<br>  glVertex3f(-1.0f,-1.0f, -1.0f);     // Right Of Triangle (Back)<br>  glColor3f(1.0f,0.0f,0.0f);      // Red<br>  glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Left)<br>  glColor3f(0.0f,0.0f,1.0f);      // Blue<br>  glVertex3f(-1.0f,-1.0f,-1.0f);     // Left Of Triangle (Left)<br>  glColor3f(0.0f,1.0f,0.0f);      // Green<br>  glVertex3f(-1.0f,-1.0f, 1.0f);     // Right Of Triangle (Left)<br> glEnd();<br> <img src ="http://m.shnenglu.com/Walker/aggbug/144065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Walker/" target="_blank">婕鑰吤?鈥︹?錕?/a> 2011-04-12 20:16 <a href="http://m.shnenglu.com/Walker/articles/144065.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>opengl瀛︿範緗戠珯http://m.shnenglu.com/Walker/articles/144062.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Tue, 12 Apr 2011 11:56:00 GMThttp://m.shnenglu.com/Walker/articles/144062.htmlhttp://m.shnenglu.com/Walker/comments/144062.htmlhttp://m.shnenglu.com/Walker/articles/144062.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/144062.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/144062.htmlhttp://nehe.gamedev.net/lesson.asp?index=01

http://www.videotutorialsrock.com/



]]>
鍩烘湰鍥懼厓http://m.shnenglu.com/Walker/articles/144061.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Tue, 12 Apr 2011 11:47:00 GMThttp://m.shnenglu.com/Walker/articles/144061.htmlhttp://m.shnenglu.com/Walker/comments/144061.htmlhttp://m.shnenglu.com/Walker/articles/144061.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/144061.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/144061.html
銆銆涓銆佸熀鏈浘鍏冪殑鎻忚堪鍙婂畾涔?/strong>

銆銆OpenGL鍥懼厓鏄娊璞$殑鍑犱綍姒傚康錛屼笉鏄湡瀹炰笘鐣屼腑鐨勭墿浣擄紝鍥犳欏葷敤鐩稿叧鐨勬暟瀛︽ā鍨嬫潵鎻忚堪銆傛墍鏈夌殑鍥懼厓閮芥槸鐢變竴緋誨垪鏈夐『搴忕殑欏剁偣闆嗗悎鏉ユ弿榪扮殑銆侽penGL涓粯鍒跺嚑浣曞浘鍏冿紝蹇呴』浣跨敤glBegain()鍜実lEnd()榪欎竴瀵瑰嚱鏁幫紝浼犻掔粰glBegain()鍑芥暟鐨勫弬鏁板敮涓紜畾浜嗚緇樺埗浣曠鍑犱綍鍥懼厓錛屽悓鏃訛紝鍦ㄨ鍑芥暟瀵逛腑緇欏嚭浜嗗嚑浣曞浘鍏冪殑瀹氫箟錛屽嚱鏁癵lEnd()鏍囧織欏剁偣鍒楄〃鐨勭粨鏉熴備緥濡傦紝涓嬮潰鐨勪唬鐮佺粯鍒朵簡涓涓杈瑰艦錛?br>
glBegin(GL_POLYGON);
glVertex2f(0.0,0.0);
glVertex2f(0.0,3.0);
glVertex2f(3.0,3.0);
glVertex2f(4.0,1.5);
glVertex2f(3.0,0.0);
glEnd();

銆銆鍑芥暟glBegin(GLenum mode)鏍囧織鎻忚堪涓涓嚑浣曞浘鍏冪殑欏剁偣鍒楄〃鐨勫紑濮嬶紝鍏跺弬鏁癿ode琛ㄧず鍑犱綍鍥懼厓鐨勬弿榪扮被鍨嬶紝鍏蜂綋綾誨瀷瑙佽〃涓錛?br>
綾誨瀷 璇存槑
GL_POINTS 鍗曚釜欏剁偣闆?/td>
GL_LINES 澶氱粍鍙岄《鐐圭嚎孌?/td>
GL_POLYGON 鍗曚釜綆鍗曞~鍏呭嚫澶氳竟褰?/td>
GL_TRAINGLES 澶氱粍鐙珛濉厖涓夎褰?/td>
GL_QUADS 澶氱粍鐙珛濉厖鍥涜竟褰?/td>
GL_LINE_STRIP 涓嶉棴鍚堟姌綰?/td>
GL_LINE_LOOP 闂悎鎶樼嚎
GL_TRAINGLE_STRIP 綰垮瀷榪炵畫濉厖涓夎褰覆
GL_TRAINGLE_FAN 鎵囧艦榪炵畫濉厖涓夎褰覆
GL_QUAD_STRIP 榪炵畫濉厖鍥涜竟褰覆
銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆琛ㄤ竴銆佸嚑浣曞浘鍏冪被鍨嬭鏄?br>
銆銆閮ㄥ垎鍑犱綍鍥懼厓鐨勭ず鎰忓浘錛?br>

鍥句竴銆侀儴鍒嗗嚑浣曞浘鍏冪ず鎰忓浘

銆銆鍦╣lBegin()鍜実lEnd()涔嬮棿鏈閲嶈鐨勪俊鎭氨鏄敱鍑芥暟glVertex*()瀹氫箟鐨勯《鐐癸紝蹇呰鏃朵篃鍙負姣忎釜欏剁偣鎸囧畾棰滆壊錛堝彧瀵瑰綋鍓嶇偣鎴栧悗緇偣鏈夋晥錛夈佹硶鍚戙佺汗鐞嗗潗鏍囨垨鍏朵粬錛屽嵆璋冪敤鐩稿叧鐨勫嚱鏁幫細

鍑芥暟 鍑芥暟鎰忎箟
glColor*() 璁劇疆褰撳墠棰滆壊
glIndex*() 璁劇疆褰撳墠棰滆壊琛?/td>
glNormal*() 璁劇疆娉曞悜鍧愭爣
glEvalCoord*() 浜х敓鍧愭爣
glCallList(),glCallLists() 鏄劇ず鍒楄〃
glTexCoord*() 璁劇疆綰圭悊鍧愭爣
glEdgeFlag*() 鎺у埗杈圭晫緇樺埗
glMaterial*() 璁劇疆鏉愯川
銆銆銆銆銆銆銆銆銆銆銆銆銆銆琛ㄤ簩銆佸湪glBegin()鍜実lEnd()涔嬮棿鍙皟鐢ㄧ殑鍑芥暟

銆銆闇瑕佹寚鍑虹殑鏄細OpenGL鎵瀹氫箟鐨勭偣銆佺嚎銆佸杈瑰艦絳夊浘鍏冧笌涓鑸暟瀛﹀畾涔変笉澶竴鏍鳳紝瀛樺湪涓瀹氱殑宸埆銆備竴縐嶅樊鍒簮浜庡熀浜庤綆楁満璁$畻鐨勯檺鍒躲侽penGL涓墍鏈夋誕鐐硅綆楃簿搴︽湁闄愶紝鏁呯偣銆佺嚎 銆佸杈瑰艦鐨勫潗鏍囧煎瓨鍦ㄤ竴瀹氱殑璇樊銆傚彟涓縐嶅樊鍒簮浜庝綅鍥炬樉紺虹殑闄愬埗銆備互榪欑鏂瑰紡鏄劇ず鍥懼艦錛屾渶灝忕殑鏄劇ず鍥懼厓鏄竴涓薄绱狅紝灝界姣忎釜璞$礌瀹藉害寰堝皬錛屼絾瀹冧滑浠嶇劧姣旀暟瀛︿笂鎵瀹氫箟鐨勭偣鎴栫嚎瀹借澶у緱澶氥傚綋鐢∣penGL榪涜璁$畻鏃訛紝铏界劧鏄敤涓緋誨垪嫻偣鍊煎畾涔夌偣涓詫紝浣嗘瘡涓偣浠嶇劧鏄敤鍗曚釜璞$礌鏄劇ず錛屽彧鏄繎浼兼嫙鍚堛?br>
銆銆浜屻佺偣(Point)

銆銆鐢ㄦ誕鐐瑰艱〃紺虹殑鐐圭О涓洪《鐐?Vertex)銆傛墍鏈夐《鐐瑰湪OpenGL鍐呴儴璁$畻鏃墮兘浣跨敤涓夌淮鍧愭爣錛坸,y,z錛夋潵澶勭悊錛岀敤浜岀淮鍧愭爣(x,y)瀹氫箟鐨勭偣鍦∣penGL涓粯璁鍊間負0銆傞《鐐瑰潗鏍囦篃鍙互鐢ㄩ綈嬈″潗鏍?x,y,z,w)鏉ヨ〃紺猴紝濡傛灉w涓嶄負0.0錛岃繖浜涢綈嬈″潗鏍囪〃紺虹殑欏剁偣鍗充負涓夌淮絀洪棿鐐?x/w,y/w,z/w),涓鑸潵璇達紝w緙虹渷涓?.0銆?br>
銆銆鍙互鐢╣lVertex{234}{sifd}[V](TYPE cords)鍑芥暟鏉ュ畾涔変竴涓《鐐廣備緥濡傦細

glVertex2f(2.0f,3.0f);//浜岀淮鍧愭爣瀹氫箟欏剁偣錛?/td>

銆銆OpenGL涓畾涔夌殑鐐瑰彲浠ユ湁涓嶅悓鐨勫昂瀵革紝鍏跺嚱鏁板艦寮忎負錛?br>
void glPointSize(GLfloat size);

銆銆鍙傛暟size璁劇疆鐐圭殑瀹藉害錛堜互璞$礌涓哄崟浣嶏級,蹇呴』澶т簬0.0錛岀己鐪佹椂涓?.0銆?br>
銆銆涓夈佺嚎(Line)

銆銆鍦∣penGL涓紝綰夸唬琛ㄧ嚎孌?Line Segment)錛屽畠鐢變竴緋誨垪欏剁偣欏烘榪炵粨鑰屾垚銆傚叿浣撶殑璁詫紝綰挎湁鐙珛綰挎銆佹潯甯︺佸皝闂潯甯︿笁縐嶏紝濡傚浘浜屾墍紺猴細


鍥句簩銆佺嚎孌電殑涓夌榪炵粨鏂瑰紡

銆銆OpenGL鑳芥寚瀹氱嚎鐨勫搴﹀茍緇樺埗涓嶅悓鐨勮櫄鐐圭嚎錛屽鐐圭嚎銆佽櫄綰跨瓑銆傜浉搴旂殑鍑芥暟褰㈠紡濡備笅錛?br>
銆銆1銆乿oid glLineWidth(GLfloat width);

銆銆璁劇疆綰垮錛堜互璞$礌涓哄崟浣嶏級銆傚弬鏁皐idth蹇呴』澶т簬0.0錛岀己鐪佹椂涓?.0銆?br>
銆銆2銆乿oid glLineStipple(GLint factor,GLushort pattern);

銆銆璁劇疆褰撳墠綰夸負铏氱偣妯″紡銆傚弬鏁皃attern鏄竴緋誨垪鐨?6浣嶄簩榪涘埗鏁幫紙0鎴?錛夛紝瀹冮噸澶嶅湴璧嬬粰鎵鎸囧畾鐨勭嚎錛屼粠浣庝綅寮濮嬶紝姣忎竴涓簩榪涘埗浣嶄唬琛ㄤ竴涓薄绱狅紝 1琛ㄧず鐢ㄥ綋鍓嶉鑹茬粯鍒朵竴涓薄绱狅紙鎴栨瘮渚嬪洜瀛愭寚瀹氱殑涓暟錛夛紝0琛ㄧず褰撳墠涓嶇粯鍒訛紝鍙Щ鍔ㄤ竴涓薄绱犱綅錛堟垨姣斾緥鍥犲瓙鎸囧畾鐨勪釜鏁幫級銆傚弬鏁癴actor鏄釜姣斾緥鍥犲瓙錛屽畠鐢ㄦ潵鎷変幾pattern涓殑鍏冪礌錛屽嵆閲嶅緇樺埗1鎴栫Щ鍔?錛屾瘮濡傦紝factor涓?錛屽垯紕板埌1鏃跺氨榪炵畫緇樺埗2嬈★紝紕板埌0鏃惰繛緇Щ鍔?涓崟鍏冦俧actor鐨勫ぇ灝忚寖鍥撮檺鍒跺湪1鍒?55涔嬮棿銆?br>
銆銆鍦ㄧ粯鍒惰櫄鐐圭嚎涔嬪墠蹇呴』鍏堝惎鍔ㄨ櫄鐐規(guī)ā寮忥紝鍗寵皟鐢ㄥ嚱鏁癵lEnable(GL_LINE_STIPPLE);緇撴潫鏃訛紝璋冪敤glDisable(GL_LINE_STIPPLE)鍏抽棴銆備笅闈唬鐮佺粯鍒朵簡涓涓偣綰匡細

void line2i(GLint x1,GLint y1,GLint x2,GLint y2)
{
銆銆glBegin(GL_LINES);
銆銆glVertex2f(x1,y1);
銆銆glVertex2f(x2,y2);
銆銆glEnd();
}
glLineStipple (1, 0x1C47);銆/* 铏氱偣綰?*/
glEnable(GL_LINE_STIPPLE)錛?br>glColor3f(0.0,1.0,0.0);
line2i (450 , 250 , 600 , 250 );
涓夈佸杈瑰艦(Polygon)

銆銆錛堜竴錛夊嚫銆佸嚬澶氳竟褰€?br>
銆銆OpenGL瀹氫箟鐨勫杈瑰艦鏄敱涓緋誨垪綰挎渚濇榪炵粨鑰屾垚鐨勫皝闂尯鍩燂紝澶氳竟褰㈠彲浠ユ槸騫抽潰澶氳竟褰紝鍗蟲墍鏈夐《鐐瑰湪涓涓鉤闈笂錛屼篃鍙互鏄┖闂村杈瑰艦銆侽penGL瑙勫畾澶氳竟褰腑鐨勭嚎孌典笉鑳戒氦鍙夛紝鍖哄煙鍐呬笉鑳芥湁絀烘礊錛屼篃鍗沖杈瑰艦蹇呴』鏄嚫澶氳竟褰紙鎸囧杈瑰艦浠繪剰闈炵浉閭葷殑涓ょ偣鐨勮繛綰夸綅浜庡杈瑰艦鐨勫唴閮級錛屼笉鑳芥槸鍑瑰杈瑰艦錛屽惁鍒欎笉鑳借OpenGL鍑芥暟鎺ュ彈銆傚嚫澶氳竟褰㈠拰鍑瑰杈瑰艦瑙佸浘涓夈?br>

鍥句笁銆佸嚫鍑瑰杈瑰艦

銆銆錛堜簩錛夎竟鐣屾爣蹇楅棶棰樸?br>
銆銆瀹為檯搴旂敤涓紝寰寰闇瑕佺粯鍒朵竴浜涘嚬澶氳竟褰紝閫氬父瑙e喅鐨勫姙娉曟槸瀵瑰畠浠繘琛屽垎鍓詫紝鐢ㄥ涓笁瑙掑艦鏉ユ浛浠c傛樉鐒訛紝緇樺埗榪欎簺涓夎褰㈡椂錛屾湁浜涜竟涓嶅簲璇ヨ繘琛岀粯鍒訛紝鍚﹀垯錛屽杈瑰艦鍐呴儴灝變細鍑虹幇澶氫綑鐨勭嚎妗嗐侽penGL鎻愪緵鐨勮В鍐沖姙娉曟槸閫氳繃璁劇疆杈規(guī)爣蹇楀懡浠lEdgeFlag錛堬級鏉ユ帶鍒舵煇浜涜竟浜х敓緇樺埗錛岃屽彟澶栦竴浜涜竟涓嶄駭鐢熺粯鍒訛紝榪欎篃縐頒負杈圭晫鏍囧織綰挎垨闈炶竟鐣岀嚎銆傝繖涓懡浠ょ殑瀹氫箟濡備笅錛?br>
void glEdgeFlag(GLboolean flag);
void glEdgeFlag(PGLboolean pflag);

銆銆錛堜笁錛夊杈瑰艦緇樺埗妯″紡銆?br>
銆銆澶氳竟褰㈢殑緇樺埗妯″紡鍖呭惈鏈夛細鍏ㄥ~鍏呭紡銆佽疆寤撶偣寮忋佽疆寤撶嚎寮忋佸浘妗堝~鍏呭紡鍙婃寚瀹氭鍙嶉潰絳夈備笅闈㈠垎鍒粙緇嶇浉搴旂殑OpenGL鍑芥暟褰㈠紡銆?br>
銆銆1錛夊杈瑰艦妯″紡璁劇疆銆傚叾鍑芥暟涓猴細

void glPolygonMode(GLenum face,GLenum mode);

銆銆鍙傛暟face涓篏L_FRONT銆丟L_BACK鎴朑L_FRONT_AND_BACK錛涘弬鏁癿ode涓篏L_POINT銆丟L_LINE鎴朑L_FILL錛屽垎鍒〃紺虹粯鍒惰疆寤撶偣寮忓杈瑰艦銆佽疆寤撶嚎寮忓杈瑰艦鎴栧叏濉厖寮忓杈瑰艦銆傚湪OpenGL涓紝澶氳竟褰㈠垎涓烘闈㈠拰鍙嶉潰錛屽榪欎袱涓潰閮藉彲浠ヨ繘琛屾搷浣滐紝鍦ㄧ己鐪佺姸鍐典笅錛孫penGL瀵瑰杈瑰艦姝e弽闈㈡槸浠ョ浉鍚岀殑鏂瑰紡緇樺埗鐨勶紝瑕佹敼鍙樼粯鍒剁姸鎬侊紝蹇呴』璋冪敤PolygonMode錛堬級鍑芥暟錛?br>
銆銆2錛夎緗浘妗堝~鍏呭紡澶氳竟褰€傚叾鍑芥暟涓猴細

void glPolygonStipple(const GLubyte *mask);

銆銆鍙傛暟mask鏄竴涓寚鍚?2x32浣嶅浘鐨勬寚閽堛備笌铏氱偣綰跨粯鍒剁殑閬撶悊涓鏍鳳紝鏌愪綅涓?鏃剁粯鍒訛紝涓?鏃朵粈涔堜篃涓嶇粯銆傛敞鎰忥紝鍦ㄨ皟鐢ㄨ繖涓嚱鏁板墠錛屽繀欏誨厛鍚姩glEnable(GL_POLYGON_STIPPLE)錛涗笉鐢ㄦ椂鐢╣lDisable(GL_POLYGON_STIPPLE)鍏抽棴銆備笅闈婦鍑轟竴涓杈瑰艦鎵╁睍緇樺埗瀹炰緥錛?br>
void CALLBACK display(void)
{
銆銆/* 濉厖妯″紡瀹氫箟 錛?2x32錛?*/
銆銆GLubyte pattern[]= {
銆銆銆銆0x00, 0x01, 0x80, 0x00,
銆銆銆銆0x00, 0x03, 0xc0, 0x00,
銆銆銆銆銆銆0x00, 0x07, 0xe0, 0x00,
銆銆銆銆銆銆0x00, 0x0f, 0xf0, 0x00,
銆銆銆銆銆銆0x00, 0x1f, 0xf8, 0x00,
銆銆銆銆銆銆0x00, 0x3f, 0xfc, 0x00,
銆銆銆銆銆銆0x00, 0x7f, 0xfe, 0x00,
銆銆銆銆銆銆0x00, 0xff, 0xff, 0x00,
銆銆銆銆銆銆0x01, 0xff, 0xff, 0x80,
銆銆銆銆銆銆0x03, 0xff, 0xff, 0xc0,
銆銆銆銆銆銆0x07, 0xff, 0xff, 0xe0,
銆銆銆銆銆銆0x0f, 0xff, 0xff, 0xf0,
銆銆銆銆銆銆0x1f, 0xff, 0xff, 0xf8,
銆銆銆銆銆銆0x3f, 0xff, 0xff, 0xfc,
銆銆銆銆銆銆0x7f, 0xff, 0xff, 0xfe,
銆銆銆銆銆銆0xff, 0xff, 0xff, 0xff,
銆銆銆銆銆銆0xff, 0xff, 0xff, 0xff,
銆銆銆銆銆銆0x7f, 0xff, 0xff, 0xfe,
銆銆銆銆銆銆0x3f, 0xff, 0xff, 0xfc,
銆銆銆銆銆銆0x1f, 0xff, 0xff, 0xf8,
銆銆銆銆銆銆0x0f, 0xff, 0xff, 0xf0,
銆銆銆銆銆銆0x07, 0xff, 0xff, 0xe0,
銆銆銆銆銆銆0x03, 0xff, 0xff, 0xc0,
銆銆銆銆銆銆0x01, 0xff, 0xff, 0x80,
銆銆銆銆銆銆0x00, 0xff, 0xff, 0x00,
銆銆銆銆銆銆0x00, 0x7f, 0xfe, 0x00,
銆銆銆銆銆銆0x00, 0x3f, 0xfc, 0x00,
銆銆銆銆銆銆0x00, 0x1f, 0xf8, 0x00,
銆銆銆銆銆銆0x00, 0x0f, 0xf0, 0x00,
銆銆銆銆銆銆0x00, 0x07, 0xe0, 0x00,
銆銆銆銆銆銆0x00, 0x03, 0xc0, 0x00,
銆銆銆銆銆銆0x00, 0x01, 0x80, 0x00
銆銆銆銆};
銆銆銆銆glClear (GL_COLOR_BUFFER_BIT);
銆銆銆/* 緇樺埗涓涓寚瀹氬浘妗堝~鍏呯殑涓夎褰?*/
銆銆銆銆glColor3f(0.9,0.86,0.4);
銆銆銆銆glPolygonStipple (pattern);
銆銆銆銆glBegin(GL_TRIANGLES);
銆銆銆銆銆銆glVertex2i(310,310);
銆銆銆銆銆銆glVertex2i(220,80);
銆銆銆銆銆銆glVertex2i(405,80);
銆銆銆銆glEnd();
銆銆銆銆glDisable (GL_POLYGON_STIPPLE);
銆銆銆銆glFlush ();
銆銆}

銆銆錛堜笁錛夋寚瀹氬杈瑰艦鐨勬鍙嶉潰銆?

銆銆鍏跺嚱鏁頒負錛?br>
void glFrontFace(GLenum mode);

銆銆鍦ㄦ甯告儏鍐典笅錛孫penGL涓殑澶氳竟褰㈢殑姝i潰鍜屽弽闈㈡槸鐢辯粯鍒剁殑澶氳竟褰㈢殑欏剁偣欏哄簭鍐沖畾鐨勶紝閫嗘椂閽堢粯鍒剁殑闈㈡槸澶氳竟褰㈢殑姝i潰錛屼絾鏄紝鍦∣penGL涓嬌鐢ㄨ鍑芥暟鍙互鑷畾涔夊杈瑰艦鐨勬闈€傝鍑芥暟鐨勫弬鏁癿ode鎸囧畾浜嗘闈㈢殑鏂瑰悜銆傚畠鍙互鏄疌L_CCW鍜孋L_CW錛屽垎鍒寚瀹氶嗘椂閽堝拰欏烘椂閽堟柟鍚戜負澶氳竟褰㈢殑姝f柟鍚戙?br>鍥涖佹硶鍚戦噺鐨勮綆楀強鎸囧畾

銆銆娉曞悜閲忔槸鍑犱綍鍥懼厓鐨勯噸瑕佸睘鎬т箣涓銆傚嚑浣曞璞$殑娉曞悜閲忔槸鍨傜洿涓庢洸闈㈠垏闈㈢殑鍗曚綅鍚戦噺錛屽畠瀹氫箟浜嗗嚑浣曞璞$殑絀洪棿鏂瑰悜錛岀壒鍒畾涔変簡瀹冪浉瀵逛簬鍏夋簮鐨勬柟鍚戯紝鍐沖畾浜嗗湪璇ョ偣涓婂彲鎺ュ彈澶氬皯鍏夌収銆?br>
銆銆OpenGL鏈韓娌℃湁鎻愪緵璁$畻娉曞悜閲忕殑鍑芥暟錛堣綆楁硶鍚戦噺鐨勪換鍔$敱紼嬪簭鍛樿嚜宸卞幓瀹屾垚錛夛紝浣嗗畠鎻愪緵浜嗚祴浜堝綋鍓嶉《鐐規(guī)硶鍚戠殑鍑芥暟銆?br>
銆銆錛堜竴錛夊鉤闈㈡硶鍚戠殑璁$畻鏂規(guī)硶銆?br>
銆銆鍦ㄤ竴涓鉤闈㈠唴錛屾湁涓ゆ潯鐩鎬氦鐨勭嚎孌碉紝鍋囪鍏朵腑涓鏉′負鐭㈤噺W錛屽彟涓鏉′負鐭㈤噺V錛屽鉤闈㈡硶鍚戜負N錛屽垯騫抽潰娉曞悜灝辯瓑浜庝袱涓煝閲忕殑鍙夌Н錛堥伒寰彸鎵嬪畾鍒欙級錛屽嵆N錛漌xV銆備緥濡傦細涓涓笁瑙掑艦騫抽潰涓変釜欏剁偣鍒嗗埆涓篜0銆丳1銆丳2錛岀浉搴斾袱涓悜閲忎負W銆乂錛屽垯涓夎騫抽潰娉曞悜鐨勮綆楁柟寮忓涓嬪垪浠g爜鎵紺猴細

void getNormal(GLfloat gx[3],GLfloat gy[3],
GLfloat gz[3],GLfloat *ddnv)
{
銆GLfloat w0,w1,w2,v0,v1,v2,nr,nx,ny,nz;
銆w0=gx[0]-gx[1]; w1=gy[0]-gy[1];w2=gz[0]-gz[1];
銆v0=gx[2]-gx[1]; v1=gy[2]-gy[1];v2=gz[2]-gz[1];
銆nx=(w1*v2-w2*v1);ny=(w2*v0-w0*v2);nz=(w0*v1-w1*v0);
銆nr=sqrt(nx*nx+ny*ny+nz*nz); //鍚戦噺鍗曚綅鍖栥?br>銆ddnv[0]=nx/nr; ddnv[1]=ny/nr;ddnv[2]=nz/nr;
}

銆銆浠ヤ笂鍑芥暟鐨勮緭鍑哄弬鏁頒負鎸囬拡ddnv錛屽畠鎸囧悜娉曞悜鐨勪笁涓垎閲忥紝騫朵笖紼嬪簭涓凡緇忓皢娉曞悜鍗曚綅鍖栵紙鎴栧綊涓鍖栵級浜嗐?br>
銆銆錛堜簩錛夋洸闈㈡硶鍚戦噺鐨勮綆椼?br>
銆銆瀵逛簬鏇查潰鍚勯《鐐圭殑娉曞悜璁$畻鏈夊緢澶氱錛屽鏍規(guī)嵁鍑芥暟琛ㄨ揪寮忔眰鍋忓鐨勬柟娉曠瓑銆備絾鏄紝鍦ㄥぇ澶氭暟鎯呭喌錛孫penGL涓殑澶氳竟褰㈠茍涓嶆槸鐢辨洸闈㈡柟紼嬪緩绔嬭搗鏉ョ殑錛岃屾槸鐢辨ā鍨嬫暟緇勬瀯鎴愶紝榪欐椂鍊欐眰鍙栨硶鍚戦噺鐨勫姙娉曟槸灝嗘洸闈㈢粏鍒嗘垚澶氫釜灝忓杈瑰艦錛岀劧鍚庨夊彇灝忓杈瑰艦涓婄浉閭葷殑涓変釜鐐箆1銆乿2銆乿3錛堝綋鐒朵笁涓偣涓嶈兘鍦ㄥ悓涓鐩寸嚎涓婏級錛屾寜鐓у鉤闈㈡硶鍚戦噺鐨勬眰鍙栨柟娉曞氨鍙互浜嗐?br>
銆銆錛堜笁錛夋硶鍚戦噺鐨勫畾涔夈?br>
銆銆OpenGL娉曞悜閲忓畾涔夊嚱鏁頒負錛?br>
void glNormal3{bsifd}(TYPE nx,TYPE ny,TYPE nz);
void glNormal3{bsifd}v(const TYPE *v);

銆銆闈炲悜閲忓艦寮忓畾涔夋硶鍚戦噰鐢ㄧ涓縐嶆柟寮忥紝鍗沖湪鍑芥暟涓垎鍒粰鍑烘硶鍚戜笁涓垎閲忓糿x銆乶y鍜宯z錛涘悜閲忓艦寮忓畾涔夐噰鐢ㄧ浜岀錛屽嵆灝唙璁劇疆涓轟竴涓寚鍚戞嫢鏈変笁涓厓绱犵殑鎸囬拡錛屼緥濡倂[3]={nx,ny,nz}銆?br>
銆銆浜斻佹樉紺哄垪琛?/strong>

銆銆錛堜竴錛夊畾涔夋樉紺哄垪琛ㄣ?br>
銆銆鍓嶉潰鎵涓懼嚭鐨勪緥瀛愰兘鏄灛鏃剁粰鍑哄嚱鏁板懡浠わ紝OpenGL鐬椂鎵ц鐩稿簲鐨勫懡浠わ紝榪欑緇樺浘鏂瑰紡鍙仛绔嬪嵆鎴栫灛鏃舵柟寮忥紙immediate mode錛夈侽penGL鏄劇ず鍒楄〃錛圖isplay List錛夋槸鐢變竴緇勯鍏堝瓨鍌ㄨ搗鏉ョ殑鐣欏緟浠ュ悗璋冪敤鐨凮penGL鍑芥暟璇彞緇勬垚鐨勶紝褰撹皟鐢ㄦ樉紺哄垪琛ㄦ椂灝變緷嬈℃墽琛岃〃涓墍鍒楀嚭鐨勫嚱鏁拌鍙ャ傛樉紺哄垪琛ㄥ彲浠ョ敤鍦ㄤ互涓嬪満鍚堬細

銆銆1錛夌煩闃墊搷浣?br>
銆銆澶ч儴鍒嗙煩闃墊搷浣滈渶瑕丱penGL璁$畻閫嗙煩闃碉紝鐭╅樀鍙婂叾閫嗙煩闃甸兘鍙互淇濆瓨鍦ㄦ樉紺哄垪琛ㄤ腑銆?br>
銆銆2錛夊厜鏍呬綅鍥懼拰鍥懼儚

銆銆紼嬪簭瀹氫箟鐨勫厜鏍呮暟鎹笉涓瀹氭槸閫傚悎紜歡澶勭悊鐨勭悊鎯蟲牸寮忋傚綋緙栬瘧緇勭粐涓涓樉紺哄垪琛ㄦ椂錛孫penGL鍙兘鎶婃暟鎹漿鎹㈡垚紜歡鑳藉鎺ュ彈鐨勬暟鎹紝榪欏彲浠ユ湁鏁堝湴鎻愰珮鐢諱綅鍥劇殑閫熷害銆?br>
銆銆3錛夊厜銆佹潗璐ㄥ拰鍏夌収妯″瀷

銆銆褰撶敤涓涓瘮杈冨鏉傜殑鍏夌収鐜緇樺埗鍦烘櫙鏃訛紝鍥犱負鏉愯川璁$畻鍙兘姣旇緝鎱€傝嫢鎶婃潗璐ㄥ畾涔夋斁鍦ㄦ樉紺哄垪琛ㄤ腑錛屽垯姣忔鏀規(guī)崲鏉愯川鏃跺氨涓嶅繀閲嶆柊璁$畻浜嗭紝鍥犳鑳芥洿蹇湴緇樺埗鍏夌収鍦烘櫙銆?br>
銆銆4錛夌汗鐞?br>
銆銆鍥犱負紜歡鐨勭汗鐞嗘牸寮忓彲鑳戒笌OpenGL鏍煎紡涓嶄竴鑷達紝鑻ユ妸綰圭悊瀹氫箟鏀懼湪鏄劇ず鍒楄〃涓紝鍒欏湪緙栬瘧鏄劇ず鍒楄〃鏃跺氨鑳藉鏍煎紡榪涜杞崲錛岃屼笉鏄湪鎵ц涓繘琛岋紝榪欐牱灝辮兘澶уぇ鎻愰珮鏁堢巼銆?br>
銆銆5錛夊杈瑰艦鐨勫浘妗堝~鍏呮ā寮忥紝鍗沖彲灝嗗畾涔夌殑鍥炬鏀懼湪鏄劇ず鍒楄〃涓?

銆銆OpenGL鎻愪緵綾諱技浜庣粯鍒跺浘鍏冪殑緇撴瀯鍗崇被浼間簬glBegin()涓巊lEnd()鐨勫艦寮忓垱寤烘樉紺哄垪琛紝鍏剁浉搴旂殑鍑芥暟涓猴細

void glNewList(GLuint list,GLenum mode);
void glEndList(void);

銆銆glNewList錛堬級鍑芥暟璇存槑涓涓樉紺哄垪琛ㄧ殑寮濮嬶紝鍏跺悗鐨凮penGL鍑芥暟瀛樺叆鏄劇ず鍒楄〃涓紝鐩磋嚦璋冪敤緇撴潫琛ㄧ殑鍑芥暟glEndList(void)銆俫lNewList錛堬級鍑芥暟涓殑鍙傛暟l(fā)ist鏄竴涓鏁存暟錛屽畠鏍囧織鍞竴鐨勬樉紺哄垪琛紱鍙傛暟mode鐨勫彲鑳藉兼湁GL_COMPILE鍜孏L_COMPILE_AND_EXECUTE錛涜嫢瑕佷嬌鍒楄〃涓嚱鏁拌鍙ュ彧瀛樺叆鑰屼笉鎵ц錛屽垯鐢℅L_COMPILE錛涜嫢瑕佷嬌鍒楄〃涓殑鍑芥暟璇彞瀛樺叆琛ㄤ腑涓旀寜鐬椂鏂瑰紡鎵ц涓嬈★紝鍒欑敤GL_COMPILE_AND_EXECUTE銆?br>
銆銆娉ㄦ剰錛氬茍涓嶆槸鎵鏈夌殑OpenGL鍑芥暟閮藉彲浠ュ湪鏄劇ず鍒楄〃涓瓨鍌ㄤ笖閫氳繃鏄劇ず鍒楄〃鎵ц銆備竴鑸潵璇達紝鐢ㄤ簬浼犻掑弬鏁版垨榪斿洖鏁板肩殑鍑芥暟璇彞涓嶈兘瀛樺叆鏄劇ず鍒楄〃錛屽洜涓鴻繖寮犺〃鏈夊彲鑳藉湪鍙傛暟鐨勪綔鐢ㄥ煙涔嬪琚皟鐢紱濡傛灉鍦ㄥ畾涔夋樉紺哄垪琛ㄦ椂璋冪敤浜嗚繖鏍風殑鍑芥暟錛屽垯瀹冧滑灝嗘寜鐬椂鏂瑰紡鎵ц騫朵笖涓嶄繚瀛樺湪鏄劇ず鍒楄〃涓紝鏈夋椂鍦ㄨ皟鐢ㄦ墽琛屾樉紺哄垪琛ㄥ嚱鏁版椂浼氫駭鐢熼敊璇備互涓嬪垪鍑虹殑鏄笉鑳藉瓨鍏ユ樉紺哄垪琛ㄧ殑OpenGL鍑芥暟錛?br>
銆銆glDeleteLists()銆銆銆銆glIsEnable()
銆銆glFeedbackBuffer()銆銆 glIsList()
銆銆glFinish()銆銆銆銆銆銆 glPixelStore()
銆銆glGenLists()銆銆銆銆銆 glRenderMode()
銆銆glGet*()銆銆銆銆銆銆銆 glSelectBuffer()

銆銆鍦ㄥ緩绔嬫樉紺哄垪琛ㄤ互鍚庡氨鍙互璋冪敤鎵ц鏄劇ず鍒楄〃鐨勫嚱鏁版潵鎵ц瀹冿紝騫朵笖鍏佽鍦ㄧ▼搴忎腑澶氭鎵ц鍚屼竴鏄劇ず鍒楄〃錛屽悓鏃朵篃鍙互涓庡叾瀹冨嚱鏁扮殑鐬椂鏂瑰紡娣峰悎浣跨敤銆傛樉紺哄垪琛ㄦ墽琛岀殑鍑芥暟褰㈠紡濡備笅錛?br>
銆銆void glCallList(GLuint list);

銆銆鍙傛暟l(fā)ist鎸囧畾琚墽琛岀殑鏄劇ず鍒楄〃銆傛樉紺哄垪琛ㄤ腑鐨勫嚱鏁拌鍙ユ寜瀹冧滑琚瓨鏀劇殑欏哄簭渚濇鎵ц錛涜嫢list娌℃湁瀹氫箟錛屽垯涓嶄細浜х敓浠諱綍浜嬫儏銆?br>
銆銆錛堜簩錛夌鐞嗘樉紺哄垪琛?br>
銆銆鍦ㄥ疄闄呭簲鐢ㄤ腑錛屼竴鑸皟鐢ㄥ嚱鏁癵lGenList()鏉ュ垱寤哄涓樉紺哄垪琛紝榪欐牱鍙互閬垮厤鎰忓鍒犻櫎錛屼駭鐢熶竴涓病鏈夌敤榪囩殑鏄劇ず鍒楄〃銆傛澶栵紝鍦ㄧ鐞嗘樉紺哄垪琛ㄧ殑榪囩▼涓紝榪樺彲璋冪敤鍑芥暟glDeleteLists()鏉ュ垹闄や竴涓垨涓涓寖鍥村唴鐨勬樉紺哄垪琛ㄣ?br>
銆銆1錛塆Luint glGenList(GLsizei range)

銆銆璇ュ嚱鏁板垎閰峳ange涓浉閭葷殑鏈鍗犵敤鐨勬樉紺哄垪琛ㄧ儲寮曘傝繖涓嚱鏁拌繑鍥炵殑鏄竴涓鏁存暟绱㈠紩鍊鹼紝瀹冩槸涓緇勮繛緇┖绱㈠紩鐨勭涓涓箋傝繑鍥炵殑绱㈠紩閮芥爣蹇椾負絀轟笖宸茶鍗犵敤錛屼互鍚庡啀璋冪敤榪欎釜鍑芥暟鏃朵笉鍐嶈繑鍥炶繖浜涚儲寮曘傝嫢鐢寵绱㈠紩鐨勬寚瀹氭暟鐩笉鑳芥弧瓚蟲垨range涓?鍒欏嚱鏁拌繑鍥?銆?br>
銆銆2錛塆Lboolean glIsList(GLuint list)

銆銆璇ュ嚱鏁拌闂樉紺哄垪琛ㄦ槸鍚﹀凡琚崰鐢ㄧ殑鎯呭喌錛岃嫢绱㈠紩list宸茶鍗犵敤錛屽垯鍑芥暟榪斿洖TURE錛涘弽涔嬶紝榪斿洖FAULSE銆?br>
銆銆3錛塿oid glDeleteLists(GLuint list,GLsizei range)

銆銆璇ュ嚱鏁板垹闄や竴緇勮繛緇殑鏄劇ず鍒楄〃錛屽嵆浠庡弬鏁發(fā)ist鎵鎸囩ず鐨勬樉紺哄垪琛ㄥ紑濮嬶紝鍒犻櫎range涓樉紺哄垪琛紝騫朵笖鍒犻櫎鍚庣殑榪欎簺绱㈠紩閲嶆柊鏈夋晥銆?br>
銆銆錛堜笁錛夊綰ф樉紺哄垪琛?br>
銆銆澶氱駭鏄劇ず鍒楄〃鐨勫緩绔嬪氨鏄湪涓涓樉紺哄垪琛ㄤ腑璋冪敤鍙︿竴涓樉紺哄垪琛紝涔熷氨鏄錛屽湪鍑芥暟glNewList()涓巊lEndList()涔嬮棿璋冪敤glCallList()銆傚綰ф樉紺哄垪琛ㄥ浜庢瀯閫犵敱澶氫釜鍏冧歡緇勬垚鐨勭墿浣撳崄鍒嗘湁鐢紝灝ゅ叾鏄煇浜涘厓浠墮渶瑕侀噸澶嶄嬌鐢ㄧ殑鎯呭喌銆備絾涓轟簡閬垮厤鏃犵┓閫掑綊錛屾樉紺哄垪琛ㄧ殑宓屽娣卞害鏈澶т負64錛堜篃璁告洿楂樹簺錛岃繖渚濊禆浜庝笉鍚岀殑OpenGL瀹炵幇錛夛紝褰撶劧涔熷彲璋冪敤鍑芥暟glGetIntegerv()鏉ヨ幏寰楄繖涓渶澶у祵濂楁繁搴﹀箋侽penGL涔熷厑璁哥敤涓涓樉紺哄垪琛ㄥ寘鍚嚑涓綆綰х殑鏄劇ず鍒楄〃鏉ユā鎷熷緩绔嬩竴涓彲緙栬緫鐨勬樉紺哄垪琛ㄣ?br>
銆銆涓嬮潰鐨勪竴孌典唬鐮佷嬌鐢ㄤ簡鍒楄〃宓屽鏉ユ樉紺轟竴涓笁瑙掑艦錛?br>
銆銆glNewList(1,GL_COMPILE);
銆銆glVertex3fv(v1);
銆銆glEndList();
銆銆glNewList(2,GL_COMPILE);
銆銆glVertex3fv(v2);
銆銆glEndList();

銆銆glNewList(3,GL_COMPILE);
銆銆glVertex3fv(v3);
銆銆glEndList();

銆銆glNewList(4,GL_COMPILE);
銆銆glBegin(GL_POLYGON);
銆銆glCallList(1);
銆銆glCallList(2);
銆銆glCallList(3);
銆銆glEnd();
銆銆glEndList();



]]>
OpenGL鐨勫嚱鏁板簱浠嬬粛http://m.shnenglu.com/Walker/articles/143978.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Mon, 11 Apr 2011 14:08:00 GMThttp://m.shnenglu.com/Walker/articles/143978.htmlhttp://m.shnenglu.com/Walker/comments/143978.htmlhttp://m.shnenglu.com/Walker/articles/143978.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/143978.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/143978.html鍦ㄦ綆鍗曚粙緇嶄竴涓?strong>OpenGL鐨勫嚱鏁板簱鍙?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">OpenGL瀹炵敤宸ュ叿鍖?GLUT):
1銆?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">鏍稿績搴?115涓簱鍑芥暟錛屾瘡涓嚱鏁伴兘浠l寮澶達紝榪欎簺鍑芥暟鏄渶鍩烘湰鐨勶紝瀹冧滑鍙互鍦ㄤ換浣昈penGL鐨勫伐浣滃鉤鍙頒笂搴旂敤銆?/span>榪欎簺鍑芥暟鐢ㄤ簬寤虹珛鍚勭鍚勬牱鐨勫艦浣擄紝浜х敓鍏夌収鏁堟灉,榪涜鍙嶈蛋鏍蜂互鍙婅繘琛岀汗鐞嗘槧灝勶紝榪涜鎶曞獎鍙樻崲絳夌瓑銆傜敱浜庤繖浜涙牳蹇冨嚱鏁版湁璁稿縐嶅艦寮忓茍鑳藉鎺ュ彈涓嶅悓綾誨瀷鐨勫弬鏁幫紝瀹為檯涓婅繖浜涘嚱鏁板彲浠ユ淳鐢熷嚭300澶氫釜鍑芥暟銆?br>2銆佸疄鐢ㄥ簱錛?3涓嚱鏁幫紝姣忎釜鍑芥暟浠lu寮澶達紱鏄瘮OpenGL鏍稿績鍑芥暟鏇撮珮涓灞傜殑鍑芥暟錛岃繖浜涘嚱鏁版槸閫氳繃璋冪敤鏍稿績鍑芥暟鏉ヨ搗浣滅敤鐨勩傚畠浠彲浠ュ湪浠諱綍OpenGL鐨勫伐浣滃鉤鍙頒笂搴旂敤銆?/span>榪欎簺鍑芥暟鎻愪緵浜嗗崄鍒嗙畝鍗曠殑鐢ㄦ硶錛屼粠鑰屽噺杞諱簡寮鍙戣呯殑緙栫▼璐熸媴銆侽penGL鐨勫疄鐢ㄥ嚱鏁板寘鎷汗鐞嗘槧灝勩佸潗鏍囧彉鎹€佸杈瑰艦鍒嗗寲銆佺粯鍒朵竴浜涘妞悆銆佸渾鏌便佽尪澹剁瓑綆鍗曞杈瑰艦瀹炰綋絳夈傝繖閮ㄥ垎鍑芥暟璞℃牳蹇冨嚱鏁頒竴鏍峰湪浠諱綍OpenGL騫沖彴閮藉彲浠ュ簲鐢ㄣ?br>3銆?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">杈呭姪搴擄細31涓嚱鏁幫紝姣忎釜鍑芥暟浠ux寮澶達紱榪欎簺鍑芥暟鏈潵鏄敤浜庡垵瀛﹁呭仛綆鍗曠殑緇冧範涔嬬敤錛屽洜姝よ繖浜涘嚱鏁頒笉鑳藉湪鎵鏈夌殑OpenGL騫沖彴涓婁嬌鐢紝鍦╓indows NT鐜涓嬪彲浠ヤ嬌鐢ㄨ繖浜涘嚱鏁般傝繖浜涘嚱鏁頒嬌鐢ㄧ畝鍗曪紝瀹冧滑鍙互鐢ㄤ簬紿楀彛綆$悊銆佽緭鍏ヨ緭鍑哄鐞嗕互鍙婄粯鍒朵竴浜涚畝鍗曠殑涓夌淮褰綋銆備負浜嗕嬌OpenGL鐨勫簲鐢ㄧ▼搴忓叿鏈夎壇濂界殑縐繪鎬э紝鍦ㄤ嬌鐢∣penGL杈呭姪搴撶殑鏃跺欏簲璋ㄦ厧銆?br>4銆?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">涓撶敤搴撳嚱鏁幫紝姣忕紿楀彛閮芥湁涓涓敤浜庢墿灞曠獥鍙g郴緇熷姛鑳斤紝浠ユ敮鎸丱penGL娓叉煋鐨勫嚱鏁板簱銆傚湪浣跨敤X紿楀彛緋葷粺鐨勮綆楁満涓紝鎻愪緵浜哫紿楀彛緋葷粺鐨凮penGL鎵╁睍錛圙LX錛夛紝浣滀負OpenGL鐨勯檮鍔犮侴LX搴撳嚱鏁扮殑鍚嶇О涓寘鍚墠緙"glX"銆傚湪windows緋葷粺涓婏紝6涓互wgl寮澶寸殑鍑芥暟鎻愪緵浜嗛windows鍜孫penGL涔嬮棿鐨勬帴鍙c?br>5銆?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">OpenGL瀹炵敤宸ュ叿鍖咃紙GLUT,OpenGL Utility Toolkit錛?/span>鏄疢ark Kilgard寮鍙戠殑涓涓嫭绔嬩簬紿楀彛緋葷粺鐨勫伐鍏峰寘錛岀敤浜庣粫寮紿楀彛緋葷粺API鐨勫鏉傛с侴LUT鍑芥暟鍚嶄腑鍖呭惈鍓嶇紑"glut"銆?br>6銆?span style="COLOR: rgb(255,0,0); FONT-WEIGHT: bold">Win32 API鍑芥暟錛?涓嚱鏁幫紝鍑芥暟鍓嶉潰娌℃湁涓撶敤鍓嶇紑錛涚敤浜庡鐞嗚薄绱犲瓨鍌ㄦ牸寮忓拰鍙岀紦鍐插尯錛屾樉鐒惰繖浜涘嚱鏁頒粎浠呰兘澶熺敤浜嶹in32緋葷粺鑰屼笉鑳界敤浜庡叾浠朞penGL騫沖彴銆?/p>

OpenGL瀹炵敤宸ュ叿鍖?GLUT)浠嬬粛錛?/span>
OpenGL鍖呭惈娓叉煋鍑芥暟錛屼絾琚秹鍙婃垚鐙珛浜庝換浣曠獥鍙g郴緇熷拰鎿嶄綔緋葷粺銆傚洜姝わ紝OpenGL騫舵病鐢ㄧ敤浜庢墦寮紿楀彛浠ュ強媯嫻嬮敭鐩樻垨榧犳爣浜嬩歡鐨勫嚱鏁般侴LUT搴撹鐢ㄦ潵綆鍖栬繖浜涚浉鍏充換鍔★紝姝ゅ榪樻彁渚涗簡涓浜涚敤浜庡垱寤哄鏉備笁浣嶇墿浣擄紙濡傜悆浣撱佸渾鐜拰鑼跺6絳夛級鐨勫嚱鏁般?/span>
    紿楀彛綆$悊鍑芥暟
   glutInit(int *argc, char **argv)錛屽垵濮嬪寲GLUT騫跺鐞嗗懡浠よ鍙傛暟錛屽簲鍦ㄨ皟鐢ㄥ叾浠朑LUT鍑芥暟鍓嶈皟鐢╣lutInit()銆?br>   glutInitDisplayMode(unsigned int mode),鎸囧畾浣跨敤RGBA妯″紡榪樻槸棰滆壊绱㈠紩妯″紡銆傝繕鍙互鎸囧畾浣跨敤鍗曠紦瀛樿繕鏄弻緙撳瓨絳夈?br>   glutInitWindowPosition(int x, int y),鎸囧畾紿楀彛宸︿笂瑙掑湪灞忓箷涓婄殑浣嶇疆銆?br>   glutInitWindowSize(int width, int size),鎸囧畾紿楀彛鐨勫ぇ灝忥紝鍗曚綅涓鴻薄绱犮?br>   int glutCreateWindow(char *string)錛屼嬌鐢ㄤ竴涓狾penGL鍦烘櫙鍒涘緩涓涓獥鍙o紝璇ュ嚱鏁拌繑鍥炰竴涓爣璇嗙錛屽敮涓鐨勬爣璇嗘柊寤虹殑紿楀彛錛屾敞鎰忥紝鍦ㄨ皟鐢╣lutMainLoop()涔嬪墠錛岀獥鍙d笉浼氳鏄劇ず鍑烘潵銆?br>    鏄劇ず鍥炶皟鍑芥暟
   glutDisplayFunc(void(*func)(void))鏄渶閲嶈鐨勬椂闂村洖璋冨嚱鏁般傛瘡褰揋LUT璁や負闇瑕侀噸鏂版樉紺虹獥鍙g殑鍐呭鏃訛紝閮藉皢鎵ц鍑芥暟glutDisplayFunc()鍑芥暟娉ㄥ唽鐨勫洖璋冨嚱鏁幫紝鍥犳錛屽簲灝嗕負閲嶆柊緇樺埗鍦烘櫙闇瑕佽皟鐢ㄧ殑鍑芥暟閮芥斁鍒版樉紺哄洖璋冨嚱鏁頒腑銆傚鏋滅▼搴忎慨鏀逛簡紿楀彛鐨勫唴瀹癸紝鍙兘闇瑕佽皟鐢ㄥ嚱鏁癵lutPostRedisplay(void)錛屽畠鎻愰啋鍑芥暟glutMainLoop璋冪敤娉ㄥ唽鐨勬樉紺哄洖璋冨嚱鏁般?br>    榪愯紼嬪簭
   glutMainLoop(void)錛屾樉紺哄垱寤虹殑鎵鏈夌獥鍙o紝琚覆鏌撳埌榪欎簺紿楀彛涓殑鍐呭涔熷皢鏄劇ず鍑烘潵銆傜▼搴忓紑濮嬩簨浠跺鐞嗭紝榪欏唽鐨勬樉紺哄洖璋冨嚱鏁拌瑙﹀彂錛岃繘鍏ヨ寰幆錛屼究涓嶄細閫鍑恒?br>    澶勭悊杈撳叆浜嬩歡
   glutReshapeFunc(void(*func)(int w, int h))錛屾寚瀹氱獥鍙eぇ灝忓彂鐢熸敼鍙樻椂搴旈噰鍙栫殑鎺柦錛?br>   glutKeyboardFunc(void(*func)(unsigned char key, int x, int y))鍜実lutMouseFunc(void(*func)(int button,int state,int x,int y))錛屾寚瀹氬綋鐗瑰畾鐨勯敭鍜岄紶鏍囨寜閽鎸変笅鎴栬呮澗寮鏃跺簲璋冪敤鐨勫洖璋冨嚱鏁般?br>   glutMotionFunc(void(*func)(int x, int y))錛岃繖鍐屼簡褰撶敤鎴鋒寜涓嬮紶鏍囨寜閽茍縐誨姩榧犳爣鏃跺簲璋冪敤鐨勫洖璋冨嚱鏁般?br>    綆$悊鍚庡彴澶勭悊
   glutIdleFunc(void(*func)(void))鎸囧畾涓涓湪娌℃湁鍏朵粬浜嬩歡闇瑕佸鐞嗘椂錛堝浜嬩歡寰幆絀洪棽錛夋墽琛岀殑鍑芥暟銆?br>    緇樺埗涓夌淮鐗╀綋
   glutWireCube(GLdouble size)銆乬lutSolidCube(GLdouble size)銆乬lutWireSphere(GLdouble radius, GLint slices,GLint statcks)銆乬lutSolidSphere(GLdouble radius, GLint slices, GLint stacks)絳?/p>

]]>glViewport鍜実lOrthohttp://m.shnenglu.com/Walker/articles/143976.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Mon, 11 Apr 2011 14:05:00 GMThttp://m.shnenglu.com/Walker/articles/143976.htmlhttp://m.shnenglu.com/Walker/comments/143976.htmlhttp://m.shnenglu.com/Walker/articles/143976.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/143976.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/143976.html鍦∣penGL涓湁涓や釜姣旇緝閲嶈鐨勬姇褰卞彉鎹㈠嚱鏁幫紝glViewport鍜実lOrtho.
glOrtho鏄垱寤轟竴涓浜ゅ鉤琛岀殑瑙嗘櫙浣撱?涓鑸敤浜庣墿浣撲笉浼氬洜涓虹灞忓箷鐨勮繙榪戣屼駭鐢熷ぇ灝忕殑鍙樻崲鐨勬儏鍐點傛瘮濡傦紝甯哥敤鐨勫伐紼嬩腑鐨勫埗鍥劇瓑銆傞渶瑕佹瘮杈冪簿紜殑鏄劇ず銆?鑰屼綔涓哄畠鐨勫绔嬫儏鍐? glFrustum鍒欎駭鐢熶竴涓忚鎶曞獎銆傝繖鏄竴縐嶆ā鎷熺湡鏄敓媧諱腑錛屼漢浠閲庤嫻嬬墿浣撶殑鐪熷疄鎯呭喌銆備緥濡傦細瑙傚療涓ゆ潯騫寵鐨勭伀杞﹀埌錛屽湪榪囦簡寰堣繙涔嬪悗錛岃繖涓ゆ潯閾佽建鏄細鐩鎬氦浜庝竴澶勭殑銆傝繕鏈夛紝紱葷溂鐫涜繎鐨勭墿浣撶湅璧鋒潵澶т竴浜涳紝榪滅殑鐗╀綋鐪嬭搗鏉ュ皬涓浜涖?br>glOrtho(left, right, bottom, top, near, far)錛?left琛ㄧず瑙嗘櫙浣撳乏闈㈢殑鍧愭爣錛宺ight琛ㄧず鍙抽潰鐨勫潗鏍囷紝bottom琛ㄧず涓嬮潰鐨勶紝top琛ㄧず涓婇潰鐨勩傝繖涓嚱鏁扮畝鍗曠悊瑙h搗鏉ワ紝灝辨槸涓涓墿浣撴憜鍦ㄩ偅閲岋紝浣犳庝箞鍘繪埅鍙栦粬銆傝繖閲岋紝鎴戜滑鍏堟姏寮glViewport鍑芥暟涓嶇湅銆傚厛鍗曠嫭鐞嗚ВglOrtho鐨勫姛鑳姐?鍋囪鏈変竴涓悆浣擄紝鍗婂緞涓?錛屽渾蹇冨湪(0, 0, 0)錛岄偅涔堬紝鎴戜滑璁懼畾glOrtho(-1.5, 1.5, -1.5, 1.5, -10, 10);灝辮〃紺虹敤涓涓楂橀兘鏄?鐨勬妗嗘妸榪欎釜鐞冧綋鏁翠釜閮借浜嗚繘鏉ャ?nbsp; 濡傛灉璁懼畾glOrtho(0.0, 1.5, -1.5, 1.5, -10, 10);灝辮〃紺虹敤涓涓鏄?.5錛?楂樻槸3鐨勬妗嗘妸鏁翠釜鐞冧綋鐨勫彸闈㈣榪涙潵;濡傛灉璁懼畾glOrtho(0.0, 1.5, 0.0, 1.5, -10, 10)錛涘氨琛ㄧず鐢ㄤ竴涓鍜岄珮閮芥槸1.5鐨勬妗嗘妸鐞冧綋鐨勫彸涓婅瑁呬簡榪涙潵銆備笂榪頒笁縐嶆儏鍐靛彲浠ヨ鍥撅細

 

 

 

浠庝笂榪頒笁縐嶆儏鍐碉紝鎴戜滑鍙互澶ц嚧浜嗚ВglOrtho鍑芥暟鐨勭敤娉曘?/p>

---glViewport():
glOrtho鍑芥暟鍙槸璐熻矗浣跨敤浠涔堟牱鐨勮鏅綋鏉ユ埅鍙栧浘鍍忥紝騫朵笉璐熻矗浣跨敤鏌愮瑙勫垯鎶婂浘鍍忓憟鐜板湪灞忓箷涓娿?br>glViewport涓昏瀹屾垚榪欐牱鐨勫姛鑳姐傚畠璐熻矗鎶婅鏅綋鎴彇鐨勫浘鍍忔寜鐓ф庢牱鐨勯珮鍜屽鏄劇ず鍒板睆騫曚笂銆?br>姣斿錛氬鏋滄垜浠嬌鐢╣lut搴撳緩绔嬩竴涓獥浣?glutInitWindowSize(500, 500); 鐒跺悗浣跨敤glutReshapeFunc(reshape); reshape浠g爜濡備笅錛?/p>

void reshape(int width, int height)
{
    glViewport(0, 0, (GLsizei)width, (GLsizei)height);
    glMatrixModel(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-1.5, 1.5, -1.5, 1.5, -10, 10);

    ....
}
榪欐牱鏄彲浠ョ湅鍒頒竴涓甯哥殑鐞冧綋鐨勩備絾鏄紝濡傛灉鎴戜滑鍒涘緩紿椾綋鏃秅lutInitWindowSize(800, 500),閭d箞鐪嬪埌鐨勫浘鍍忓氨鏄彉褰㈢殑銆備笂榪版儏鍐佃鍥俱?/p>

 
鍥犱負鎴戜滑鏄敤涓涓鏂瑰艦鎴潰鐨勮鏅綋鎴彇鐨勫浘鍍忥紝浣嗘槸鎷変幾鍒板睆騫曚笂鏄劇ず鐨勬椂鍊欙紝灝卞彉鎴愪簡glViewport(0, 0, 800, 500);涔熷氨鏄樉紺哄睆鍙樺浜嗭紝 鍊掓槸鏄劇ず鐨勬椂鍊欐妸涓涓鏂瑰艦鐨勫浘鍍?#8220;媧葷敓鐢熺殑緇欐媺瀹戒簡”銆傚氨浼氫駭鐢熷彉褰€傝繖鏍鳳紝灝遍渶瑕佹垜浠皟鏁存垜浠殑OpenGL鏄劇ず灞忎簡銆傛垜浠彲浠ヤ笉鐢?00閭d箞瀹斤紝鍥犱負鎴戜滑鏄敤鐨勬鏂瑰艦鐨勮鏅綋錛屾墍浠ヨ櫧鐒剁獥浣撴槸800瀹斤紝浣嗘槸鎴戜滑鍙敤鍏朵腑鐨?00灝卞浜嗐備慨鏀逛竴涓嬬▼搴忋?br>void reshape(int width, int height)
{
    int dis = width < height ? width : height;
    glViewport(0, 0, dis, dis);   /*榪欓噷dis搴旇鏄?00*/

    glMatrixModel(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-1.5, 1.5, -1.5, 1.5, -10, 10);
    .....
}

 

OK. 濡傛灉浣犺兘鐪嬫槑鐧芥垜鍐欑殑鍐呭銆備綘鍙兘瀵筭lViewport鍑芥暟鏈変釜澶ц嚧鐨勪簡瑙c?/p>

涓嶈繃錛屾垜浠噰鐢ㄤ笂闈㈢殑鍔炴硶錛屽氨鏄彧浣跨敤浜嗗師鏉ュ睆騫曠殑涓閮ㄥ垎錛堝搴︿粠501鍒?00 鎴戜滑娌℃湁鐢ㄦ潵鏄劇ず鍥懼儚錛夈傚鏋滄垜浠兂鐢ㄦ暣涓狾penGL灞忓箷鏄劇ず鍥懼儚錛屼絾鏄張涓嶄嬌鍥懼儚鍙樺艦鎬庝箞鍔烇紵
閭e氨鍙兘淇敼glOrtho鍑芥暟浜嗐備篃灝辨槸璇達紝鎴戜滑浣跨敤涓涓拰紿椾綋涓鏍鋒瘮渚嬬殑瑙嗘櫙浣擄紙鑰屼笉鍐嶆槸姝f柟褰㈢殑瑙嗘櫙浣擄級鏉ユ埅鍙栧浘鍍忋備緥濡傦紝瀵逛簬(800, 500)鐨勭獥浣擄紝鎴戜滑浣跨敤glOrtho(-1.5 * 800/500, 1.5 * 800/500, -1.5, 1.5, -10, 10)錛屽氨鏄埅鍙栫殑鏃跺欙紝鎴戜滑灝變嬌鐢ㄤ竴涓?#8220;鎵佹墎”鐨勮鏅綋鎴彇錛岄偅涔堬紝鏄劇ず鐨勫埌OpenGL灞忓箷鏃?800, 500)錛屾垜浠彧瑕佹甯告妸榪欎釜鎵佹墎鐨勬埅鍙栧浘鍍忔樉紺猴紙鎵佹墎鐨勬埅鍙栧浘鍍忔槸鎸囨暣涓埅鍙栫殑鍥懼儚錛屽寘鎷悆褰㈠洓鍛ㄧ殑榛戣壊閮ㄥ垎銆?鐞冨艦榪樻槸姝e父鍦嗗艦鐨勶級錛屽氨鍙互浜嗐傚錛?br>void reshape(int width , int height)
{
    glViewport(width, height); //鎸夌収紿椾綋澶у皬鍒朵綔OpenGL灞忓箷
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if (width <= height)
        glOrtho(-1.5, 1.5, -1.5 * (GLfloat)height/(GLfloat)width, 1.5 * (GLfloat)height/(GLfloat)width, -10.0, 10.0);
    else
        glOrtho(-1.5*(GLfloat)width/(GLfloat)height, 1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0);

    ....
}

 

鍙﹀錛屽叧浜巊lViewport()鍑芥暟錛屾垜浠繕鍙互鐢ㄦ潵璋冩暣鍥懼儚鐨勫垎杈ㄧ巼銆備緥濡傦紝淇濇寔鐩墠鐨勭獥浣撳ぇ灝忎笉鍙橈紝鎴戜滑濡傛灉鐢ㄨ繖涓猻ize鏉ュ彧鏄劇ず鏁翠釜鐗╀綋鐨勪竴閮ㄥ垎錛岄偅涔堝浘鍍忕殑鍒嗚鯨鐜囧氨蹇呯劧浼氬澶с備緥濡傦細
void reshape(int w, int h)
{
    glViewport(0, 0, (GLsizei)w, (GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if (w <= h)
        glOrtho(0, 1.5, 0, 1.5 * (GLfloat)h/(GLfloat)w, -10.0, 10.0);
    else
        glOrtho(0, 1.5*(GLfloat)w/(GLfloat)h, 0, 1.5, -10.0, 10.0);
}
鍙互鎶婂垎杈ㄧ巼鎵╁ぇ4鍊嶃?/p>

 

鑰屽鏋滃啀淇敼涓涓媑lViewport(0, 0, 2 * (GLsizei)w, 2 * (GLsizei)h); 鍒欏彲浠ユ妸鍒嗚鯨鐜囨墿澶?6鍊嶃?/p>

 

瀹屾暣鐨勬祴璇曠▼搴忥細

/*Build on ubuntu 9.04*/

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void init(void)
{
    GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0};
    GLfloat mat_shininess[] = {50.0};
    GLfloat light_position[] = {1.0, 1.0f, 1.0, 0.0};
    GLfloat white_light[] = {1.0, 1.0, 1.0, 1.0};
    GLfloat lmodel_ambient[] = {0.1, 0.1, 0.1, 1.0};
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glShadeModel(GL_SMOOTH);
    glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
    glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, white_light);
    glLightfv(GL_LIGHT0, GL_SPECULAR, white_light);
    glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);

    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glEnable(GL_DEPTH_TEST);
   
}

void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidSphere(1.0, 20, 16);
    glFlush();
}

void reshape(int w, int h)
{
    glViewport(0, 0, (GLsizei)w, (GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    if (w <= h)
        glOrtho(-1.5, 1.5, -1.5 * (GLfloat)h/(GLfloat)w, 1.5 * (GLfloat)h/(GLfloat)w, -10.0, 10.0);
    else
        glOrtho(-1.5*(GLfloat)w/(GLfloat)h, 1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(100, 100);
    glutCreateWindow(argv[0]);
    init();
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutMainLoop();
    return 0;
}

/*CMakeLists.txt*/

PROJECT(s5)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
ADD_EXECUTABLE(s5 main.cpp)


FIND_PACKAGE(OpenGL)
FIND_PACKAGE(GLUT)

IF(OPENGL_FOUND)
  INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
  TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OPENGL_LIBRARIES})
ELSE(OPENGL_FOUND)
  MESSAGE(FATAL_ERROR "OpenGL not found")
ENDIF(OPENGL_FOUND)

IF(GLUT_FOUND)
  INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR})
  TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${GLUT_LIBRARIES})
ELSE(GLUT_FOUND)
ENDIF(GLUT_FOUND)

鍙傝? OpenGL緙栫▼鎸囧崡(鍘熶功絎?鐗?


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/shizhipeng/archive/2009/12/13/4939529.aspx



]]>
opengl鐜閰嶇疆http://m.shnenglu.com/Walker/articles/143975.html婕鑰吤?amp;鈥︹?錕?/dc:creator>婕鑰吤?amp;鈥︹?錕?/author>Mon, 11 Apr 2011 14:04:00 GMThttp://m.shnenglu.com/Walker/articles/143975.htmlhttp://m.shnenglu.com/Walker/comments/143975.htmlhttp://m.shnenglu.com/Walker/articles/143975.html#Feedback0http://m.shnenglu.com/Walker/comments/commentRss/143975.htmlhttp://m.shnenglu.com/Walker/services/trackbacks/143975.html瀛︿範OpenGL鍓嶇殑鍑嗗宸ヤ綔

絎竴姝ワ紝閫夋嫨涓涓紪璇戠幆澧?br>銆銆鐜板湪Windows緋葷粺鐨勪富嫻佺紪璇戠幆澧冩湁Visual Studio錛孊roland C++ Builder錛孌ev-C++絳夛紝瀹冧滑閮芥槸鏀寔OpenGL鐨勩備絾榪欓噷鎴戜滑閫夋嫨Visual Studio 2005浣滀負瀛︿範OpenGL鐨勭幆澧冦?

絎簩姝ワ紝瀹夎GLUT宸ュ叿鍖?br>銆銆GLUT涓嶆槸OpenGL鎵蹇呴』鐨勶紝浣嗗畠浼氱粰鎴戜滑鐨勫涔犲甫鏉ヤ竴瀹氱殑鏂逛究錛屾帹鑽愬畨瑁呫?br>Windows鐜涓嬬殑GLUT涓嬭澆鍦板潃錛氾紙澶у皬綰︿負150k錛?br>http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
鏃犳硶浠庝互涓婂湴鍧涓嬭澆鐨勮瘽璇蜂嬌鐢ㄤ笅闈㈢殑榪炴帴:
http://upload.programfan.com/upfile/200607311626279.zip
Windows鐜涓嬪畨瑁匞LUT鐨勬楠わ細
1銆佸皢涓嬭澆鐨勫帇緙╁寘瑙e紑錛屽皢寰楀埌5涓枃浠?br>2銆佸湪“鎴戠殑鐢佃剳”涓悳绱?#8220;gl.h”錛屽茍鎵懼埌鍏舵墍鍦ㄦ枃浠跺す錛堝鏋滄槸VisualStudio2005錛屽垯搴旇鏄叾瀹夎鐩綍涓嬮潰鐨?#8220;VC\PlatformSDK\include\gl鏂囦歡澶?#8221;錛夈傛妸瑙e帇寰楀埌鐨刧lut.h鏀懼埌榪欎釜鏂囦歡澶廣?br>3銆佹妸瑙e帇寰楀埌鐨刧lut.lib鍜実lut32.lib鏀懼埌闈欐佸嚱鏁板簱鎵鍦ㄦ枃浠跺す錛堝鏋滄槸VisualStudio2005錛屽垯搴旇鏄叾瀹夎鐩綍涓嬮潰鐨?#8220;VC\lib”鏂囦歡澶癸級銆?br>4銆佹妸瑙e帇寰楀埌鐨刧lut.dll鍜実lut32.dll鏀懼埌鎿嶄綔緋葷粺鐩綍涓嬮潰鐨剆ystem32鏂囦歡澶瑰唴銆傦紙鍏稿瀷鐨勪綅緗負錛欳:\Windows\System32錛?br>絎笁姝ワ紝寤虹珛涓涓狾penGL宸ョ▼
榪欓噷浠isualStudio2005涓轟緥銆?br>閫夋嫨File->New->Project錛岀劧鍚庨夋嫨Win32 Console Application錛岄夋嫨涓涓悕瀛楋紝鐒跺悗鎸塐K銆?br>鍦ㄨ皥鍑虹殑瀵硅瘽妗嗗乏杈圭偣Application Settings錛屾壘鍒癊mpty project騫跺嬀涓婏紝閫夋嫨Finish銆?br>鐒跺悗鍚戣宸ョ▼娣誨姞涓涓唬鐮佹枃浠訛紝鍙栧悕涓?#8220;OpenGL.c”錛屾敞鎰忕敤.c鏉ヤ綔涓烘枃浠剁粨灝俱?br>鎼炲畾浜嗭紝灝辮窡騫蟲椂鐨勫伐紼嬫病浠涔堜袱鏍風殑銆?

絎竴涓狾penGL紼嬪簭

涓涓畝鍗曠殑OpenGL紼嬪簭濡備笅錛氾紙娉ㄦ剰錛屽鏋滈渶瑕佺紪璇戝茍榪愯錛岄渶瑕佹紜畨瑁匞LUT錛屽畨瑁呮柟娉曞涓婃墍榪幫級

#include <GL/glut.h>

void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("絎竴涓狾penGL紼嬪簭");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}

璇ョ▼搴忕殑浣滅敤鏄湪涓涓粦鑹茬殑紿楀彛涓ぎ鐢諱竴涓櫧鑹茬殑鐭╁艦銆備笅闈㈠鍚勮璇彞榪涜璇存槑銆?

鎬庝箞鏍鳳紵浠g爜榪樹笉綆楅暱鍚э紵

棣栧厛錛岄渶瑕佸寘鍚ご鏂囦歡#include<GL/glut.h>錛岃繖鏄疓LUT鐨勫ご鏂囦歡銆?br>鏈潵OpenGL紼嬪簭涓鑸繕瑕佸寘鍚?lt;GL/gl.h>鍜?lt;GL/glu.h>錛屼絾GLUT鐨勫ご鏂囦歡涓凡緇忚嚜鍔ㄥ皢榪欎袱涓枃浠跺寘鍚簡錛屼笉蹇呭啀嬈″寘鍚?br>
鐒跺悗鐪媘ain鍑芥暟銆?br>int main(int argc, char *argv[])錛岃繖涓槸甯﹀懡浠よ鍙傛暟鐨刴ain鍑芥暟錛屽悇浣嶅簲璇ヨ榪囧惂錛熸病瑙佽繃鐨勫悓蹇椾滑璇峰緲葷炕涔︼紝絳夊紕鏄庣櫧浜嗗啀寰涓嬬湅銆?br>娉ㄦ剰main鍑芥暟涓殑鍚勮鍙ワ紝闄や簡鏈鍚庣殑return涔嬪錛屽叾浣欏叏閮ㄤ互glut寮澶淬傝繖縐嶄互glut寮澶寸殑鍑芥暟閮芥槸GLUT宸ュ叿鍖呮墍鎻愪緵鐨勫嚱鏁幫紝涓嬮潰瀵圭敤鍒扮殑鍑犱釜鍑芥暟榪涜浠嬬粛銆?br>1銆乬lutInit錛屽GLUT榪涜鍒濆鍖栵紝榪欎釜鍑芥暟蹇呴』鍦ㄥ叾瀹冪殑GLUT浣跨敤涔嬪墠璋冪敤涓嬈°傚叾鏍煎紡姣旇緝姝繪澘錛屼竴鑸収鎶勮繖鍙lutInit(&argc, argv)灝卞彲浠ヤ簡銆?br>2銆乬lutInitDisplayMode錛岃緗樉紺烘柟寮忥紝鍏朵腑GLUT_RGB琛ㄧず浣跨敤RGB棰滆壊錛屼笌涔嬪搴旂殑榪樻湁GLUT_INDEX錛堣〃紺轟嬌鐢ㄧ儲寮曢鑹詫級銆侴LUT_SINGLE琛ㄧず浣跨敤鍗曠紦鍐詫紝涓庝箣瀵瑰簲鐨勮繕鏈塆LUT_DOUBLE錛堜嬌鐢ㄥ弻緙撳啿錛夈傛洿澶氫俊鎭紝璇瘋嚜宸盙oogle銆傚綋鐒朵互鍚庣殑鏁欑▼涔熶細鏈変竴浜涜瑙c?br>3銆乬lutInitWindowPosition錛岃繖涓畝鍗曪紝璁劇疆紿楀彛鍦ㄥ睆騫曚腑鐨勪綅緗?br>4銆乬lutInitWindowSize錛岃繖涓篃綆鍗曪紝璁劇疆紿楀彛鐨勫ぇ灝忋?br>5銆乬lutCreateWindow錛屾牴鎹墠闈㈣緗殑淇℃伅鍒涘緩紿楀彛銆傚弬鏁板皢琚綔涓虹獥鍙g殑鏍囬銆傛敞鎰忥細紿楀彛琚垱寤哄悗錛屽茍涓嶇珛鍗蟲樉紺哄埌灞忓箷涓娿傞渶瑕佽皟鐢╣lutMainLoop鎵嶈兘鐪嬪埌紿楀彛銆?br>6銆乬lutDisplayFunc錛岃緗竴涓嚱鏁幫紝褰撻渶瑕佽繘琛岀敾鍥炬椂錛岃繖涓嚱鏁板氨浼氳璋冪敤銆傦紙榪欎釜璇存硶涓嶅鍑嗙‘錛屼絾鍑嗙‘鐨勮娉曞彲鑳藉垵瀛﹁呬笉澶ソ鐞嗚В錛屾殏鏃惰繖鏍瘋鍚э級銆?br>7銆乬lutMainLoop錛岃繘琛屼竴涓秷鎭驚鐜傦紙榪欎釜鍙兘鍒濆鑰呬篃涓嶅お鏄庣櫧錛岀幇鍦ㄥ彧闇瑕佺煡閬撹繖涓嚱鏁板彲浠ユ樉紺虹獥鍙o紝騫朵笖絳夊緟紿楀彛鍏抽棴鍚庢墠浼氳繑鍥烇紝榪欏氨瓚沖浜嗐傦級

鍦╣lutDisplayFunc鍑芥暟涓紝鎴戜滑璁劇疆浜?#8220;褰撻渶瑕佺敾鍥炬椂錛岃璋冪敤myDisplay鍑芥暟”銆備簬鏄痬yDisplay鍑芥暟灝辯敤鏉ョ敾鍥俱傝瀵焟yDisplay涓殑涓変釜鍑芥暟璋冪敤錛屽彂鐜板畠浠兘浠l寮澶淬傝繖縐嶄互gl寮澶寸殑鍑芥暟閮芥槸OpenGL鐨勬爣鍑嗗嚱鏁幫紝涓嬮潰瀵圭敤鍒扮殑鍑芥暟榪涜浠嬬粛銆?br>1銆乬lClear錛屾竻闄ゃ侴L_COLOR_BUFFER_BIT琛ㄧず娓呴櫎棰滆壊錛実lClear鍑芥暟榪樺彲浠ユ竻闄ゅ叾瀹冪殑涓滆タ錛屼絾榪欓噷涓嶄綔浠嬬粛銆?br>2銆乬lRectf錛岀敾涓涓煩褰€傚洓涓弬鏁板垎鍒〃紺轟簡浣嶄簬瀵硅綰夸笂鐨勪袱涓偣鐨勬í銆佺旱鍧愭爣銆?br>3銆乬lFlush錛屼繚璇佸墠闈㈢殑OpenGL鍛戒護绔嬪嵆鎵ц錛堣屼笉鏄瀹冧滑鍦ㄧ紦鍐插尯涓瓑寰咃級銆傚叾浣滅敤璺焒flush(stdout)綾諱技銆?

澶у鍙互鎸夌収涓婇潰鐨勫彊榪幫紝鑷繁璁劇疆緙栬瘧鍣紝涓嬭澆GLUT錛屽茍浜叉墜緙栬瘧紺轟緥浠g爜銆?br>紲濆ぇ瀹舵垚鍔焴



]]>
OpenGL &DirectX 錛堣漿錛?/title><link>http://m.shnenglu.com/Walker/articles/143894.html</link><dc:creator>婕鑰吤?amp;鈥︹?錕?/dc:creator><author>婕鑰吤?amp;鈥︹?錕?/author><pubDate>Sun, 10 Apr 2011 14:10:00 GMT</pubDate><guid>http://m.shnenglu.com/Walker/articles/143894.html</guid><wfw:comment>http://m.shnenglu.com/Walker/comments/143894.html</wfw:comment><comments>http://m.shnenglu.com/Walker/articles/143894.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Walker/comments/commentRss/143894.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Walker/services/trackbacks/143894.html</trackback:ping><description><![CDATA[<p>3D緙栫▼鐨勭涓涓棶棰樺氨鏄敤浣曠API錛歄penGL榪樻槸Direct3D錛熶互涓嬫槸瀹冧滑鐨勪竴浜涙瘮杈冿細     </p> <p>  1     鎿嶄綔緋葷粺騫沖彴錛?nbsp;  <br>      濡傛灉浣犵殑鎿嶄綔緋葷粺鏄疻indows錛屼綘鍙互閫夋嫨銆傚鏋滄槸Unix銆丩inux絳夛紝閭d箞灝卞彧鑳界敤OpenGL銆?nbsp;    <br>    <br>  2     鏄撳鏄撶敤鎬э細   <br>      OpenGL鐩稿鏉ヨ姣擠irectX鏄撳錛岃兘澶熷緢蹇叆闂紙榪欐槸鍏鐨勶級銆傚嵆浣夸綘灝嗘潵鍙兘瑕佺敤鍒癉irect3D錛孫penGL浠嶇劧涓嶅け涓轟竴縐嶅ソ鐨?D緙栫▼鐨勫叆闂ㄩ斿緞錛孫penGL涓師姹佸師鍛崇殑3D鍑芥暟綆鐩村拰澶у鏁拌綆楁満鍥懼艦瀛︽暀鏉愪腑鐨勪吉浠g爜涓妯′竴鏍楓?nbsp;    <br>    <br>  3     鏂囨。鏀寔錛?nbsp;  <br>      鍦ㄧ綉涓婁綘鍙互鎵懼埌寰堝寰堝ソ鐨凮penGL鐨勬枃妗c佹暀紼嬨佷緥紼嬬瓑錛岀壒鍒槸“綰㈠疂涔?#8221;錛堢浉鍏抽摼鎺ュ拰鏂囨。鍙互鍦ㄦ湰绔橭penGL鏍忕洰鎵懼埌錛夈備絾鏄紝DirectX   SDK鎵鎻愪緵鐨勬枃妗i毦鍤煎浜嗭紙鍏錛夛紝鍦ㄧ綉涓婁綘涔熼毦浠ユ壘鍒板ソ鐨勬暀紼嬶紙鏈珯鐨凞irectX鏍忕洰鎵鎻愪緵鐨勫嚑涔庢槸鍏ㄩ儴鑳芥壘鍒扮殑涓嶉噸澶嶇殑涓枃璧勬枡錛夈傚彟澶栵紝涔﹀簵閲屾湁涓嶅皯OpenGL鐨勪腑鏂囦功錛岃孌irectX鍙湁“甯屾湜”鍑虹殑涓縐嶏紝騫朵笖涓嶆槸璁睤irect3D鐨勩?nbsp;    <br>    <br>  4     鍏充簬COM錛?nbsp;  <br>      DirectX鏄熀浜嶤OM鐨勶紝鑰孫penGL涓嶆槸銆傚鏋滀綘瀵笴OM涓嶆槸閭d箞鎰熷啋鐨勮瘽錛屾渶濂藉厛閫夋嫨OpenGL銆備絾鏄紝濡傛灉浣犲皢涓鐩村湪Windows騫沖彴涓婂仛3D緙栫▼鐨勮瘽錛屾誨簲璇ョ啛鎮(zhèn)塂irect3D錛屽洜涓篗icrosoft/SGI/HP鍏卞悓寮鍙戜腑鐨勪竴縐嶆柊鐨?D鎺ュ彛鏄熀浜嶤OM鐨勶紝瀹冨皢鍜孌irect3D姣旇緝鎺ヨ繎銆?nbsp;    <br>    <br>  5     縐繪鎬э細   <br>      DirectX涓嶹indows绱у瘑鐩歌繛錛岄毦浠ョЩ妞嶃傝孫penGL鏄竴縐嶉潪甯?#8220;騫插噣鐨?#8221;API錛屾棤璁轟粠VB璇█鍒癡C璇█銆佽繕鏄粠Windows騫沖彴鍒癓inux騫沖彴錛堝嚑涔庝竴鏍風殑C浠g爜錛夌殑縐繪閮介潪甯稿鏄擄紙騫朵笖鍦℅LUT閲屾彁渚涗簡騫沖彴鏃犲叧鐨勭獥鍙g鐞嗗簱錛夈?nbsp;    <br>    <br>  6     澶氬獟浣撴ц兘錛?nbsp;  <br>      鐢變簬DirectX鍖呮嫭浜咲irectSound銆丏irectInput絳夛紝濡傛灉Direct3D鍜屽畠浠竴璧蜂嬌鐢紝灝嗘瘮杈冨鏄撴帶鍒跺0闊熾佹搷綰墊潌絳夛紝榪欐槸DirectX鐨勬暣浣撲紭鍔褲傚綋鐒訛紝娌℃湁浜哄弽瀵逛綘鍚屾椂浣跨敤OpenGL鍜孌irectSound錛孮uake灝辨槸榪欐牱鍋氱殑銆?nbsp;    <br>    <br>  7     閫熷害錛?nbsp;  <br>      寰堥毦璇村摢涓洿蹇紝QUAKE鐢ㄧ殑鏄疧penGL鐨勫紩鎿庯紝鑰孶nreal鐢ㄧ殑鏄疍irect3D錛屽畠浠兘闈炲父钁楀悕銆傚叾瀹烇紝紼嬪簭鐨勯熷害騫朵笉鍦ㄤ簬浣犻夋嫨浜哋penGL鎴朌irectX錛屽畠榪樿嚦灝戝拰涓や釜鍥犵礌鏈夊叧錛氫綘鍐欑殑浠g爜鐨勮川閲忥紙渚濊禆浜庝綘瀵逛綘浣跨敤鐨勬帴鍙g殑鐔熸?zhèn)壗E嬪害錛夛紝紜歡鐨勬敮鎸侊紙鍖呮嫭紜歡鐨勯┍鍔ㄧ▼搴忕殑鏀寔錛夈?nbsp;    <br>    <br>  8     寮哄.鎬э細   <br>      榪欐牱璇村惂錛孫penGL璋冪敤鍙戠敓浜嗛敊璇紝瀹冧粈涔堥兘涓嶅仛錛涜孌irectX鍑轟簡閿欙紝瀹冧粈涔堥兘鍋氬緱鍑?#8230;…</p> <p><br>鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/didibabawu055/archive/2009/02/21/3919401.aspx</a></p> <img src ="http://m.shnenglu.com/Walker/aggbug/143894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Walker/" target="_blank">婕鑰吤?鈥︹?錕?/a> 2011-04-10 22:10 <a href="http://m.shnenglu.com/Walker/articles/143894.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.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://www-444454.com" target="_blank">99av国产精品欲麻豆</a>| <a href="http://m72722.com" target="_blank">一本大道久久a久久精品综合 </a>| <a href="http://kk8c.com" target="_blank">久久色在线观看</a>| <a href="http://taoh228.com" target="_blank">国产精品你懂的在线</a>| <a href="http://boocnn.com" target="_blank">欧美一区二区黄色</a>| <a href="http://51winner.com" target="_blank">欧美激情一二三区</a>| <a href="http://7782y.com" target="_blank">欧美在线黄色</a>| <a href="http://cl5555.com" target="_blank">亚洲国产美女</a>| <a href="http://hankanzhan.com" target="_blank">国产视频在线观看一区</a>| <a href="http://yys4.com" target="_blank">亚洲人成艺术</a>| <a href="http://www17727.com" target="_blank">国产精品私房写真福利视频</a>| <a href="http://k8m9.com" target="_blank">国产精品久久久久久久久久久久久久</a>| <a href="http://saox28.com" target="_blank">午夜精品亚洲一区二区三区嫩草</a>| <a href="http://qiansemf.com" target="_blank">宅男噜噜噜66国产日韩在线观看</a>| <a href="http://instantptt.com" target="_blank">亚洲啪啪91</a>| <a href="http://lianjiemenye.com" target="_blank">日韩一区二区高清</a>| <a href="http://wxsanyuan.com" target="_blank">亚洲日本va午夜在线影院</a>| <a href="http://wilcherish.com" target="_blank">在线视频你懂得一区二区三区</a>| <a href="http://5a07.com" target="_blank">a4yy欧美一区二区三区</a>| <a href="http://uuclassroom.com" target="_blank">亚洲欧美日韩高清</a>| <a href="http://daqinhkvip.com" target="_blank">久久久亚洲人</a>| <a href="http://5101h.com" target="_blank">国产精品嫩草99a</a>| <a href="http://bbbbyb.com" target="_blank">亚洲国产日韩欧美在线99 </a>| <a href="http://qcjpns.com" target="_blank">欧美高清视频一区二区三区在线观看</a>| <a href="http://aqd072.com" target="_blank">久久久久久成人</a>| <a href="http://4534com.com" target="_blank">亚洲精品在线观看免费</a>| <a href="http://41818c.com" target="_blank">欧美一区二区三区四区高清 </a>| <a href="http://yiqiluntan.com" target="_blank">中文欧美在线视频</a>| <a href="http://8888590.com" target="_blank">欧美一区二区视频在线观看</a>| <a href="http://www92994.com" target="_blank">免播放器亚洲一区</a>| <a href="http://bby99.com" target="_blank">亚洲视频999</a>| <a href="http://55555549.com" target="_blank">欧美黄色免费网站</a>| <a href="http://saobitv.com" target="_blank">久久久久久午夜</a>| <a href="http://scratbag.com" target="_blank">欧美激情综合色</a>| <a href="http://ybshg.com" target="_blank">久久国产精品久久久</a>| <a href="http://5138555.com" target="_blank">黄色一区三区</a>| <a href="http://www5xzz1.com" target="_blank">激情视频一区</a>| <a href="http://xhtd688.com" target="_blank">亚洲欧美成aⅴ人在线观看</a>| <a href="http://244223.com" target="_blank">亚洲高清在线播放</a>| <a href="http://oimeal.com" target="_blank">99riav1国产精品视频</a>| <a href="http://cmtqd.com" target="_blank">欧美福利一区</a>| <a href="http://miandoctor.com" target="_blank">久久久久欧美精品</a>| <a href="http://y4088.com" target="_blank">亚洲欧洲一区二区在线播放</a>| <a href="http://666043.com" target="_blank">久久亚洲国产成人</a>| <a href="http://755795.com" target="_blank">美女诱惑黄网站一区</a>| <a href="http://7755cc.com" target="_blank">亚洲国产天堂久久综合</a>| <a href="http://my736.com" target="_blank">日韩亚洲欧美一区</a>| <a href="http://yiapk.com" target="_blank">亚洲精品资源美女情侣酒店</a>| <a href="http://www47011.com" target="_blank">欧美在线欧美在线</a>| <a href="http://ju255.com" target="_blank">老司机午夜精品视频在线观看</a>| <a href="http://www-232323.com" target="_blank">久久一区亚洲</a>| <a href="http://ybshg.com" target="_blank">亚洲视频精品</a>| <a href="http://timonna.com" target="_blank">久久福利影视</a>| <a href="http://www-13413.com" target="_blank">欧美美女操人视频</a>| <a href="http://69ru.com" target="_blank">一区二区精品</a>| <a href="http://74w4.com" target="_blank">午夜日韩激情</a>| <a href="http://137177.com" target="_blank">麻豆精品视频在线</a>| <a href="http://aass22.com" target="_blank">久久成人免费视频</a>| <a href="http://995688.com" target="_blank">亚洲三级影院</a>| <a href="http://www-44469.com" target="_blank">在线一区二区三区四区</a>| <a href="http://xxoo668.com" target="_blank">欧美在线啊v</a>| <a href="http://hankanzhan.com" target="_blank">久久久国产成人精品</a>| <a href="http://1116333.com" target="_blank">在线播放不卡</a>| <a href="http://quanfadq.com" target="_blank">亚洲国产专区</a>| <a href="http://aqxiangtai.com" target="_blank">欧美视频观看一区</a>| <a href="http://ztsctgs.com" target="_blank">另类欧美日韩国产在线</a>| <a href="http://482896.com" target="_blank">欧美 日韩 国产在线</a>| <a href="http://92ebook.com" target="_blank">亚洲激情视频</a>| <a href="http://bjayj.com" target="_blank">亚洲欧美在线一区</a>| <a href="http://ccc982.com" target="_blank">伊人男人综合视频网</a>| <a href="http://55kam.com" target="_blank">亚洲精品欧洲精品</a>| <a href="http://800716.com" target="_blank">国产欧美一区二区三区视频</a>| <a href="http://8p3c.com" target="_blank">欧美激情第4页</a>| <a href="http://9113i.com" target="_blank">国产视频精品网</a>| <a href="http://xss521.com" target="_blank">欧美日韩一级片在线观看</a>| <a href="http://00000i.com" target="_blank">av成人毛片</a>| <a href="http://czsanlin.com" target="_blank">亚洲一区二区成人在线观看</a>| <a href="http://eee2244.com" target="_blank">国产精品久久久久aaaa九色</a>| <a href="http://wwwavzz.com" target="_blank">亚洲主播在线播放</a>| <a href="http://actskynet.com" target="_blank">欧美一区二区三区的</a>| <a href="http://jiajianpei.com" target="_blank">亚洲精品小视频在线观看</a>| <a href="http://44ie.com" target="_blank">欧美永久精品</a>| <a href="http://www473333.com" target="_blank">欧美日韩一区二区在线观看视频</a>| <a href="http://4r6b.com" target="_blank">久久精品女人天堂</a>| <a href="http://choaoxing.com" target="_blank">欧美三级电影一区</a>| <a href="http://86808a.com" target="_blank">久久永久免费</a>| <a href="http://127mingdao.com" target="_blank">国产综合视频</a>| <a href="http://91mdtv.com" target="_blank">午夜久久tv</a>| <a href="http://479n.com" target="_blank">亚洲午夜极品</a>| <a href="http://www-q28.com" target="_blank">欧美国产精品久久</a>| <a href="http://www23sds.com" target="_blank">欧美成人激情视频</a>| <a href="http://598327.com" target="_blank">有码中文亚洲精品</a>| <a href="http://www22336.com" target="_blank">欧美在线视频一区二区三区</a>| <a href="http://ykk7.com" target="_blank">国产精品99久久久久久久vr </a>| <a href="http://xinghejiuye.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://avtt59999.com" target="_blank">亚洲国产你懂的</a>| <a href="http://xuduoshu.com" target="_blank">午夜在线精品</a>| <a href="http://wwww999.com" target="_blank">久久精品人人爽</a>| <a href="http://www-833898.com" target="_blank">国产一区二区三区四区五区美女</a>| <a href="http://wwwhhh396.com" target="_blank">日韩一级黄色大片</a>| <a href="http://wilcherish.com" target="_blank">国产精品三级视频</a>| <a href="http://www433ad.com" target="_blank">99精品国产高清一区二区</a>| <a href="http://223533.com" target="_blank">亚洲精品欧洲精品</a>| <a href="http://pigkrtv.com" target="_blank">免费成人在线视频网站</a>| <a href="http://226600b.com" target="_blank">亚洲国产精品尤物yw在线观看</a>| <a href="http://www48929.com" target="_blank">国产欧美日韩在线播放</a>| <a href="http://csjtzn.com" target="_blank">亚洲茄子视频</a>| <a href="http://9931111.com" target="_blank">亚洲人www</a>| <a href="http://sdkingpin.com" target="_blank">美女久久一区</a>| <a href="http://haomscq.com" target="_blank">亚洲欧洲午夜</a>| <a href="http://689992.com" target="_blank">国产欧美精品一区</a>| <a href="http://jxjx11.com" target="_blank">久久夜色撩人精品</a>| <a href="http://phdy999.com" target="_blank">亚洲精品影院在线观看</a>| <a href="http://6567ya.com" target="_blank">亚洲欧洲99久久</a>| <a href="http://jobmrleehxx.com" target="_blank">影音先锋亚洲精品</a>| <a href="http://rezel-zj.com" target="_blank">欧美国产三级</a>| <a href="http://mm778899.com" target="_blank">性久久久久久</a>| <a href="http://zyjzz.com" target="_blank">欧美激情精品久久久久久蜜臀 </a>| <a href="http://dtwave-ind.com" target="_blank">久久亚洲高清</a>| <a href="http://www-44469.com" target="_blank">亚洲欧美精品一区</a>| <a href="http://hellomusiczone.com" target="_blank">影音先锋亚洲视频</a>| <a href="http://simextec.com" target="_blank">国产精品乱码一区二区三区 </a>| <a href="http://9966k.com" target="_blank">亚洲国产精品专区久久 </a>| <a href="http://www-5013.com" target="_blank">欧美一站二站</a>| <a href="http://798200.com" target="_blank">一区二区日韩</a>| <a href="http://toomicsvip.com" target="_blank">亚洲国产毛片完整版</a>| <a href="http://by5263.com" target="_blank">国模精品一区二区三区</a>| <a href="http://wwwsao117.com" target="_blank">欧美午夜宅男影院</a>| <a href="http://667939.com" target="_blank">欧美精品一级</a>| <a href="http://avtaobao7788.com" target="_blank">欧美美女bbbb</a>| <a href="http://91x8.com" target="_blank">欧美日韩一区二区三</a>| <a href="http://seanzhau.com" target="_blank">老司机67194精品线观看</a>| <a href="http://88844401.com" target="_blank">久久久久综合一区二区三区</a>| <a href="http://zhaosaofu.com" target="_blank">亚洲一区二区三区四区五区黄 </a>| <a href="http://6966g.com" target="_blank">久久婷婷丁香</a>| <a href="http://k68c.com" target="_blank">欧美国产在线视频</a>| <a href="http://bnb-gndc.com" target="_blank">免费成人av</a>| <a href="http://emu160.com" target="_blank">欧美国产视频一区二区</a>| <a href="http://448968.com" target="_blank">欧美性大战久久久久久久蜜臀</a>| <a href="http://477980.com" target="_blank">牛牛影视久久网</a>| <a href="http://236664.com" target="_blank">欧美精品自拍偷拍动漫精品</a>| <a href="http://hu62.com" target="_blank">欧美成人午夜激情</a>| <a href="http://681656.com" target="_blank">免费精品视频</a>| <a href="http://678255.com" target="_blank">免费的成人av</a>| <a href="http://gzhachi.com" target="_blank">日韩一级欧洲</a>| <a href="http://5yy6.com" target="_blank">欧美一区二区在线播放</a>| <a href="http://287677.com" target="_blank">麻豆精品精品国产自在97香蕉</a>| <a href="http://5858yp.com" target="_blank">欧美aaa级</a>| <a href="http://www-49386.com" target="_blank">欧美日韩精品一本二本三本</a>| <a href="http://592xyy.com" target="_blank">国产午夜亚洲精品不卡</a>| <a href="http://329374.com" target="_blank">亚洲精品国产欧美</a>| <a href="http://9906w.com" target="_blank">亚洲在线免费</a>| <a href="http://yys4.com" target="_blank">久久蜜桃精品</a>| <a href="http://www-3121.com" target="_blank">亚洲另类一区二区</a>| <a href="http://whmingtong.com" target="_blank">亚洲女性喷水在线观看一区</a>| <a href="http://www23sds.com" target="_blank">久久er99精品</a>| <a href="http://caoxiu33.com" target="_blank">欧美精品色综合</a>| <a href="http://527937.com" target="_blank">国产麻豆一精品一av一免费</a>| <a href="http://a6a3.com" target="_blank">伊人成人在线</a>| <a href="http://2502255.com" target="_blank">亚洲自拍电影</a>| <a href="http://hhjc7.com" target="_blank">亚洲国产精品v</a>| <a href="http://tavbao.com" target="_blank">欧美资源在线</a>| <a href="http://jqnyc.com" target="_blank">国产精品乱子久久久久</a>| <a href="http://bodabloc.com" target="_blank">亚洲大片精品永久免费</a>| <a href="http://wyy66.com" target="_blank">性色一区二区三区</a>| <a href="http://yssnlp.com" target="_blank">亚洲电影免费观看高清</a>| <a href="http://www8xvi.com" target="_blank">午夜免费在线观看精品视频</a>| <a href="http://y65o.com" target="_blank">欧美成人免费网</a>| <a href="http://5555547.com" target="_blank">国内揄拍国内精品少妇国语</a>| <a href="http://7755cc.com" target="_blank">午夜一区二区三区不卡视频</a>| <a href="http://shaijia123.com" target="_blank">91久久精品一区</a>| <a href="http://6w7y.com" target="_blank">免费日本视频一区</a>| <a href="http://yckjwb.com" target="_blank">国内综合精品午夜久久资源</a>| <a href="http://avtt0.com" target="_blank">欧美黄色日本</a>| <a href="http://www446168.com" target="_blank">一区二区三区在线不卡</a>| <a href="http://ycpeixun.com" target="_blank">亚洲在线1234</a>| <a href="http://710191.com" target="_blank">欧美性猛交xxxx乱大交蜜桃</a>| <a href="http://域名" target="_blank">亚洲日本一区二区三区</a>| <a href="http://725443.com" target="_blank">在线观看91精品国产麻豆</a>| <a href="http://www-888690.com" target="_blank">亚洲神马久久</a>| <a href="http://musicshq.com" target="_blank">亚洲在线成人</a>| <a href="http://s3yx.com" target="_blank">欧美日韩一区二区国产</a>| <a href="http://shalxee.com" target="_blank">亚洲电影观看</a>| <a href="http://7234hh.com" target="_blank">黄色欧美日韩</a>| <a href="http://www16axax.com" target="_blank">欧美在线看片</a>| <a href="http://26thb.com" target="_blank">久久在线视频</a>| <a href="http://airsixth.com" target="_blank">在线午夜精品自拍</a>| <a href="http://9885888.com" target="_blank">亚洲一区二区三区午夜</a>| <a href="http://sdluliang.com" target="_blank">国产精品成人一区二区三区夜夜夜</a>| <a href="http://o10669.com" target="_blank">日韩亚洲精品电影</a>| <a href="http://aberyco.com" target="_blank">香蕉久久夜色精品国产</a>| <a href="http://www-11688.com" target="_blank">国产日韩精品一区观看</a>| <a href="http://92y5.com" target="_blank">久久久久久网站</a>| <a href="http://ybshg.com" target="_blank">亚洲国产精品久久久久婷婷884 </a>| <a href="http://by274.com" target="_blank">牛牛国产精品</a>| <a href="http://25axxa.com" target="_blank">久久久精品国产99久久精品芒果</a>| <a href="http://nnnn34.com" target="_blank">六十路精品视频</a>| <a href="http://118017.com" target="_blank">欧美在线关看</a>| <a href="http://sdgs6788.com" target="_blank">国产精品高潮呻吟</a>| <a href="http://88xjj.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>