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

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成人免费观看| 日韩亚洲精品电影| 欧美日韩精品是欧美日韩精品| 中文精品视频| 国产精自产拍久久久久久| 亚洲在线第一页| 久久精品国产精品亚洲综合| 亚洲欧美日韩在线观看a三区| 国产视频一区二区在线观看| 免费永久网站黄欧美| 久久久国产一区二区三区| 久热精品视频在线免费观看| 亚洲综合三区| 日韩西西人体444www| 麻豆精品视频在线观看| 亚洲一区二区黄色| 国产一区二区三区无遮挡| 久久躁日日躁aaaaxxxx| 一区二区三区色| 亚洲国产精品电影在线观看| 亚洲欧美日韩人成在线播放| 99在线精品免费视频九九视| 国产精品日韩在线| 嫩草伊人久久精品少妇av杨幂| 亚洲欧美中文日韩在线| 99精品国产热久久91蜜凸| 久久人人爽爽爽人久久久| 亚洲伊人观看| 亚洲伊人色欲综合网| 欧美三级免费| 美女性感视频久久久| 欧美gay视频| 久久精品日韩一区二区三区| 亚洲女性裸体视频| 日韩午夜三级在线| 久久精品一二三区| 欧美在线视频一区二区| 香蕉尹人综合在线观看| 国产精品v一区二区三区| 99日韩精品| 亚洲黄色成人久久久| 久久精品国产2020观看福利| 午夜精品视频在线观看一区二区| 亚洲视频1区| 欧美日本中文字幕| 国产精品视频网| 国产精品亚洲产品| 国产精品高潮呻吟| 一区二区三区导航| 欧美综合国产| 久久久久久999| 久久综合九色欧美综合狠狠| 久热这里只精品99re8久| 久久一区二区三区国产精品| 美女精品一区| 亚洲视频播放| 欧美一区二区三区男人的天堂| 久久精品国产亚洲一区二区| 国产精品视频久久久| 在线观看欧美| 亚洲日本va午夜在线电影| 亚洲理论在线| 亚洲精品色婷婷福利天堂| 亚洲国产成人在线视频| 欧美一级理论性理论a| 久久中文久久字幕| 一本色道久久综合精品竹菊| 亚洲国产精品ⅴa在线观看 | 亚洲激情一区| 久久久在线视频| 国模精品一区二区三区| 亚洲女女女同性video| 久久夜色精品国产噜噜av| 一本大道av伊人久久综合| 欧美波霸影院| 亚洲黄网站黄| 麻豆精品网站| 久久噜噜噜精品国产亚洲综合 | 亚洲主播在线播放| 久久久噜噜噜久久狠狠50岁| 国产拍揄自揄精品视频麻豆| 先锋影音网一区二区| 在线性视频日韩欧美| 欧美激情综合色综合啪啪| 一区二区三欧美| 亚洲精品欧美一区二区三区| 一区二区三区回区在观看免费视频| 欧美日韩播放| 国产精品久久看| 小处雏高清一区二区三区| 欧美激情视频一区二区三区免费| 久热精品视频在线| 久久亚洲精品一区| 欧美偷拍另类| 亚洲婷婷综合色高清在线 | 日韩午夜电影av| 香蕉免费一区二区三区在线观看 | 亚洲视频1区| 久久女同精品一区二区| 亚洲欧美日韩另类| 国产美女精品视频免费观看| 久久精品99无色码中文字幕| 欧美va亚洲va日韩∨a综合色| 亚洲国内自拍| 欧美诱惑福利视频| 久久久久久久久蜜桃| 亚洲国产精品一区二区第一页| 亚洲国产一区二区三区a毛片| 欧美日韩一区二区在线视频| 亚洲精品欧美一区二区三区| 久久久国产一区二区| 欧美激情精品| 翔田千里一区二区| 久久综合中文字幕| 亚洲一二三级电影| 欧美电影资源| 性欧美xxxx大乳国产app| 欧美伊人久久久久久久久影院 | 亚洲国产高清aⅴ视频| 欧美.www| 亚洲欧美视频在线观看视频| 久久精品国产一区二区电影| 亚洲深夜福利网站| 久久精品人人| 亚洲视频在线二区| 久久美女性网| 久久精品欧美日韩| 亚洲成色www8888| 欧美另类极品videosbest最新版本| 亚洲午夜视频在线| 欧美一区二区三区在线视频| 91久久久亚洲精品| 午夜老司机精品| 亚洲精品综合| 亚洲日本中文字幕| 欧美精品日韩一区| 久久在线播放| 国产精品国产三级国产a| 美女视频网站黄色亚洲| 欧美日韩免费网站| 亚洲欧美日韩国产| 欧美/亚洲一区| 亚洲一区三区视频在线观看| 久久爱www.| 一区二区三区四区五区精品视频| 香蕉成人啪国产精品视频综合网| 久久精品免费| 国产精品毛片va一区二区三区| 亚洲大片一区二区三区| 尤妮丝一区二区裸体视频| 亚洲天堂成人| 亚洲九九九在线观看| 久久精品色图| 一区二区三区精品久久久| 欧美.www| 欧美粗暴jizz性欧美20| 国产精品日韩欧美| 另类国产ts人妖高潮视频| 久久久精品动漫| 亚洲美女网站| 一区二区日韩精品| 久久精品亚洲一区二区| 欧美日韩在线不卡一区| 亚洲啪啪91| 久久国产精品久久精品国产| av不卡在线看| 国产精品久久国产愉拍| 亚洲国产精品成人久久综合一区 | 亚洲综合精品自拍| 欧美日韩中文字幕综合视频| 国模精品娜娜一二三区| 欧美国产日本| 欧美日韩在线一区二区| 毛片一区二区| 国产精品嫩草99av在线| 欧美日本免费| 性做久久久久久久久| 中日韩男男gay无套 | 六月天综合网| 最新日韩在线视频| 久久久精品一区| 亚洲图中文字幕| 国产乱理伦片在线观看夜一区| 欧美一级日韩一级| 久久最新视频| 亚洲日本一区二区三区| 欧美三级韩国三级日本三斤| 亚洲一区二区三区影院| 久久成人av少妇免费| 一区二区三区在线观看国产| 香蕉成人久久| 一区二区三区欧美| 麻豆91精品| 一区二区三区四区五区在线| 国产精品成人久久久久| 久久久久久69| 99精品免费网| 午夜在线不卡| 亚洲精品中文字幕女同| 国产精品一区二区三区久久久|