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

Code Knight

Programming is so cool
隨筆 - 52, 文章 - 0, 評論 - 14, 引用 - 0
數據加載中……

昏頭!被Intersect折騰了半天!

          D3D中的PICK例程中有這樣的一個檢測函數,檢測拾取,具體原理網上有很多,自己改了一下,卻掉了兩個重要的東西,不過還不是很明白是怎么一回事!修改我射線起始點的坐標有何用呢?
         
  1 BOOL IntersectTest(LPDIRECT3DVERTEXBUFFER9 pVB,
  2                    LPDIRECT3DINDEXBUFFER9 pIB,
  3                    int nStride,
  4                    int dwNumFaces,
  5                    D3DXVECTOR3* vPickRayOrig,
  6                    D3DXVECTOR3* vPickRay,
  7                    D3DXVECTOR3 *pVRet,
  8                    DWORD dwFlag=0// 主要檢測與地形相交 // 此函數相當耗費CPU// 生成地形有13W個面,逐一檢查是否相交
  9 {
 10     WORD*        pIndices;
 11     BYTE*        pVertices;
 12     D3DINDEXBUFFER_DESC IB_Desc;
 13 
 14     FLOAT fBary1, fBary2,fDist=1e+32f;
 15 
 16     FLOAT t_fBary1, t_fBary2,t_fDist;
 17     DWORD dwFace=-1;
 18     DWORD  dwUpperLower;    
 19 
 20     D3DXVECTOR3* pV[3];
 21     ULONG  n;
 22 
 23     pIB->GetDesc(&IB_Desc); 
 24     pIB->Lock( 00, (void**)&pIndices, 0 );
 25     pVB->Lock( 00, (void**)&pVertices,0 );
 26 
 27 
 28     for( DWORD i=0; i<dwNumFaces; i++ )
 29     {
 30         for(int j=0;j<3;j++)
 31         {
 32             if(IB_Desc.Format==D3DFMT_INDEX16)            
 33                 n=(WORD)pIndices[3*i+j];
 34             else if(IB_Desc.Format==D3DFMT_INDEX32)        
 35                 n=*(DWORD*)&pIndices[2*(3*i+j)];
 36             else 
 37                 return FALSE;
 38             pV[j]=(D3DXVECTOR3*)(pVertices+nStride*n); 
 39         }
 40 
 41         dwUpperLower=0;
 42 
 43          if(dwFlag) // 這段是必須要的,具體是怎么做到的?
 44          {
 45              if(dwFlag & INTERSECT_NEGATIVEY) 
 46              {
 47                 for(int j=0;j<3;j++)
 48                 {
 49                     dwUpperLower|=vPickRayOrig->x>pV[j]->x? 0x0010:0x0001
 50                     dwUpperLower|=vPickRayOrig->z>pV[j]->z? 0x1000:0x0100
 51 
 52                 }
 53                 if(dwUpperLower!=0x1111continue;        
 54             }
 55             else if(dwFlag & INTERSECT_HORIZENTAL) 
 56             {
 57                 for(int j=0;j<3;j++)
 58                 {
 59                     dwUpperLower|=(vPickRayOrig->> pV[j]->y)? 0x0010:0x0001;
 60                 }
 61 
 62                 if(dwUpperLower!=0x0011continue;    
 63             }
 64 
 65 
 66         }
 67 
 68 
 69 
 70         // 檢測是否穿過三角形
 71         if( IntersectTriangle( *vPickRayOrig, *vPickRay, *pV[0], *pV[1], *pV[2],
 72             &t_fDist, &t_fBary1, &t_fBary2 ) )
 73         {
 74             if(    t_fDist < fDist )    //是否返回最近的一個點
 75             {
 76                 dwFace = i;
 77                 fBary1 = t_fBary1;
 78                 fBary2 = t_fBary2;
 79                 fDist  = t_fDist;
 80             }
 81         }
 82     }
 83     
 84 
 85     if(dwFace<dwNumFaces && dwFace>=0 )
 86     {
 87 
 88         for(int j=0;j<3;j++)
 89         {
 90             if(IB_Desc.Format==D3DFMT_INDEX16)            
 91                 n=(WORD)pIndices[3*dwFace +j];
 92             else if(IB_Desc.Format==D3DFMT_INDEX32)        
 93                 n=*(DWORD*)&pIndices[2*(3*dwFace+j)];
 94             else 
 95                 return FALSE;
 96             pV[j]=(D3DXVECTOR3*)(pVertices+nStride*n);
 97         }
 98         *pVRet=*pV[0+fBary1*(*pV[1]-*pV[0])+fBary2*(*pV[2]-*pV[0]);  
 99 
100 
101         pVB->Unlock();
102         pIB->Unlock();
103         return 1;
104     }
105 
106 
107     pVB->Unlock();
108     pIB->Unlock();
109 
110 
111 
112     return 0;
113 }
另一個問題,大規模的地形一般如何最大程度的優化避免對所有的面進行檢測?用LOD么?

posted on 2009-02-11 17:41 Code Knight 閱讀(386) 評論(0)  編輯 收藏 引用 所屬分類: 圖形學

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            免费久久99精品国产自在现线| 欧美亚洲日本一区| 欧美aa国产视频| 久久精品亚洲精品| 久久最新视频| 欧美大片一区二区| 欧美色图一区二区三区| 欧美日韩视频一区二区| 国产精品v欧美精品v日韩| 国产精品免费福利| 国产婷婷色综合av蜜臀av| 激情av一区二区| 亚洲精品综合久久中文字幕| 一区二区激情| 久久久免费av| 亚洲欧洲在线播放| 亚洲一区二区三区精品动漫| 亚洲欧美综合网| 免费美女久久99| 国产精品人人爽人人做我的可爱| 国产综合香蕉五月婷在线| 国内自拍亚洲| 亚洲一区二区在线看| 久久久国产精品一区二区三区| 嫩模写真一区二区三区三州| 亚洲国产二区| 亚洲综合国产| 欧美不卡在线视频| 国产三区精品| 一区二区三区精品视频| 久久久久久免费| 亚洲精品午夜| 久久一区精品| 国产手机视频精品| 亚洲少妇在线| 亚洲国产女人aaa毛片在线| 亚洲欧美激情四射在线日 | 亚洲区国产区| 久久久五月婷婷| 国产欧美精品久久| 亚洲欧美激情一区| 日韩天天综合| 欧美日韩国产综合视频在线| 亚洲区免费影片| 欧美大学生性色视频| 亚洲欧美日韩在线| 国产精品色网| 午夜宅男欧美| 中日韩美女免费视频网址在线观看| 久热精品视频在线免费观看| 国产一区二区三区精品久久久| 亚洲欧美日韩精品久久奇米色影视 | 99国产精品99久久久久久| 久热精品视频| 欧美在线视频观看| 国产亚洲精品久久飘花| 欧美在线999| 亚洲欧美美女| 国产私拍一区| 欧美综合国产| 亚洲欧美自拍偷拍| 国内一区二区在线视频观看| 久久久久久亚洲精品不卡4k岛国| 午夜影院日韩| 黄色在线一区| 欧美激情精品久久久六区热门| 免费看的黄色欧美网站| 亚洲精品在线免费| 日韩一级精品| 国产精品午夜在线观看| 久久精品国产精品亚洲精品| 欧美亚洲色图校园春色| 永久555www成人免费| 欧美国产日韩亚洲一区| 日韩系列欧美系列| 99精品视频免费| 国产精品高潮呻吟久久| 欧美一二三区精品| 欧美在线视屏| 亚洲欧洲一区二区三区在线观看| 亚洲黄页一区| 国产毛片一区| 欧美激情一二区| 国产精品进线69影院| 久久精品视频va| 欧美电影在线播放| 午夜国产欧美理论在线播放| 欧美在线视频一区| 亚洲精品中文字幕在线| 亚洲一区精品在线| 亚洲国产精品一区二区三区| 99国产一区| 国产一区自拍视频| 日韩一级片网址| 国产综合激情| 亚洲巨乳在线| **欧美日韩vr在线| 亚洲视频在线看| 亚洲国内在线| 羞羞视频在线观看欧美| 亚洲每日在线| 久久久久久亚洲精品不卡4k岛国| 日韩一级免费观看| 久久精品国产亚洲5555| 亚洲午夜av| 欧美好骚综合网| 久久综合九色综合网站 | 国产在线日韩| 亚洲一区二区三区四区中文| 亚洲高清三级视频| 欧美一区二区三区免费在线看| 一本久久综合| 老司机67194精品线观看| 久久激情综合网| 国产精品久久久久高潮| 亚洲国产高清一区| 在线精品福利| 久久精品成人| 久久精品二区| 国产网站欧美日韩免费精品在线观看 | 国产亚洲日本欧美韩国| 亚洲美女在线看| 99国产精品| 欧美激情性爽国产精品17p| 免费成人在线视频网站| 国产婷婷色综合av蜜臀av | 欧美成人一二三| 在线播放亚洲| 久久亚洲精选| 欧美电影资源| 在线观看一区| 久久亚洲高清| 欧美成人中文字幕| 亚洲国产美女久久久久| 久久在线视频| 狠狠操狠狠色综合网| 欧美中文字幕在线视频| 国产精品第一页第二页第三页| 亚洲国产综合视频在线观看| 亚洲国产精品一区二区三区| 久久综合久久综合九色| 欧美成人综合| 亚洲美女免费视频| 欧美日韩精品是欧美日韩精品| 亚洲人成网站色ww在线| 日韩一级黄色av| 欧美三日本三级少妇三2023 | 久久综合久久综合久久综合| 国内精品久久久久伊人av| 欧美在线视频二区| 欧美高清不卡| 亚洲私人影院在线观看| 国产精品久久久亚洲一区| 小嫩嫩精品导航| 免费亚洲一区二区| 99国产麻豆精品| 国产精品美女在线| 欧美在线黄色| 欧美激情在线| 午夜性色一区二区三区免费视频| 国产一区二区电影在线观看| 久久亚洲视频| 妖精成人www高清在线观看| 亚洲欧美www| 激情久久中文字幕| 欧美精品福利在线| 亚洲欧美日韩国产中文| 欧美不卡在线| 亚洲欧美成人网| 亚洲电影自拍| 国产精品普通话对白| 另类人畜视频在线| 亚洲一级电影| 亚洲国产精品女人久久久| 亚洲欧美中文字幕| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品v欧美精品v日本精品动漫 | 久久精品视频导航| 亚洲人成亚洲人成在线观看图片| 国产精品v欧美精品∨日韩| 久久深夜福利| 欧美亚洲免费电影| 一区二区三区欧美视频| 欧美大色视频| 久久精品综合一区| 亚洲线精品一区二区三区八戒| 永久域名在线精品| 国产区二精品视| 欧美肉体xxxx裸体137大胆| 久久婷婷一区| 久久久久国产免费免费| 亚洲欧美日产图| 99精品久久免费看蜜臀剧情介绍| 欧美成人免费网站| 免费亚洲婷婷| 久久人人精品| 久久精品欧美日韩精品| 亚洲女人天堂成人av在线| 一本久道综合久久精品| 亚洲精品日日夜夜|