Showing posts from April, 2012

After reading Steve Jobs Autobiography

賈伯斯傳看完了,我覺得如果沒時間看完這麼厚一本書的人,可以只看後面五頁。關於賈伯斯他希望留下的東西:  一個公司重要的還是產品,獲利是因為你的產品夠好才帶來的附屬品。 產品要在消費者想到前就告訴他你需要的是這個。 關於要怎麼選你的公司掌舵者呢?  工程師或是設計師可能是比較好的選擇。 要不斷讓自己繼續前進, 感謝前人的努力,站在前人的肩膀上奉獻自己的才能,讓世界更好。

Internet Application Statistics

Statistic some web applications in different country and browser.

OpenGL and Direct3D capabilities


PlayStation(R)Vita Android device (supporting PlayStation(TM)Certified) Windows PC (requires a video card supporting OpenGL 2.0 or later) PS@Suite 使用了mono架構用C#開發。使用script的開發方式可以有效加速開發速度,再者當SDK走入公開化,產品上架便利化,就越來越不需要透過運營商與發行商, 獨立開發者與開發商將越來越有利。但遊戲開發公司的規模可能會有兩極化的發展趨勢,做大title的公司人數一樣很多,但他們所投入的是風險高成本高的產 品,小title的往小型化的專案發展,成本低爆發性強,但公司發展又必須要能夠像獨立開發者一樣彈性。

CryENGINE 3 SDK 3.4.0 Trailer


Rotate Point Around Vector

void RotatePointAroundVector(x#,y#,z#,u#,v#,w#,a#) { ux#=u*x uy#=u*y uz#=u*z vx#=v*x vy#=v*y vz#=v*z wx#=w*x wy#=w*y wz#=w*z sa#=Sin(a) ca#=Cos(a) x#=u*(ux+vy+wz)+(x*(v*v+w*w)-u*(vy+wz))*ca+(-wy+vz)*sa y#=v*(ux+vy+wz)+(y*(u*u+w*w)-v*(ux+wz))*ca+(wx-uz)*sa z#=w*(ux+vy+wz)+(z*(u*u+v*v)-w*(ux+vy))*ca+(-vx+uy)*sa }

Sphere Mapping in Environment map

When we implement the method of environment, we can select two kinds of textures, they are sphere and cube mapping. Sphere mapping has the advantage of decreasing the memory of texture, but it only stores one direction patterns, so there will have some lost information while we look to another direction. Cube mapping stores six direction patterns from the scene, so it has fully information to avoid the artifact, its disadvantage is it needs more memory and waste pixels because of some regions doesn't have any patterns, it is records with blank.

Texture transform matrix

Texture matrix can be used to implement UV animation, we use the two vectors to transform the uv coordinate.  Finally, u' =  u dp2 uvTexMatRow[0,1] + uvTexMatRow[2];                                      v' =  v dp2 uvTexMatRow[4,5] + uvTexMatRow[6]; var halfRotRad:Number = MathExt.DegreeToRadian( rotUV * 0.5 );                         var Rz:Number = Math.sin( halfRotRad );             var Rw:Number = Math.cos( halfRotRad );                         var RwRz2:Number = 2 * Rw * Rz;             var RzRz2:Number = 2 * Rz * Rz;                         // S, R, T             uvTexMatRow[0] = ( 1 - RzRz2 ) * repU;             uvTexMatRow[1] = -RwRz2 * repU;                uvTexMatRow[2] = ( uvTexMatRow[ 0 ] * offU ) + ( uvTexMatRow[ 1 ] * offV ) + ( 0.5 - 0.5 * (    uvTexMatRow[ 0 ] + uvTexMatRow[ 1 ] ) );                   uvTexMatRow[3] = 1.0;                         // S, R, T             uvTexMatRow[4] = RwRz2 * repV;             uvTexMatRow[5] = ( 1 - RzRz2 )

WebGL Inspector


GDC 2012 sessions resource have been unveiled

There are many content for free including video and slides, if anyone is interested in these session, you should connect to this site now.

Unity Character Animation GDC 2012 Feature Preview