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

Heath's Blog

There is no end, it is just the beginning! - A Game Developer's Notes

修正D3DXQuaternionSquad不能正確處理反向Quaternions的BUG

微軟DX庫里提供了對Quaternion進(jìn)行球面四邊形內(nèi)插的接口,能夠在多個Quaternion之間平滑插值。這里涉及到兩個接口:

void D3DXQuaternionSquadSetup(
  __out  D3DXQUATERNION *pAOut,
  __out  D3DXQUATERNION *pBOut,
  __out  D3DXQUATERNION *pCOut,
  __in   const D3DXQUATERNION *pQ0,
  __in   const D3DXQUATERNION *pQ1,
  __in   const D3DXQUATERNION *pQ2,
  __in   const D3DXQUATERNION *pQ3
);
D3DXQUATERNION* D3DXQuaternionSquad(
  __inout  D3DXQUATERNION *pOut,
  __in     const D3DXQUATERNION *pQ1,
  __in     const D3DXQUATERNION *pA,
  __in     const D3DXQUATERNION *pB,
  __in     const D3DXQUATERNION *pC,
  __in     FLOAT t
);
其中,D3DXQuaternionSquadSetup用于返回內(nèi)插的控制點。它們具體的實現(xiàn)公式和用法,有興趣的同學(xué)可以參考MSDN。在此需要說明的是,
D3DXQuaternionSquad使用了Slerp作為內(nèi)部實現(xiàn),會導(dǎo)致在兩個夾角為180°左右的Quaternion之間插值會出現(xiàn)斷裂的問題。下面代碼通過
實現(xiàn)一個考慮了上述情況的Slerp版本,在q1和q2夾角在0°或者180°時,使用線性內(nèi)插而非球面,來解決該問題。
  1. Quaternion QuatSlerpNoInvert(const Quaternion& q1 , const Quaternion& q2 , float t)
  2. {
  3. ????float cosAngle = DotProduct(q1, q2);
  4.  
  5. ????float c1, c2;
  6. ????// Linear interpolation for close orientations
  7. ????if ((1.0f - fabs(cosAngle)) < 1e-5f)
  8. ????{
  9. ????????c1 = 1.0f - t;
  10. ????????c2 = t;
  11. ????}
  12. ????else
  13. ????{
  14. ????????// Spherical interpolation
  15. ????????float angle????= acos(fabs(cosAngle));
  16. ????????float sinAngle = sin(angle);
  17. ????????c1 = sin(angle * (1.0f - t)) / sinAngle;
  18. ????????c2 = sin(angle * t) / sinAngle;
  19. ????}
  20.  
  21. ????Quaternion q = q1 * c1 + q2 * c2;
  22. ????q.Normalize();
  23.  
  24. ????return q;
  25. }
  26.  
  27. Quaternion QuatSquad(const Quaternion& p1 , const Quaternion& p2 , const Quaternion& p3 , const Quaternion& p4 , float t)
  28. {
  29. ????static Quaternion a , b , c;
  30.  
  31. ????D3DXQuaternionSquadSetup((D3DXQUATERNION*)&a , (D3DXQUATERNION*)&b , (D3DXQUATERNION*)&c ,
  32. ????????(D3DXQUATERNION*)&p1 , (D3DXQUATERNION*)&p2 , (D3DXQUATERNION*)&p3 , (D3DXQUATERNION*)&p4);
  33.  
  34. ????return QuatSlerpNoInvert(QuatSlerpNoInvert(p2 , c , t) , QuatSlerpNoInvert(a , b , t) , 2 * t * (1-t));
  35. }

 

參考:

[1] http://msdn.microsoft.com/en-us/library/bb205419(v=vs.85).aspx

[2] http://msdn.microsoft.com/en-us/library/bb205420(v=vs.85).aspx

posted on 2011-08-21 22:16 Heath 閱讀(2332) 評論(0)  編輯 收藏 引用 所屬分類: Game Development

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久综合一区二区三区| 在线观看不卡av| 亚洲一级一区| 亚洲一区二区精品视频| aa成人免费视频| 一区二区成人精品 | 亚洲黄一区二区| 久久久精品一区二区三区| 久久久青草青青国产亚洲免观| 久久久久久久欧美精品| 嫩草国产精品入口| 亚洲精选一区二区| 性伦欧美刺激片在线观看| 久久久久久9| 欧美另类高清视频在线| 国产精品乱人伦一区二区 | 99re6热只有精品免费观看| 欧美日韩综合在线| 国产人久久人人人人爽| 亚洲大片在线观看| 一区二区免费在线视频| 久久精品国产视频| 欧美激情一区二区久久久| 日韩一级免费| 欧美一区二区三区视频在线观看| 久久精品一区四区| 欧美日本精品在线| 国产综合婷婷| 亚洲色图自拍| 久久影院午夜论| 99视频国产精品免费观看| 久久精彩免费视频| 欧美日韩中文在线| 国产女主播一区二区| 久久久水蜜桃| 国产亚洲精品bt天堂精选| 欧美日韩一区国产| 久久综合激情| 麻豆乱码国产一区二区三区| 亚洲欧美另类综合偷拍| 久久久久久久高潮| 欧美在现视频| 欧美freesex交免费视频| 国产精品wwwwww| 激情成人亚洲| 亚洲人线精品午夜| 性色一区二区| 亚洲欧洲一区| 久久久蜜桃精品| 欧美午夜剧场| 日韩一区二区精品葵司在线| 亚洲欧美第一页| 亚洲国产精品悠悠久久琪琪| 亚洲免费视频观看| 免费不卡欧美自拍视频| 国产精品久久久久影院色老大| 亚洲国产精品免费| 欧美+亚洲+精品+三区| 性欧美videos另类喷潮| 欧美色另类天堂2015| 国内精品福利| 久久成年人视频| 欧美日韩国产不卡| 欧美日韩亚洲国产精品| 亚洲欧美日韩一区二区| 欧美日韩综合视频网址| 久久久人成影片一区二区三区观看| 欧美日韩三级电影在线| 亚洲高清一区二区三区| 国产在线不卡视频| 中文久久精品| 99视频精品免费观看| 欧美日本国产| 亚洲一级一区| 亚洲网站啪啪| 欧美激情第4页| 亚洲精品视频在线播放| 欧美性做爰毛片| 亚洲深夜影院| 亚洲欧美国产精品va在线观看| 亚洲午夜精品久久久久久app| 国产一区二区黄| 中文亚洲视频在线| 国产日韩欧美中文| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲综合视频一区| 在线视频欧美日韩精品| 亚洲综合999| 亚洲午夜三级在线| 欧美成人a视频| 亚洲一区二区三区四区在线观看| 久久综合九色综合欧美狠狠| 鲁大师影院一区二区三区| 欧美成人高清视频| 午夜免费在线观看精品视频| 欧美午夜电影在线观看| 99精品国产一区二区青青牛奶| 亚洲伊人伊色伊影伊综合网| 亚洲第一毛片| 国产情侣久久| 久久久久久亚洲精品不卡4k岛国| 99视频一区二区| 麻豆精品传媒视频| 亚洲国产综合在线| 欧美日韩国产bt| 欧美精品一区二区三区视频| 久久综合给合| 欧美网站在线| 极品日韩av| 亚洲一区久久| 亚洲电影自拍| 亚洲欧美国产制服动漫| 久久婷婷丁香| 中文在线一区| 91久久极品少妇xxxxⅹ软件| 久久婷婷丁香| 亚洲一区视频在线| 欧美在线一区二区三区| 亚洲午夜久久久| 亚洲免费观看视频| 在线看片欧美| 日韩午夜一区| 亚洲欧美视频在线观看| 欧美影视一区| 男同欧美伦乱| 亚洲三级免费观看| 亚洲色诱最新| 欧美在线1区| 欧美另类一区| 国产乱码精品一区二区三区av| 国产一区二区三区精品久久久| 伊人男人综合视频网| 亚洲精品国产系列| 国产午夜亚洲精品不卡| 亚洲手机成人高清视频| 亚洲精品一区中文| 在线视频一区观看| 国际精品欧美精品| 久久精品欧洲| 亚洲美女诱惑| 亚洲国产精品一区二区第四页av| 99国产精品自拍| 一区在线观看视频| 欧美专区日韩视频| 久久国产精彩视频| 欧美中文字幕在线播放| 久久精品国产v日韩v亚洲| 亚洲男人第一av网站| 欧美午夜精品一区| 夜夜精品视频一区二区| 一本色道综合亚洲| 欧美日韩亚洲一区二区三区| 亚洲国产综合91精品麻豆| 亚洲欧洲一二三| 欧美精品在线视频| 亚洲人成网站影音先锋播放| 日韩视频―中文字幕| 欧美久久电影| 中文亚洲欧美| 久久久久中文| 亚洲日本在线观看| 欧美日韩精品免费观看视频| 日韩写真视频在线观看| 亚洲一区二区四区| 国产精品99久久久久久有的能看| 亚洲在线网站| 国产亚洲欧美中文| 久久免费视频在线观看| 亚洲国产精品一区制服丝袜| 国产精品99久久久久久久vr| 国产精品亚洲аv天堂网| 欧美在线观看视频一区二区三区| 美女国产一区| aa日韩免费精品视频一| 国产精品久久久久久五月尺 | 亚洲一区二区三区国产| 亚洲男同1069视频| 亚洲精品专区| 欧美一区二区网站| 亚洲成人在线视频网站| 欧美aa在线视频| 亚洲午夜在线观看| 欧美成人亚洲成人| 亚洲一区在线播放| 亚洲成色精品| 国产精品理论片| 免费在线欧美视频| 亚洲欧美日韩在线观看a三区 | 亚洲欧美日韩区| 亚洲级视频在线观看免费1级| 国产精品爱啪在线线免费观看 | 免费亚洲网站| 亚洲图中文字幕| 欧美成人资源| 久久精品二区三区| 亚洲一区二区三区在线观看视频 | 国产一二精品视频| 国产精品久久激情| 欧美日韩ab| 欧美精品久久久久久久久老牛影院 |