2008年6月16日 星期一
2008年6月15日 星期日
饒了我吧,ATi …
不知道各位有沒有注意到,FancyDesigner裡的鏡面反射效果是可以有巢狀反射的。什麼是巢狀反射呢?舉例來說,如果有一塊大理石地板反射了地板上的傢俱,而有一面鏡子又反射了這塊地板,則鏡子裡的地板也可以看到所反射的傢俱。
Ati的顯示卡:茶几下的木板周圍可看見明顯的鋸齒狀白邊
(按圖放大)
nVidia的顯示卡:一切正常
(按圖放大)
這種情況在現實生活中常見,不過虛擬實境裡可不容易達成。當然囉,咱們儒思科技的研發團隊照例是責無旁貸,拼了老命來完成這偉大的任務。(有點臉紅了 :P)
話說FancyDesigner團隊所獨家開發的巢狀鏡射演算法(Nest Reflection Algorithm)總算是不付所託,圓滿達成任務;不過為了兼顧效能上的考量,鏡射裡的影像是會出現鋸齒狀的,而這也是要求完美的我們心中的痛。
不過最近隨著顯示卡的效能越來越強,我們倒是想出了解決之道,所以現今的FancyDesigner版本已可在鏡射面裡呈現高畫質反鋸齒的影像。不過,問題可來了,採用新的做法之後,卻發現在ATi的顯示卡上居然會出現奇怪的白邊,我們接連更換了幾次ATi的驅動程式都沒有用,而在nVidia的顯示卡上卻一切正常。唉,這可真是令人喪氣呀!據我推測,應該是ATi為了在反鋸齒(Anti-Aliasing)上取得較好的效能,而出現的錯誤。
ATi與nVidia這兩家公司我可是看著他們成長茁壯的,看著他們這十幾年來如何在3D晶片的市場攻城掠地的。nVidia的3D晶片一向在效能上較為突出,想當年,我還曾經以nVidia的TNT2顯示卡與SGI的Indigo2繪圖工作站做過一場慘烈的對比。結果售價高達一百多萬台幣的Indigo2竟然在效能上慘敗給當時售價僅有8仟多台幣的TNT2顯示卡。至於ATi方面,雖然早期在與nVidia的競爭上,效能並非總是能佔有什麼優勢,不過在畫質上的表現卻是令人印象深刻。特別是在全景反鋸齒(Full Scene Anti-Aliasing)上的表現,即使打開了高達6倍取樣的反鋸齒效果,在效能上的影響並不明顯。所以以往我都會跟人客推薦採用ATi的顯示卡。
不過,看來這次我們算是無意間踩到ATi的痛腳了,當Back Buffer與Render Target同使採用反鋸齒時,竟然會出現明顯的鋸齒狀白邊,而如果所採用的取樣倍數不一致,則下場更慘,連整個Back Buffer的Background color都會被改掉,而且整個Back Buffer都會呈現不堪的白邊鋸齒狀。看來,還是nVidia比較遵循著D3D的規則來發展,不僅畫面一切正常,而且畫質與效能也相當不錯。
不過雖然這是人家驅動程式的瑕疵,但是我們總不能要每個使用者都換用nVidia的顯示卡呀!所以囉,幾經琢磨之下,目前我已經想到了解決之道來避開ATi的這隻臭蟲,只是行不行得通還得實際去測試才知道,各位看倌就敬候佳音吧!
Ati的顯示卡:茶几下的木板周圍可看見明顯的鋸齒狀白邊
(按圖放大)

nVidia的顯示卡:一切正常
(按圖放大)

這種情況在現實生活中常見,不過虛擬實境裡可不容易達成。當然囉,咱們儒思科技的研發團隊照例是責無旁貸,拼了老命來完成這偉大的任務。(有點臉紅了 :P)
話說FancyDesigner團隊所獨家開發的巢狀鏡射演算法(Nest Reflection Algorithm)總算是不付所託,圓滿達成任務;不過為了兼顧效能上的考量,鏡射裡的影像是會出現鋸齒狀的,而這也是要求完美的我們心中的痛。
不過最近隨著顯示卡的效能越來越強,我們倒是想出了解決之道,所以現今的FancyDesigner版本已可在鏡射面裡呈現高畫質反鋸齒的影像。不過,問題可來了,採用新的做法之後,卻發現在ATi的顯示卡上居然會出現奇怪的白邊,我們接連更換了幾次ATi的驅動程式都沒有用,而在nVidia的顯示卡上卻一切正常。唉,這可真是令人喪氣呀!據我推測,應該是ATi為了在反鋸齒(Anti-Aliasing)上取得較好的效能,而出現的錯誤。
ATi與nVidia這兩家公司我可是看著他們成長茁壯的,看著他們這十幾年來如何在3D晶片的市場攻城掠地的。nVidia的3D晶片一向在效能上較為突出,想當年,我還曾經以nVidia的TNT2顯示卡與SGI的Indigo2繪圖工作站做過一場慘烈的對比。結果售價高達一百多萬台幣的Indigo2竟然在效能上慘敗給當時售價僅有8仟多台幣的TNT2顯示卡。至於ATi方面,雖然早期在與nVidia的競爭上,效能並非總是能佔有什麼優勢,不過在畫質上的表現卻是令人印象深刻。特別是在全景反鋸齒(Full Scene Anti-Aliasing)上的表現,即使打開了高達6倍取樣的反鋸齒效果,在效能上的影響並不明顯。所以以往我都會跟人客推薦採用ATi的顯示卡。
不過,看來這次我們算是無意間踩到ATi的痛腳了,當Back Buffer與Render Target同使採用反鋸齒時,竟然會出現明顯的鋸齒狀白邊,而如果所採用的取樣倍數不一致,則下場更慘,連整個Back Buffer的Background color都會被改掉,而且整個Back Buffer都會呈現不堪的白邊鋸齒狀。看來,還是nVidia比較遵循著D3D的規則來發展,不僅畫面一切正常,而且畫質與效能也相當不錯。
不過雖然這是人家驅動程式的瑕疵,但是我們總不能要每個使用者都換用nVidia的顯示卡呀!所以囉,幾經琢磨之下,目前我已經想到了解決之道來避開ATi的這隻臭蟲,只是行不行得通還得實際去測試才知道,各位看倌就敬候佳音吧!
2008年6月14日 星期六
又要馬兒跑,又要馬兒不吃草
看到有這麼多的FancyDesigner愛用者,心裡實在是高興!
不過嘛,有越來越多的使用者抱怨,當場景變大時,執行的速度也會越來越慢!
人客呀,這是當然的嘛!無論如何,場景總不可能無限制的擴充下去呀!場景裡的東西如果越來越多,越來越複雜,執行速度當然會越來越慢的嘛!
不過話雖如此,我也知道使用者就是因為喜歡FancyDesigner,才會有如此期盼的。
好吧,即使不是十分合理,我還是希望能寵寵使用者,讓他們真的能在兼顧畫質之下,擁有更大更複雜的場景。
這個問題到底該怎麼解呢?看來應該可以從遮蔽物的觀念來下手。無論場景多麼的大,除非是百分之百的開放空間,否則使用者應該不可能一眼就看到場景裡所有的東西,所以只要把暫時看不到的東西去除掉,也就是不列入計算,那就能夠大大提高執行的效能。舉例來說,如果人是在客廳的話,那主臥室或其他房間裡的東西就極可能被隔間牆擋住,所以裡面的東西就可暫時不列入計算。
其實這個說穿了就是3D遊戲裡常用的遮蔽演算法,只是人家的3D遊戲在建場景時都會有嚴格的限制,所以遮蔽演算法較為單純,而我們的FancyDesigner卻是要讓每個人都能輕鬆容易地建構場景,所以遮蔽演算法所要考慮的因素可就複雜多了。
不過,…..嘿嘿,經過幾個月的努力,遮蔽演算法總算大功告成了!這都得多感謝Su的協助,因為比較難的數學問題,我都是讓他去傷腦筋!
人客呀,再耐心等個幾天,就可以享受到遮蔽演算法的好處了唷!
2008年6月11日 星期三
處女座的吹毛求疵 ── 光暈特效終於完成
2008年5月1日 星期四
welcome to the blog
這將是 FancyDesigner 研發團隊最完整與最權威的 Blog. 在這裡體驗ㄧ下 FancyDesigner 的故事。
This will be the most complete and most authoritative Blog for FancyDesigner development. This is for you to get the same walking-through Experience.
This will be the most complete and most authoritative Blog for FancyDesigner development. This is for you to get the same walking-through Experience.
訂閱:
文章 (Atom)






