Archive for June, 2010

wow~3D

Saturday, June 26th, 2010

WordPress 也升級到3.0…但這個不是重點

3D這樣野嘛,上次接觸係八年前用sence structure 的 Xith3D (non-syn版Java3D),當時飲恨幾樣種野,1好慢,2唔好控制,3影呢?!影喎,3D冇影架!

在八年後的今日,OpenGL 升級到3.3+至4.0都就來有的時候,基於要寫tool又自high搞3D

新的世界話比你知: fix pipeline 不再存在,你有的便是shader,當然有人道的optional backward compatible 用。對新手絕對是惡夢,那個白痴cancel哂那些打幾行GLXXX就有demo玩的玩意?不過想深一層,3D,本來就係煩到抽筋的東西,打幾行有果D跟本就係3D sandbox,你想發圍改野都唔得,就好似以前果Java3D禁。禁點呀?GlBegin都冇哂lu,Shader囉!wakaka…

《起壇》

首先我是Java+ish,寫Java便可以完全零思考地寫,Eclipse Optimized化寫化,所以別無他選,而我個荒廢停寫又寫又停的tool 是用java寫的,當然也會合入個tool到。

至於OpenGL Mapping 的嘛,有JOGL,JOGL2,LWJGL幾樣選,基於以正宗思考,當然是選JOGL2(現在是beta 10,結果這個決定把我打入十八層漢堡包地獄…)

基本上上世紀的gl+ish 記憶全部不合時,在新世界生存你首先便是要有shader,shader可以當飯吃的嗎?….OK, render pipeline 你要有 Geometry Shader,  Vetex Shader, Fragment Shader,一個生vertex吧,一個搞vertex,一個填顏色,咪就係禁咋嘛咋。

理論完哂,實施,正宗真係正宗,樣樣都好Object Oriented,要把那堆Beta 10的JOGL2塞入tool都搞左好耐,又分64/32bit…用backward compatible 試到成功,yeah~

《作法》

慾練神功,先有shader,因為shader 可能對各大高手來講實在係輕而易舉,入門的起個program只可睇住那堆hardcode parameter的samples,咩呀?vertexAttrib 0, 又1 又id..

搞左唔知幾耐終於compile到,「射」到data 入 shader 畫到個三角形出來,大感動,3D

《惡夢》

畫到三角形是第一步,之後問題來喇

1.點pass texture 落shader

2.點pass variable 落shader

很不幸的時當時搵親的都是mix and match的新舊交叉產物,個個demo又是喜歡hardcode 0,1,2跟本唔知邊個打邊個,由於我是用shader 1.4+,抄返來的compile error,damn the universe後盲人模到象,世上便是有vertexAttribute 和Uniform 係禁多,variable map 係要link左先有

由於matrix 搞來搞去都好matrix,所以直接抄返以前的ms3d importer 來搞basic structure,畫到在畫面喇,再搞到bump,shadow,跟住惡夢,Access Violate,成個JVM hang 左…

《轉駄》

其實不是JOGL2的錯,但係beta此終都係beta,會不會是beta整死?把心一橫把成舊野轉成LWJGL,構造果然係Light Weight 好多喎!整,早知用喇。經過在Light Weight 洗禮下,得出結論:沒有mapped 的texture 的shader 會KO成個JVM,為時已晚,不會回JOGL2的了,LWJGL更架人性化,起碼成堆jar lib放係度個個platfrom用得先。

《起錨!》

我不是政府,所以這路絕不是超錯。首先matrix 這家伙

1.OpenGL係Column Base Matrix,而我射data 一路射 Row Base Matrix,整

2. far near plane 是不可以負數的,不然會有外星感覺

3.是Right Hand 宇宙

於是,我的matrix world work了~~

Parallax mapping, blur,scattering light, anime in shader,DOF,SSAO~~ 現在繼續吸收現今技術,很多在2D都有實用之處

在此,再提自己要搵工,完。起錨!起錨!起錨!

一切也是想像

Saturday, June 5th, 2010

這個星期打的code全部都冇野睇的,由於犯賤由GLSL寫起,真係乜都自己寫﹝或抄﹞,來緊下個星期可以visual 一下便知成敗,嘿。在公司工作千萬不要像這樣做傻事,搵個ogre3D咪算囉=v=

打code 症後群:頭暈,頸肩酸痛,冇精神

幾麻煩的,可能人老左頭腦沒那麼清醒時便不能集中打code,以前病到成隻積都做到野,依架要停下休息發下保,畢竟現在比以前更多野煩。當GLSL畫到正常野有畫面可能post個上來吧

搵工←提自己的,一切事務做完好搵喇。

好暈,九成係果杯即沖奶茶

原來好多code

Friday, June 4th, 2010

骨頭動畫其實唔係好多野打,但係一到要打上手就打成幾日都未打完。3D 骨頭打算主要support 播和放位置,主力還是2D

禁講啦禁有心來看閒記,幾種基本野

1.image

2.sound

3.morph animation

4.skeleton animation

其實寫core 和structure 一點也不難,難在配套,那也不是難,其實是很多code要打便是,又不是科究,又不是為了甚麼用家而寫。但就係真係好多code,比起公司的爛project做多很多野=v=,自high真不錯。

比較麻煩係工要差不多搵了,唉,四方壓力迫到身,細佬又差不多搬走,再唔搵工我會好麻煩。

使命

Wednesday, June 2nd, 2010

在一個夢醒已知道,能做的都做了,是回去工作的時候