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

正文內(nèi)容

計(jì)算機(jī)圖形學(xué)cgppt課件-文庫吧資料

2025-05-09 07:08本頁面
  

【正文】 ?簡單光照模型 ?多邊形繪制方法 ?紋理映射 ?陰影 44 紋理映射 ? 背景 ? 光照模型只能生成光滑的物體表面 ? 自然界中的物體表面具有豐富的細(xì)節(jié),如木紋、桔子凹凸表面、沙礫路面 ? 豐富的表面細(xì)節(jié)難以用計(jì)算機(jī)圖形方法生成 ? 采用將圖片貼到物體表面上的方法繪制 櫻桃木 桔子凹凸面 沙礫路面 45 紋理映射 ? 紋理( Texture) ? 紋理是物體表面的細(xì)小結(jié)構(gòu),它可以是光滑表面的花紋、圖案,即顏色紋理 (2D) ? 紋理也可以是物體表面的三維結(jié)構(gòu) ? 紋理還可以是粗糙的表面 (如桔子表面的皺紋 ),稱為幾何紋理,是基于物體表面的微觀幾何形狀的表面紋理 46 紋理映射 ? 紋理(續(xù)) ? 紋理空間:紋理圖案所在空間,記為 st坐標(biāo)系(一般是平面) ? 紋素( texel):紋理最小單元,位置由紋理坐標(biāo)( s, t)標(biāo)識 ? 兩種來源 ? 數(shù)字圖像,用二維數(shù)組表示 ? 數(shù)學(xué)公式定義得紋理函數(shù) 47 紋理映射 ? 紋理映射( Texture Mapping) ? 將一塊紋理圖案映射到物體表面上,產(chǎn)生物體表面的細(xì)節(jié) ? 顏色計(jì)算方法 ?用表面上點(diǎn)對應(yīng)的紋素值代替該點(diǎn)的漫反射系數(shù) ?紋理與物體表面的對應(yīng)關(guān)系 ? 紋理坐標(biāo): s, t變化范圍 [0,1] ??????????????????????????????????22110021010tsctsbtsatscbacbacPbPaPP,P T 48 紋理映射 ? 實(shí)例:圓柱面映射 圓柱面上的點(diǎn) 對應(yīng)的紋理坐標(biāo) hhyts23 6 0??? /?s t y x z 22 hyhryryP???? )co s,s i n(),( ???r h 49 紋理映射 ? 實(shí)例:球面映射 θ和 ψ變化范圍分別 [0,360]和 [90,90] (1) (2)球面垂直向外映射到柱面上,再將柱面展開到矩形上 2123 6 0 ????? s i n, ts211 8 03 6 0 ????? ts ,)c osc os,s i n,c oss i n(),( ??????? rrrP ?50 紋理映射 ? 實(shí)例:圓環(huán)面映射 R是環(huán)的主半徑, r是次半徑; θ和 ψ變化范圍 [0,360] )c os)c os(,s i n,s i n)c os((),( ??????? rRrrRP ???360360?? ?? ts ,R r 對應(yīng)的紋理坐標(biāo) 51 紋理映射 ? OpenGL函數(shù) ? 紋理映射是一個(gè)相當(dāng)復(fù)雜的過程,最基本的執(zhí)行紋理映射所需的步驟。N 相等 ?視點(diǎn)在無窮遠(yuǎn)處, H glutMainLoop()。 glutReshapeFunc (myReshape)。 glutCreateWindow (Multi_lights)。 glutInitWindowSize (250, 250)。 glLoadIdentity()。 else glOrtho (*(GLfloat)w/(GLfloat)h, *(GLfloat)w/(GLfloat)h, , , , )。 glLoadIdentity()。 } 32 簡單光照模型 void myReshape(GLsizei w, GLsizei h) { glViewport(0, 0, w, h)。 auxSolidSphere()。//繪制光源 1 glEnable (GL_LIGHTING)。 glColor3f (, , )。 glTranslated (, , )。 } 31 簡單光照模型 void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)。 glDepthFunc(GL_LESS)。 glEnable(GL_LIGHT0)。 glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, spot_direction)。 glLightfv(GL_LIGHT1, GL_POSITION,light1_position)。 glLightfv(GL_LIGHT1, GL_DIFFUSE, l ight1_diffuse)。 glLightfv(GL_LIGHT0, GL_POSITION,light0_position)。 glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess)。 glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse)。 GLfloat spot_direction[]={ ,}。 GLfloat light1_specular[] = { , , , }。 GLfloat light1_ambient[]= { , , , }。 GLfloat light0_diffuse[]= { , , , }。 GLfloat mat_specular[] = { , , , }。 29 簡單光照模型 ( 6)例:多光源 include GL/ include GL/ pragma ment (lib,) /* 初始化光源、材質(zhì)等 */ void myinit(void) { GLfloat mat_ambient[]= { , , , }。 四、定義聚光指數(shù) 參數(shù) GL_SPOT_EXPONENT控制光的集中 程度,光錐中心的光強(qiáng)最大,越靠邊的光強(qiáng)越小, 缺省時(shí)為 0。 定義如下: GLfloat spot_direction[]={, , , 1}。 28 簡單光照模型 三、定義聚光方向 聚光方向決定光錐的軸,它齊次坐標(biāo)定義,其缺省值為 (, ), 即指向 Z負(fù)軸。 缺省時(shí),這個(gè)參數(shù)為 ,即頂角為 360度, 光向所有的方向發(fā)射,因此聚光關(guān)閉。 glLightfv(GL_LIGHT0,LIGHT_POSITION, light_position)。 因?yàn)榫酃庠匆彩嵌ㄏ蚬庠矗? 所以他的位置同一般定向光一樣。 } 26 簡單光照模型 ( 5)聚光 定位光源可以定義成聚光燈形式,即將光的形狀限制在一個(gè)圓錐內(nèi)。 glutDisplayFunc(display)。 myinit()。 glutInitWindowPosition (300, 300)。 } 25 簡單光照模型 void main(void) { glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB)。 glMatrixMode(GL_MODELVIEW)。 if (w = h) glOrtho (, , *(GLfloat)h/(GLfloat)w, *(GLfloat)h/(GLfloat)w, , )。 glMatrixMode(GL_PROJECTION)。//繪制球體 glFlush()。 } void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)。 glEnable(GL_LIGHT0)。 glLightfv(GL_LIGHT0, GL_SPECULAR, light_color)。 glLightfv(GL_LIGHT0, GL_AMBIENT, light_color)。 GLfloat light_color[] = { , , , }。 g
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1