freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opengl的粒子系統(tǒng)——模擬火焰-資料下載頁(yè)

2024-11-07 08:38本頁(yè)面

【導(dǎo)讀】此次課程設(shè)計(jì)的課題為通過(guò)編程,實(shí)現(xiàn)火焰的繪制。實(shí)現(xiàn)交互控制火焰顏。色、火焰燃燒方向、貼圖形狀,通過(guò)實(shí)驗(yàn)得到火焰貼圖大小與火焰效果的關(guān)系,并給出代碼和結(jié)果截圖。本學(xué)期系統(tǒng)學(xué)習(xí)了《計(jì)算機(jī)圖形學(xué)》這門專業(yè)課,在學(xué)期期末按課程要求進(jìn)行實(shí)驗(yàn)。構(gòu)造復(fù)雜的物體,為自然現(xiàn)象的造型提供了強(qiáng)有力的技術(shù)手段。能力和團(tuán)隊(duì)合作能力。于物體的總體形態(tài)和特征的動(dòng)態(tài)變化。把物體定義為許多不規(guī)則、隨機(jī)分布的粒子,且每個(gè)粒子均。有一定的生命周期。隨著時(shí)間的推移,舊的粒子不斷消失(死亡),新的粒子不斷加入(生長(zhǎng))。粒子的這種出生、成長(zhǎng)、衰老、死亡的過(guò)程,能夠較好的反應(yīng)模糊物體的動(dòng)態(tài)特征。第一步產(chǎn)生5000個(gè)新粒子,他們的每個(gè)粒子都有生命周期為2;第二步根據(jù)情況更新,遞減一個(gè)隨機(jī)的時(shí)間步;第三步檢查粒子的生命期,若為零,則將粒子從系統(tǒng)中刪除;particle[loop].fade=float/+;//消失速度(隨機(jī))。particle[loop].x+=particle[loop].xi/;//X的坐標(biāo)隨X軸速度變化

  

【正文】 float y=particle[loop].y。 float z=particle[loop].z+zoom。 glColor4f(particle[loop].r,particle[loop].g,particle[loop].b,particle[loop].life)。 glBegin(GL_TRIANGLE_STRIP)。 glTexCoord2d(1,1)。 glVertex3f(x+,y+,z)。 glTexCoord2d(0,1)。 glVertex3f(,y+,z)。 glTexCoord2d(1,0)。 glVertex3f(x+,z)。 glTexCoord2d(0,0)。 glVertex3f(,z)。 glEnd()。 particle[loop].x+=particle[loop].xi/(slowdown*1050)。 //X 的坐標(biāo)隨 X 軸速度變化 particle[loop].y+=particle[loop].yi/(slowdown*1050)。 particle[loop].z+=particle[loop].zi/(slowdown*1050)。 particle[loop].xi+=particle[loop].xg。 // X 軸 的速度隨 X 軸的加速度變化 particle[loop].yi+=particle[loop].yg。 particle[loop].zi+=particle[loop].zg。 particle[loop].life=particle[loop].fade。 // 周期衰減 if (particle[loop].life) { particle[loop].life=。 particle[loop].fade=float(rand()%100)/+。 particle[loop].x=。 particle[loop].y=。 particle[loop].z=。 particle[loop].xi=float((rand()%60))。 particle[loop].yi=float((rand()%60))。 particle[loop].zi=float((rand()%60))。 particle[loop].r=colors[col][0]。 //渲染 particle[loop].g=colors[col][1]。 //渲染 particle[loop].b=colors[col][2]。 //渲染 particle[loop].xg=xg1。 particle[loop].yg=yg1。 particle[loop].zg=。 } } } glutSwapBuffers()。 } void MainMenuHandler(int option) //定義主菜單功能 { switch(option) { case 0: { exit(0)。 LoadGLTextures()。 } break。 case 1: { col=1。 } break。 case 2: { col=2。 }break。 default: break。 } glutPostRedisplay()。 } void MenuHandler() // 主菜單 { int mainMenu。 mainMenu = glutCreateMenu(MainMenuHandler)。 glutSetMenu(mainMenu)。 glutAddMenuEntry(Exit, 0)。 glutAddMenuEntry(bright blue, 1)。 glutAddMenuEntry(croci, 2)。 glutAttachMenu(GLUT_RIGHT_BUTTON)。 } void keyboard(unsigned char key,int x,int y) //定義鍵盤功能 { switch(key) { case 39。q39。: { col=3。 //xg1+=。 glutPostRedisplay()。 //重繪函數(shù) } break。 case 39。w39。: { col=4。 // yg1+=。 glutPostRedisplay()。 } break。 case 39。a39。: { col=5。 // xg1=。 glutPostRedisplay()。 }break。 case 39。s39。: { col=6。 //yg1=。 glutPostRedisplay()。 } break。 case 39。z39。: { col=7。 glutPostRedisplay()。 } break。 default: break。 } } int main(int argc, char* argv[]) { glutInit(amp。argc,argv)。 glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH)。 glutInitWindowSize(500,650)。 glutInitWindowPosition(800,50)。 glutCreateWindow(****Flame****)。 InitGL()。 glutReshapeFunc(ReSizeGLScene)。 glutDisplayFunc(DrawGLScene)。 glutIdleFunc(DrawGLScene)。 MenuHandler()。 glutKeyboardFunc(keyboard)。 glutMainLoop()。 return 0。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1