青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::

The solution is to enable depth-buffering but make the depth buffer read-only while drawing the 

translucent objects. First you draw all the opaque objects, with the depth buffer in normal operation. 

Then, you preserve these depth values by making the depth buffer read-only. When the translucent 

objects are drawn, their depth values are still compared to the values established by the opaque objects, 

so they aren't drawn if they're behind the opaque ones. If they're closer to the viewpoint, however, they 

don't eliminate the opaque objects, since the depth-buffer values can't change. Instead, they're blended 

with the opaque objects. To control whether the depth buffer is writable, use glDepthMask(); if you 

pass GL_FALSE as the argument, the buffer becomes read-only, whereas GL_TRUE restores the 

normal, writable operation. 

void GLWidget::paintGL() {

glLoadIdentity();

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

gluLookAt(0, 0, 8, 0, 0, 0, 0, 1, 0);

glPushMatrix();

{

glColor3f(1.0, 0.0f, 0.0f);

glTranslatef(0.0f, 0.0f, -1.0f);

this->drawCube(1.0f, 1.0f, 1.0f, 0.1f);

}

glPopMatrix();

glPushMatrix();

{

glColor3f(0.0, 0.0f, 1.0f);

glTranslatef(0.60f, 0.0f, -0.5f);

this->drawCube(1.0f, 1.0f, 1.0f, 0.1f);

}

glPopMatrix();

glPushMatrix();

{

glEnable(GL_BLEND);

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

glDepthMask(GL_FALSE);

glColor4f(0.0, 1.0f, 0.0f, 0.5f);

glTranslatef(0.20f, 0.0f, 0.0f);

this->drawCube(0.60f, 1.0f, 1.0f, 0.1f);

glDepthMask(GL_TRUE);

glDisable(GL_BLEND);

}

glPopMatrix();

}

void GLWidget::drawCube(GLfloat len, GLfloat xFactor, GLfloat yFactor,

GLfloat zFactor) {

GLfloat x = len * xFactor / 2;

GLfloat y = len * yFactor / 2;

GLfloat z = len * zFactor / 2;


// GLfloat p0[3] = { -x, -y, -z };

// GLfloat p1[3] = { x, -y, -z };

// GLfloat p2[3] = { x, y, -z };

// GLfloat p3[3] = { -x, y, -z };

// GLfloat p4[3] = { -x, -y, z };

// GLfloat p5[3] = { x, -y, z };

// GLfloat p6[3] = { x, y, z };

// GLfloat p7[3] = { -x, y, z };


glBegin(GL_QUADS);

{

// Draw left surface.

glNormal3f(-1.0f, 0.0f, 0.0f);

glVertex3f(-x, y, -z);

glVertex3f(-x, -y, -z);

glVertex3f(-x, -y, z);

glVertex3f(-x, y, z);


// Draw front surface.

glNormal3f(0.0f, 0.0f, 1.0f);

glVertex3f(-x, -y, z);

glVertex3f(x, -y, z);

glVertex3f(x, y, z);

glVertex3f(-x, y, z);


// Draw right surface.

glNormal3f(1.0f, 0.0f, 0.0f);

glVertex3f(x, -y, z);

glVertex3f(x, -y, -z);

glVertex3f(x, y, -z);

glVertex3f(x, y, z);


// Draw back surface.

glNormal3f(0.0f, 0.0f, -1.0f);

glVertex3f(x, y, -z);

glVertex3f(x, -y, -z);

glVertex3f(-x, -y, -z);

glVertex3f(-x, y, -z);


// Draw top surface.

glNormal3f(0.0f, 1.0f, 0.0f);

glVertex3f(x, y, z);

glVertex3f(x, y, -z);

glVertex3f(-x, y, -z);

glVertex3f(-x, y, z);


// Draw bottom surface.

glNormal3f(0.0f, -1.0f, 0.0f);

glVertex3f(-x, -y, -z);

glVertex3f(x, -y, -z);

glVertex3f(x, -y, z);

glVertex3f(-x, -y, z);

}

glEnd();


// glBegin(GL_QUADS);

// {

// // Draw left surface.

// glNormal3f(-1.0f, 0.0f, 0.0f);

// glVertex3fv(p3);

// glVertex3fv(p0);

// glVertex3fv(p4);

// glVertex3fv(p7);

//

// // Draw front surface.

// glNormal3f(0.0f, 0.0f, 1.0f);

// glVertex3fv(p4);

// glVertex3fv(p5);

// glVertex3fv(p6);

// glVertex3fv(p7);

//

// // Draw right surface.

// glNormal3f(1.0f, 0.0f, 0.0f);

// glVertex3fv(p5);

// glVertex3fv(p1);

// glVertex3fv(p2);

// glVertex3fv(p6);

//

// // Draw back surface.

// glNormal3f(0.0f, 0.0f, -1.0f);

// glVertex3fv(p2);

// glVertex3fv(p1);

// glVertex3fv(p0);

// glVertex3fv(p3);

//

// // Draw top surface.

// glNormal3f(0.0f, 1.0f, 0.0f);

// glVertex3fv(p6);

// glVertex3fv(p2);

// glVertex3fv(p3);

// glVertex3fv(p7);

//

// // Draw bottom surface.

// glNormal3f(0.0f, -1.0f, 0.0f);

// glVertex3fv(p0);

// glVertex3fv(p1);

// glVertex3fv(p5);

// glVertex3fv(p4);

// }

// glEnd();

}

 

 

posted on 2008-09-25 05:15 逛奔的蝸牛 閱讀(1099) 評論(1)  編輯 收藏 引用 所屬分類: OpenGL

評論

# re: OpenGL: Blend 2009-06-01 21:37 暗金裝備
先繪制全部的場景之后再繪制透明物體, 并且透明物體要按照相反的次序來繪制, 即先繪制最遠的物體.  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线亚洲欧美| 亚洲精品一区二区三区婷婷月| 欧美日韩视频在线观看一区二区三区| 亚洲欧美一级二级三级| 亚洲成人直播| 久久裸体艺术| 久久久久看片| 免费日韩成人| 亚洲国产欧美一区二区三区久久| 久久精品国产亚洲一区二区| 欧美综合国产| 免费观看国产成人| 欧美chengren| 亚洲人体偷拍| 亚洲欧美日韩综合aⅴ视频| 亚洲小说春色综合另类电影| 亚洲尤物视频在线| 久久高清一区| 欧美不卡福利| 欧美日韩亚洲不卡| 国产精品捆绑调教| 亚洲激情社区| 欧美一区二区在线播放| 久久久午夜视频| 亚洲日韩中文字幕在线播放| 中文日韩在线| 欧美激情一区二区三区在线| 欧美日韩综合一区| 亚洲国产日韩欧美在线99| 亚洲精品乱码久久久久久蜜桃91| 亚洲欧美日韩精品久久久久| 久久这里有精品15一区二区三区| 欧美va亚洲va香蕉在线| 一区二区三区四区在线| 嫩草伊人久久精品少妇av杨幂| 欧美三级电影大全| 国产一区二三区| 欧美精品午夜视频| 国产亚洲成精品久久| 中文精品99久久国产香蕉| 欧美大片91| 久久久夜精品| 亚洲国产精品国自产拍av秋霞| 久久精品国产第一区二区三区| 亚洲欧洲日本国产| 欧美国产视频在线| 日韩视频亚洲视频| 亚洲三级电影在线观看| 欧美日韩国产色视频| 亚洲国产日韩欧美在线图片| 久久精品人人| 久久女同互慰一区二区三区| 国产日韩欧美综合| 亚洲人成网站精品片在线观看 | 久久狠狠婷婷| 久久精品一区二区三区四区| 激情综合色丁香一区二区| 久久精品国产2020观看福利| 亚洲第一色中文字幕| 久久婷婷国产麻豆91天堂| 亚洲国产美国国产综合一区二区| 久久久777| 99国产精品视频免费观看一公开 | 欧美日韩国产精品专区| 亚洲伊人网站| 久久久精品动漫| 艳妇臀荡乳欲伦亚洲一区| 亚洲午夜电影| 性色av一区二区三区| 国内精品久久久久影院 日本资源| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲欧洲日本专区| 欧美系列亚洲系列| 亚洲国产第一页| 国产精品男女猛烈高潮激情| 欧美成人午夜激情| 国产一区二三区| 亚洲女同同性videoxma| 在线亚洲+欧美+日本专区| 欧美不卡三区| 亚洲国产日韩欧美在线图片| 在线播放不卡| 久久国产欧美日韩精品| 久久国产精品网站| 国产一区日韩一区| 欧美成人午夜激情视频| 亚洲欧洲日本在线| 亚洲一区国产精品| 国产精品乱码一区二三区小蝌蚪| 亚洲一区二区三区精品在线| 午夜国产精品视频免费体验区| 国产精品v一区二区三区| 亚洲欧美日韩电影| 免播放器亚洲一区| 99人久久精品视频最新地址| 欧美激情免费在线| 亚洲欧美日韩电影| 最新中文字幕亚洲| 久久精品网址| 亚洲欧洲一区二区三区在线观看| 久久伊人一区二区| 在线视频精品一| 樱桃国产成人精品视频| 麻豆国产va免费精品高清在线| 91久久在线观看| 久久久久久久综合日本| 一本色道久久综合| 亚洲第一福利在线观看| 国产精品私房写真福利视频| 你懂的视频一区二区| 新67194成人永久网站| 99精品欧美| 亚洲日本视频| 亚洲夫妻自拍| 欧美va天堂在线| 麻豆成人精品| 欧美91精品| 欧美成黄导航| 免费在线国产精品| 久久亚洲春色中文字幕久久久| 亚洲欧美日韩国产综合在线| 一本色道久久88亚洲综合88| 日韩视频亚洲视频| 亚洲午夜激情在线| 久久成人18免费网站| 性做久久久久久| 久久久激情视频| 美女视频网站黄色亚洲| 欧美大片专区| 亚洲精品一区二区三区蜜桃久 | 在线观看日韩国产| 亚洲国产91| 夜夜嗨av一区二区三区四区| 亚洲一区二区免费| 久久女同互慰一区二区三区| 牛牛国产精品| 亚洲欧美第一页| 欧美69视频| 国产亚洲女人久久久久毛片| 在线精品视频一区二区| 一区二区三区高清视频在线观看| 亚洲在线中文字幕| 激情成人中文字幕| 亚洲精品在线观看视频| 欧美一级大片在线免费观看| 欧美激情视频一区二区三区在线播放| 亚洲黄网站在线观看| 欧美一区二区三区男人的天堂| 美女诱惑黄网站一区| 国产主播喷水一区二区| 亚洲与欧洲av电影| 亚洲精品综合精品自拍| 麻豆九一精品爱看视频在线观看免费| 欧美人与性动交α欧美精品济南到| 国产色视频一区| 亚洲欧美在线网| 中文欧美字幕免费| 欧美视频在线观看视频极品 | 西西裸体人体做爰大胆久久久| 欧美激情在线| 亚洲综合国产激情另类一区| 亚洲国产欧美久久| 欧美理论视频| 亚洲一卡久久| 亚洲一区二区四区| 国内精品伊人久久久久av一坑| 欧美一级电影久久| 欧美在线观看日本一区| 极品日韩av| 日韩网站在线| 国产日本欧美视频| 欧美肥婆bbw| 欧美视频在线观看| 久久频这里精品99香蕉| 牛牛国产精品| 亚洲欧美日韩一区二区三区在线观看 | 欧美大片va欧美在线播放| 蜜臀av性久久久久蜜臀aⅴ| 日韩小视频在线观看| 亚洲欧美日韩精品久久久| 怡红院av一区二区三区| 一本色道久久综合亚洲精品高清| 一区二区三区av| 国产亚洲精品v| 亚洲天堂成人| 一区二区三区久久久| 久久久久久久999精品视频| 亚洲视频一区| 欧美精品国产精品| 欧美不卡高清| 极品尤物一区二区三区| 亚洲午夜精品国产| 亚洲免费在线| 欧美午夜在线| 一区二区三区四区精品| 亚洲日本一区二区| 欧美激情一级片一区二区| 欧美激情一区二区三区蜜桃视频| 国产精品高清一区二区三区| 一本色道久久99精品综合|