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

正文內(nèi)容

游戲編程技術(shù)-i3d編程ppt-wenkub

2022-10-31 13:48:40 本頁面
 

【正文】 etLight() ? { //創(chuàng)建一個白色的平行光 ? D3DLIGHT9 light。pVertices, 0 )。 ? vertices2[i].normal = D3DXVECTOR3( , , )。 //點 B的坐標(biāo) ? vertices2[0].normal = D3DXVECTOR3( , , )。 ? memcpy( pVertices, vertices1, sizeof(vertices1) )。m_pVB1, NULL )。 i++) ? { //計算頂點序列 C C2 ... ... C C1的坐標(biāo)和法線 ? float theta = (i1)*12*D3DX_PI/180。 ? vertices1[0].position = D3DXVECTOR3( , , )。 ? define D3DFVF_CUSTOMVERTEX2 (D3DFVF_XYZ | D3DFVF_NORMAL) ? void SetupMatrices()。 //頂點法線 ? }。 ? 由于使用燈光照明,還需要提供頂點法線:對于圓錐曲面, A的頂點法線取 X軸的負(fù)方向,即矢量{ 1,0, 0}, C1至 C30的頂點法線取有向線段 BCk,矢量為{ 0, sinθk, sinθk};對于圓錐底面,頂點法線都設(shè)為 X軸的正方向,矢量為{ 1, 0, 0}。 考慮到圓錐曲面展開后為一個扇面 , 所以圖元格式采用三角扇形 , 而底面是一個圓 ,也采用三角扇形 , 取圓錐外表面做圖元的正面 。 A為圓錐的頂點 , B為底面的圓心 , 把底面分成 30等份 , 得到 30個分割點 C C2 ... ... C30, 則圓錐曲面的圖元所對應(yīng)的頂點序列為 A、 C C2 ... ... C C1, 共 32個頂點 ,注意在結(jié)尾處 C1點重復(fù)出現(xiàn)了一次 , 否則畫出的圓錐不完整 。請注意,在 Direct3D中,要求頂點法線為單位矢量。 ? define D3DFVF_CUSTOMVERTEX1 (D3DFVF_XYZ | D3DFVF_NORMAL) 5 ? //圓錐底面的 FVF格式:坐標(biāo)、頂點法線 ? struct CUSTOMVERTEX2 ? { ? D3DXVECTOR3 position。 ? LPDIRECT3DVERTEXBUFFER9 m_pVB1。 //點 A的坐標(biāo) ? vertices1[0].normal = D3DXVECTOR3( , , )。 ? vertices1[i].position = D3DXVECTOR3( , sin(theta), cos(theta) )。 ? void* pVertices。 ? m_pVB1Unlock()。 //點 B的法線矢量 ? for (i = 1。 ? } 9 ? //創(chuàng)建圓錐底面的頂點緩存區(qū),填入頂點數(shù)據(jù) ? m_pDeviceCreateVertexBuffer( ? sizeof(vertices2), 0, D3DFVF_CUSTOMVERTEX2, ? D3DPOOL_DEFAULT, amp。 ? memcpy( pVertices, vertices2, sizeof(vertices2) )。 ? ::ZeroMemory( amp。 = 。 //燈光的作用范圍 ? m_pDeviceSetLight( 0, amp。 ? } 12 ? void CD3DWnd::SetMaterial1() ? { ? //創(chuàng)建一個白色的材質(zhì) ? D3DMATERIAL9 mtrl。 ? = = 。mtrl )。 ? = = 。 ? m_pDeviceSetMaterial( amp。 //設(shè)置變換矩陣 ? SetLight()。 ? m_pDeviceDrawPrimitive( D3DPT_TRIANGLEFAN, 0, 30 )。 ? m_pDeviceDrawPrimitive( D3DPT_TRIANGLEFAN, 0, 30 )。這種方法的顯示效果最差,一般用在要求速度重于細(xì)節(jié)的場合 –?? 高洛德著色( Gouraud Shading),其顯示效果要好得多,它是游戲中使用最廣泛的一種著色算法。 ?雖然 Direct3D對紋理圖片的大小沒有限制 ,但為了程序的執(zhí)行效率 , 最好使用正方形圖片 , 而且邊長是 2的 n次方 , 比如 64 x 6 128 x 12 256 x 256等等 。 ? pdeviceSetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR )。 //運算對象 1:紋理 ? pdeviceSetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE)。 //頂點法線 ? float tu, tv。 ?vertices1[0].normal = D3DXVECTOR3( , , )。 i 32。 ? //計算頂點序列的紋理坐標(biāo) ? float m = sqrt(5)。 ? } 32 修改函數(shù) CD3DWnd::Render() 把紋理加入場景,并設(shè)置紋理的混合方式 33 Mesh模型 ?在前面的例程中 , 都是采用手工方法推導(dǎo)實體的幾何模型 , 對付簡單的應(yīng)用還行 ,如果場景復(fù)雜 , 涉及的實
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1