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

正文內(nèi)容

計(jì)算機(jī)圖形學(xué)cgppt課件-在線瀏覽

2025-06-20 07:08本頁面
  

【正文】 ( 1)截去超出部分,設(shè)置為最大值 ( 2)首先計(jì)算出所有亮度值, 再進(jìn)行變換(如縮放變換) 使其落在系統(tǒng)規(guī)定范圍之內(nèi) ???????minisidpiaa NHKNLKIdfIKI i1])()([)( ??????20 簡單光照模型 OpneGL光照函數(shù) ( 1) OpenGL 光組成 在 OpenGL簡單光照模型中的幾種光分為:環(huán)境光 (Ambient Light)、漫射光 (Diffuse Light)、鏡面光 (Specular Light)。其中第一個(gè)參數(shù) light指定所創(chuàng)建的光源號,如 GL_LIGHT0、 GL_LIGHT ...、GL_LIGHT7。最后一個(gè)參數(shù)設(shè)置相應(yīng)的光源特性值。如果光照無效,則只是簡單地將當(dāng)前顏色映射到當(dāng)前頂點(diǎn)上去,不進(jìn)行法向、光源等復(fù)雜計(jì)算,那么顯示的圖形就沒有真實(shí)感 ? 要使光照有效,首先得啟動(dòng)光照,即: glEnable(GL_LIGHTING)。 ? 然后,必須使所定義的每個(gè)光源有效。 其它光源類似,只是光源號不同而已 23 簡單光照模型 ( 4)例:簡單光照 include gl/ include GL/ pragma ment (lib,) void myinit(void) { GLfloat light_position[] = { , , , }。 glLightfv(GL_LIGHT0, GL_POSITION, light_position)。 glLightfv(GL_LIGHT0, GL_DIFFUSE, light_color)。 glEnable(GL_LIGHTING)。 glEnable(GL_DEPTH_TEST)。 auxSolidSphere()。 } 24 簡單光照模型 void myReshape(int w, int h) { glViewport(0, 0, w, h)。 glLoadIdentity()。 else glOrtho (*(GLfloat)w/(GLfloat)h, *(GLfloat)w/(GLfloat)h, , , , )。 glLoadIdentity()。 glutInitWindowSize (250, 250)。 glutCreateWindow (Simple Lighting)。 glutReshapeFunc (myReshape)。 glutMainLoop()。 一、定義聚光源位置。 如: GLfloat light_position[]={,}。 27 簡單光照模型 二、定義聚光截止角 參數(shù) GL_SPOT_CUTOFF給定光錐的軸與中 心線的夾角,也可 說成是光錐頂角的一半。 一般在聚光啟動(dòng)情況下,聚光截止角限制在 [,] 之間,如下面一行代碼設(shè)置截止角為 45度: glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,)。聚光方向也要進(jìn)行幾何變換,其結(jié)果保存在視點(diǎn)坐標(biāo)中。 glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION, spot_direction)。如: glLightf(GL_LIGHT0,GL_SPOT_EXPONENT,)。 GLfloat mat_diffuse[]= { , , , }。 GLfloat mat_shininess[] = { }。 GLfloat light0_position[] = { , , , }。 GLfloat light1_diffuse[]= { , , , }。 GLfloat light1_position[] = { , , , }。 glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient)。 glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular)。 // 轉(zhuǎn)下頁 30 簡單光照模型 //接上頁 glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse)。 glLightfv(GL_LIGHT1, GL_AMBIENT, light1_ambient)。 glLightfv(GL_LIGHT1, GL_SPECULAR,light1_specular)。 glLightf (GL_LIGHT1, GL_SPOT_CUTOFF, )。 glEnable(GL_LIGHTING)。 glEnable(GL_LIGHT1)。 glEnable(GL_DEPTH_TEST)。 glPushMatrix()。//光源 1位置 glDisable (GL_LIGHTING)。 auxWireCube ()。 glPopMatrix ()。 glFlush()。 glMatrixMode(GL_PROJECTION)。 if (w = h) glOrtho (, , *(GLfloat)h/(GLfloat)w, *(GLfloat)h/(GLfloat)w, , )。 glMatrixMode(GL_MODELVIEW)。 } void main(void) { glutInitDisplayMode (GLUT_SINGLE GLUT_RGBA)。 glutInitWindowPosition (300, 300)。 myinit()。 glutDisplayFunc(display)。 } 33 第 11章 真實(shí)感圖形的繪制 ?簡單光照模型 ?多邊形繪制方法 ?紋理映射 ?陰影 34 多邊形繪制方法 均勻著色 (Flat Shading) ? 方法 ?任取多邊形上一點(diǎn),利用光照明方程計(jì)算出它的顏色 ?用這個(gè)顏色填充整個(gè)多邊形 ? 適合于如下情況 ?光源在無窮遠(yuǎn)處, LN 相等 ?多邊形是物體表面的精確表示 ? 特點(diǎn) ?優(yōu)點(diǎn):每個(gè)多邊形只需計(jì)算一次光照明方程,速度快 ?缺點(diǎn):相鄰多邊形顏色過渡不光滑 35 多邊形繪制方法 光滑著色( Smooth Shading) ? 采用插值方法 ? Gouraud(高洛德 )方法 ? 用多邊形頂點(diǎn)的顏色進(jìn)行插值生成中間點(diǎn)的顏色 ? Phone(馮 )方法 ? 對頂點(diǎn)的法向量進(jìn)行插值計(jì)算出中間點(diǎn)的法向量 36 多邊形繪制方法 Gouraud 著色方法(顏色插值方法) 主要步驟 計(jì)算多邊形的單位法向量 計(jì)算多邊形頂點(diǎn)的單位法向量(共享頂點(diǎn)的多邊形法向量的平均值) 利用光照明方程計(jì)算頂點(diǎn)顏色 對多邊形頂點(diǎn)顏色進(jìn)行雙線性插值,獲得多邊形內(nèi)部各點(diǎn)的顏色 37 多邊形繪制方法 ( 1)計(jì)算多邊形頂點(diǎn)的單位法 向 量 近似取頂點(diǎn) v的法向量為共享該頂點(diǎn)的多邊形單位法向量的平均值 ?????niiniivNNN1138 多邊形繪制方法 ( 2)內(nèi)部點(diǎn)顏色計(jì)算:雙線性插值 已知 P1( x1, y1)、 P2(x2, y2)、 P3(x3, y3),顏色分別為 I I2和 I3?;静襟E如下: 一、定義紋理; 二、控制濾波; 三、說明映射方式; 四、激活紋理; 五、繪制圖形,即給出頂點(diǎn)的紋理坐標(biāo)和幾何坐標(biāo)。 52 紋理映射 一、定義紋理 二維紋理定義的函數(shù): void glTexImage2D(GLenum target, GLint level, Glint ponents, GLsizei width, glsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixe
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1