==========================================================================
make
make install
You'll get the library + osgCalViewer, which can be used to view models, meshes and animations.
I hope it will work :)
Some preliminary version features:
- Works under OSG 1.9.x.
- Uses GLSL hardware skinning, yet supporting OSG picking.
- Can be swiched to fixed function implementation.
- Supports normal mapped, two-sided & transparent meshes.
- Uses different shaders (with minimum of instructions) for different materials.
- Calculates deformations only when bone positions are changed.
- Uses non-skinning shader for fast drawing of non-deformed meshes.
June 1, 2005
osgCal2 0.2.1 released! The previous file was wrong, use this new version. I forgot also to mention that it has Jan Ciger's changes, to improve rendering code and state management.
June 1, 2005
osgCal2 0.2.0 released! Download it here. It's ported to OSG 0.9.9 and Cal3D 0.10.0. Other changes include:
- Fixed the problem with flip textures.
- Fixed initial time values for the animations.
- Fixed problem with the new empty constructor of Model class.
- New method to load animations and associate one name to save and recover them later.
- New code for read/write animations with its name associated.
- Fixed the problem of locate textures in the correct path, now the .osg model can find them.
======================================================================
照舊的無關內容
轉眼兩個周沒有寫了。。。最近過的真的挺混亂的。。
生活總是需要一些主旋律的東西,這個周主要在忙Gait & posture的論文的事情。。基本把整個來龍去脈理清楚了。。主要是在Biomechanics和Graphics兩個領域在做的工作。。。不過發現,盡管理論上科研工作者都喜歡精確復雜的模型,但實際中,很多工程人員都是用比較簡單的模型,盡管簡單模型中存在著很多很多的缺點。。。
在Gait event中的這個例子體現的比較明顯,很顯然Graphics領域已經把這個問題研究到極點了。。已經沒有剩余的可以修改了,最多就是修修補補之類的工作。但在Biomechanics中,這個問題大家都在討論著Graphics中十年前的水平。。。當然他們加了很多改進,不過那些所謂的改進也都是十分直觀的。。。
或許是兩種不同行業的吧,Biomechanics側重于分析,而Graphics側重于視覺效果。這或許也是我不贊成在關鍵幀中進行插值的原因。interpolation可以再Graphics中大行其道,在Biomechanics是絕對不允許的,他直接破壞了數據的真實性,其實是一種不負責任的態度。
這個周都在搞這個。。。然后去了一次康復醫院,對整個設備有一個大體的了解。然后周六請大學同學吃飯,出來混,大家變換還都不大,畢竟都在讀研呢。。。。感覺挺開心的。貌似那個風波莊還算是挺便宜的啦。。。
上周,復習最優化算法的考試,然后整Summer的圖形學,然后不知道了。。。這兩個周,基本上每天都會跟師兄們dota。。。唉,墮落呀。。。這個也就是個消遣主要的東西不要忘記了。。
然后師兄們上個周,所里博士開題,做什么事情都要自己清醒,搞清楚自己是干嘛的,為什么要干,前因后果的想清楚了。。。這些是很重要的。
下個周,貌似要開始搞我的圖形學的Project和n個作業了,numerical analysis等等。。。各種事情,提高效率!
在進入DIV1之后,連跌兩次。。。暈啊。。。
之前看到一篇文章,很是透徹厲害:
侃侃樣條、小波與細分
臨近畢業前,曾在此版由感而寫文 侃侃計算數學。時光飛逝,轉眼已有一年半有余,我的研究領域也發生了較大的變化。每每翻看雜志,看到以前熟悉領域的論文、看到一個個熟悉的作者,便產生莫名奇妙的親切感。親切歸親切,卻也沒有再返回的想法。一人獨坐進餐時,卻突然想起研究這個領域多年的感受與認識。不妨寫下,更多的是希望寫三者之間的關聯,而不是單純詳細介紹其中一個,一來是為了紀念一個陪伴我多年的領域,二來希望能給后來者一些借鑒。也希望能和同行交流、切磋。
先侃樣條(spline)。大凡對數學的美感興趣的人,也許對樣條的興趣不是很大。因為它給人的感覺過于人為化。然而,對其接觸多之后,我感覺事情并不是這樣的,spline函數有著很美的一面。
也許人們會想起泛函分析里面對樣條函數的一個解釋:一個變分方程的極小解。這也許就是樣條函數名稱的由來。這個解釋固然重要,但卻不夠美。因為這個解是近似下得到的。“近似”兩個字將美的感覺破壞無疑。
我們看另外一個解釋。試想,給你一個立方體,你能從里邊看出什么來?我們初中的時候就知道,立方體6個面、8個頂點,12條邊。其它呢?似乎沒有。但事情并不是這樣的,我們可以從里面看出一個2次B樣條函數。為說明這個事情,我們不妨簡化,看能否從一個正方形中看出一個1次B樣條函數。我們想象,直線沿著與正方形的一條對角線平行的方向運動,那么,它落在正方形內的線段長度如何變化呢?很容易看到,先為0,后線性增加,當與對角線重合時最大,隨后下降,逐漸變為0。這個線段長度的變化函數就是一個1次B樣條函數。如果我們將正方形換為正立方體,將直線換為平面,那么我們就得到2次B樣條函數。如此,就能得到任意次B樣條函數。單位立方體蘊含B樣條函數!這是一個非常奇特的事情,可惜,能了解并可欣賞這件事情的人并不是很多。一般的書里面,對這件事情是絕口不提的。但我卻認為,這是樣條函數最美的解釋。上世紀四十年代,Schoenberg 提出樣條函數非常重要的四種觀點,卻唯獨沒有單位立方體投影的觀點。而這種觀點也沒有很好的發展,很多時候只是當作一個向入門的人演示的東西。這是很遺憾的。
做博士論文時,在純粹數學美的召喚下,曾經用B樣條函數對組合、數論中的線性丟番圖方程組做了一些研究。后來,發現與人交流時,對方總是不解地問:樣條函數與組合怎么會有關系?于是,我想到了一個解釋:樣條函數可以看作凸多面體的投影,而凸多面體可以看作線性方程組的解空間,因此,這種關聯是自然的。聽者似乎馬上明白。我對這個解釋也自鳴得意了一陣。而后來逐漸發現,這個解釋,對于樣條與組合關聯而言,也許真的是本質的。
如今,樣條函數在CAGD、小波及其它領域中均有了很好的應用。我想,一個非常重要的原因就是因為它有了一個很好的基底:B樣條基底。
樣條函數始于40年代,到70年代與80年代初期,其研究達到高潮。而隨之取代的可能是小波(wavelet)。一般工科研究人員,他可能沒聽說過上同調、切從甚至同胚。但大多數卻聽說過小波,并試圖接近它。小波在短短十幾年時間發展到如此地步,確實令人吃驚。而從事相關研究的人員,卻往往為數學領域里面被引用次數最高的人員。單純從數學角度而言,小波對數學最重要的一個貢獻也許就是給出了L_2空間局部正交基底。但真正把小波炒熱的卻是工程人員,人們瘋狂的試圖將其用到各自的領域。
小波與樣條有著天然的血緣關系,這種天然的紐帶是在何處建立的呢?我覺得,恰好是雙尺度方程。小波基底的建立,需要一個滿足雙尺度方程的函數。而B樣條函數恰好滿足這種雙尺度方程。于是,二者的聯姻便在情理之中。如今,關于樣條與小波的論文浩如煙海。我想,把握住了這根線,想掌握這個方向就容易多了。當然滿足雙尺度方程的函數并不是B樣條函數一個,我們可以構造出很多。不幸的是,除了B樣條函數,其它的似乎均不能寫出解析表達形式,雖然它們有各種各樣的級數定義方式。如今,小波的研究給人感覺到了強弩之末,但余勁似乎仍然悠長..........
細分(subdivision)作為CAGD中獨立的領域,時間并不是很久。其最初引起人的注意,應該是在小波中。我們說過,一般滿足雙尺度方程的函數是寫不出解析表達形式的,細分便成了建構這些函數的有力工具,如著名的Daubechies 正交小波基底也可以說是通過細分方式得到的。在幾何造型中,細分也是一種很重要的方法。但其細分格式的建立往往依賴于Box樣條函數(B樣條函數的高維推廣),因為Box樣條滿足雙尺度方程,而雙尺度方程的可以提供很好的細分格式。有趣的是,反過來說,我們計算B樣條的算法卻往往來源于細分。因此,spline, wavelet 和 subdivision演出了相互關聯,不能割舍,又互相制約的三國演義!
如今,小波研究的一個熱點是試圖構造任意三角剖分下小波基底,而我們不能成功的原因,可以說是缺少任意三角剖分下subdivision 好的格式。如果我們能發現這種格式,也就能構造出任意三角剖分下B樣條基底。反之,如果我們有任意三角剖分下B樣條基底,就能構造出任意三角剖分下細分格式,相應的就會有小波基底。所以,三者的研究是相互牽扯的,任意一個方向的進展,都可能導出另外兩個方向的進展。
更進一步,球面及任意流行上基底的構造亦是如此!