Halaman

Tampilkan postingan dengan label 3d. Tampilkan semua postingan
Tampilkan postingan dengan label 3d. Tampilkan semua postingan

Selasa, 27 Maret 2012

3d: Rotations, Axes, Local Space, Parent Space, World Space

The biggest factor i need to overcome with 3d programming was the math-side of 3d programming, there are many terms, such as vector, matrix, gimbals, local space, world space, projections, quaternions, euclidean, eulers etc.. We need to understand those terms so that i could position my objects correctly

If you are like me, you will be thrilled to read this page : opengl transforms, great article, made me understand the concept of local space and the world space

If you work with 3dsmax, blender, autocad, lightwave, etc you will likely works with axes, you use this axes to translate, rotate, scale your models, even per-element base(vertices, faces, polygons, edges).

There is a concept which helps me a lot to program transformation, and that is the local axes, the forward, up, and left axes which is locally for our object. If you put your matrix data using OpenGL conventions (column major) and you save your transformation to your object, then the elements :

  • local-x (default 1,0,0) would be (m0, m1, m2) 
  • local-y (default 0,1,0) would be (m4, m5, m6)
  • local-z (default 0,0,1) would be (m8, m9, m10)
  • and your object translation would be (m12, m13, m14)

But remember this matrix represents your modelview (that is your model matrix * view matrix)
okayh, now, what is this model matrix, and view matrix?

Jumat, 24 Februari 2012

Bermain dengan Irrlicht 1.71, Blender 2.6x = Game 3D

Akhirnya, sya mulai merujuk pada game 3d, setidaknya mulai untuk bermain-main dengan coding 3d.
  1. Sebagai engine playground saya, saya memilih irrlicht 1.71 
  2. Untuk mengenal tentang transformasi, maupun pergerakan dalam dunia 3d, saya memilih menggunakan Blender 2.62 sebab kebenaran.. tutorial yang banyak saya temukan adalah tutorial untuk blender.. dan ada satu proyek add-on "irrb 0.6" yang bisa meng-export dari blender ke file "irr"
Beberapa istilah :
  • Irr merupakan file yang berisi layouting dari object-object untuk game yang kita rancang
  • Irrmesh merupakan file xml berbentuk text yang mendefinisikan suatu benda (mesh, cube, sphere, dst)
  • Irrbmesh, sama dengan irrmesh, hanya bentuknya adalah binary, menurut sang pembuat library ini, loading time irrbmesh dibanding dengan yang lain adalah yang paling cepat.. konon katanya demikian :)
Ok, untuk post ke depan, mungkin saya akan mulai posting tentang game programming (yep, my passion..) untuk bisa game programming ada baiknya kita menguasai dulu editor 3d, setidaknya menguasai basic dari editor yang kita pilih, untuk mengenal apa itu vertex, vertices, cull, depth of field, face, edge, concave, polygon, normals, vectors, global coordinate, local coordinate, physics, soft body, rigid, static, dand seterusnya.. untungnya mas brow.. :) ini semua bisa kita temukan di software tangguh nan open-source bernama blender, dan blender yang saya gunakan adalah versi 2.62 dan sesuatu yang bisa di kagumi, renderer engine codename : cycles (bila dipergunakan dengan baik dan benar) akan memberikan suatu hasil yang fantastis gituu.. reality..

Dibawah ini adalah skill2 dasar yang saya kejar sebagai arsenal untuk 3d game programming