Forum Sains Indonesia

Ilmu Terapan => Ilmu Komputer => Topik dimulai oleh: Farabi pada Maret 01, 2012, 12:24:11 AM

Judul: 3D Graphic engine
Ditulis oleh: Farabi pada Maret 01, 2012, 12:24:11 AM
http://omploader.org/vY3ZlMw/ogle.rar

Ini source lengkapnya dalam bahasa pemrograman MASM. Untuk mengcompile secara otomatis anda memerlukan RadAsm Versi 2.x.xx dan MASM. Anda  juga membutuhkan donkey Graphics Library. Setelah anda menyetel semuanya baru anda bisa mengkompile supaya bisa dijadikan .exe, Untuk yang tertari dan ingin menggunakannya tapi tidak paham caranya, post disini, nanti saya pandu sedetil mungkin.

Untuk exporter menggunakan blender, gunakan script yang ada disini
http://memak.raydium.org/viewtopic.php?f=5&p=9959


PELATIHAN SINGKAT

Berikut ini adalah penjelasan dan pelatihan singkat dalam menggunakan Farabi Graphic Engine. FGE ini adalah, pembungkus dari fungsi fungsi grafik yang sudah disederhanakan sedemikian rupa, sehingga mencapai tujuan dibuatnya piranti lunak ini yaitu untuk memudahkan dalam pembuatan piranti lunak berbasis grafik.

Piranti lunak ini menyediakan beberapa fungsi dasar untuk membuat sebuah game lengkap dengan komponen berikut ini:
1. Simulasi fisika.
2. Matematika.
3. Pengambar grafik 3D
4. User Interface.

Dalam pelatihan singkat ini, saya akan mengajarkan kepada anda pembuatan dan penanganan sistem dasar dari piranti lunak ini. Saya akan mengajarkan kepada anda cara memuat model 3D yang telah anda buat, untuk kemudian disimpan dalam hapalan komputer anda, untuk kemudian diinteraksikan dengan dunia dalam sistem simulasi fisika, sehingga tampil dengan serealistis mungkin.

Memuat Model
Kamera
Menyetel Model
Simulasi Fisika
Interaksi dengan perangkat pendukung (Mouse+Kibor)
Membuat model dengan Blender


Memuat Model.
FGE mempunyai sebuah format berkas untuk model 3D tersendiri. Format yang aslinya dibuat oleh Tim Raydium ini mempunyai sebuah format yang sangat "bersahabat" bagi para programmer pemula. Selain mudah dibaca dan dipahami, format ini pun didukung oleh tim raydium sehingga selalu diupdate setiap kali blender mempunyai perubahan struktur sistem dan metoda dalam memuat model model 3D. Tim raydium menyediakan sebuah berkas phyton script yang membuat anda bisa mengeksport gambar yang anda telah buat di raydium menjadi format tri.
Dalam FGE, tersedia daftar-daftar yang anda bisa lihat di berkas "include" atau sisipan yang bernama "TriLoader.inc". Untuk memuat sebuah berkas, ketikan perintah "invoke fReadTriFile,CADD("NamaFile.tri",addr struk" dimana struk adalah variabel bagi program anda yang didefinisikan pada seksi .data. "Struk" adalah strutur dengan format "fTri".

Contoh:
.data
struk fTri <0>

Setelah model dimuat, anda bisa menampilkan model tersebut dengan menggunakan fungsi "fDrawTri pada bagian "display" di seksi program anda. "Display" ini adalah suatu bagian kode yang dipanggil berulang ulang setiap detik dengan menggunakan Timer, atau malah suatu kode yang berfungsi secara terus terusan yang menjadi loop yang utama.

Kamera.
Tanpa sebuah kamera, model yang anda muat tidak akan bisa ditampilkan. FGE menyediakan sebuah fungsi fungsi dasar bagi sebuah kamera yang tersimpan didalam kode sisipan yang bernama "fCamera.inc", yang isinya tidak lain adalah untuk mempermudah bagi anda dalam menggunakan camera untuk OpenGL. Sebelum menggunakan kamera anda harus menyediakan hapalan di komputer anda dengan menyediakan variabel di kode anda di seksi .data

Contoh

.data
KameraUtama fCam <0>

Dimana, setiap kali ada pergerakan, pergerakan tersebut akan disimpan dikamera dan akan menjadi pusat hapalan bagi seluruh pergerakan kamera selama program masih berjalan.

Menyetel Model
Dengan menggunaan source terbaru, anda bisa melakukan penyetelan model seperti semisal, untuk cahaya, untuk Culling atau pengahapusan segitiga yang perlu digambar atau malah menyekalakan supaya model yang ada bisa diperbesar atau diperkecil. Fungsi fungsi ini adalah pada berkas sisipan "Fscene.inc" yang berfungsi untuk mempermudah pemuatan model dan manipulasi model. Contoh

invoke fSceneLoadMesh,CADD("AFFTank.tri"),FSC_DYNAMIC_BIT,FP4(1.0),FALSE,FALSE
invoke fSceneMeshSetRotation,2,FP4(180.),FP4(0.),FP(0.)
invoke fSceneMeshSetPos,2,FP4(0.),FP4(100.),FP4(0.)

Pada 2 baris perintah diatas, maka setelah kita semua memuat model tank, maka kemudian kita menyetelah arah rotasi dan posisi yang kita inginkan. Dan jika kita ingin membuat model melayang dan lepas landas, maka yang perlu kita gunakan adalah "fSceneMeshAddForce" seperti berikut ini

   invoke fSceneMeshAddForce,2,FP4(0.),FP4(20.),FP4(0.)

Fungsi diatas akan mengkalkulasikan arah gerakan terbang dengan menggunakan simulasi fisika sampai model terjatuh kembali.
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Maret 01, 2012, 12:24:50 AM

Contoh Screenshot:
(http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc7/396287_2917721342190_1235437376_32779208_131084439_n.jpg)
(http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc7/423991_2882133652520_1235437376_32768342_390127841_n.jpg)
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada April 07, 2012, 07:56:25 AM
Demo detesi singgungan.

Aplikasi ini mendemokan deteksi singgungan sekaligus mendemokan simulasi fisika yang bisa dilakukan oleh komputer. Akan tetapi dikarenakan kurangnya waktu, mungkin sekali aplikasi ini membutuhkan lingkungan sistem operasi .Net yang harus didownload di website microsoft, tapi mungkin juga tanpa mendownload lingkungan .NET bisa berjalan.
Mesin simulasi fisika berguna untuk mengetahui apakah suatu benda bersinggungan dengan benda lain, dan juga untuk mengukur kecepatan jatuhnya dan pergeran sebuah benda. Di dunia nyata kita biasa melihat jari anda mengetik keyboard, anda menjatuhan gelas, atau anda menabrak pintu yang tidak lain dicoba untuk ditiru dan dimasukkan ke dunia maya yang ada dikomputer anda. Mesin simulasi fisika ini selain untuk game juga berguna untuk hal hal lain seperti perkiraan cuaca, untuk membuat film editing, ataupun konstruksi bangunan dan lain lain.
Didalam aplikasi ini juga disematkan source code yang bisa anda lihat bagaimana aplikasi ini dibuat. Anda membutuhkan MASM dan RadAsm sebelum bisa memprogram ulang aplikasi ini dengan menggunakan source code yang terlampir.

Dibuat oleh :Farabi.
Link Menyusul
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada April 07, 2012, 08:23:50 AM
 http://ompldr.org/vZDl6cQ/ogle.rar (9,8 MBytes)
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Mei 19, 2012, 09:40:36 AM
(http://ompldr.org/vZHJvcg/SSC.PNG)

http://ompldr.org/vZHMydg/GraphicDemo.zip

Untuk yang tertarik dengan source code terbaru lengkap dengan editor dan peralatan untuk membuat level, animasi manusia, dan untuk membuat rumah, bisa memesan CD backupnya dengan mengirim email ke [email protected] Anda hanya akan dimintai ongkos backup CD dan ongkos kirim. Didalam CD tersebut seperti yang sudah disebutkan, terdapat seluruh software untuk membuat game.
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Juni 05, 2012, 05:16:19 AM
Saya membuat halaman di google code untuk yang tertarik http://code.google.com/p/fgameengine/
Judul: Re:3D Graphic engine
Ditulis oleh: utusan langit pada Juni 07, 2012, 02:33:18 PM
keren bang, cuman belum familiar dengan bahasanya :D
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Juni 10, 2012, 09:18:55 AM
Mirip mirip C tapi instruksinya lebih banyak. Tapi yang dipakai paling cuma instruksi call, jmp, cmp,jxx,ret,add,sub, mul paling cuma itu saja. Sisanya sudah dipakai dalam fungsi lain yang sudah disediakan oleh orang lain supaya lebih mudah dalam penggunaan.
Judul: Re:3D Graphic engine
Ditulis oleh: mhyworld pada Juni 10, 2012, 12:27:09 PM
Mirip mirip C tapi instruksinya lebih banyak. Tapi yang dipakai paling cuma instruksi call, jmp, cmp,jxx,ret,add,sub, mul paling cuma itu saja. Sisanya sudah dipakai dalam fungsi lain yang sudah disediakan oleh orang lain supaya lebih mudah dalam penggunaan.
afaik instruksi2 di atas lebih mirip bahasa assembly.
Judul: Re:3D Graphic engine
Ditulis oleh: nate river pada Juni 10, 2012, 07:12:44 PM
saya pernah mainan coding grafik 3D pakai C...
tapi alhasil piksel monitor ada yg kebakar...meninggalnya sebuah jejak titik putih di layar....
ndak lagi deh  :'(
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Juni 10, 2012, 07:37:45 PM
afaik instruksi2 di atas lebih mirip bahasa assembly.

Memang asembly, tapi seperti yang saya katakan, yang anda perlu hapalkan dari assembly tidak sebanyak yang anda kira. Tapi buat pemula memang bahasa assembly itu mengerikan hehe ;D
Judul: Re:3D Graphic engine
Ditulis oleh: Farabi pada Juni 10, 2012, 10:57:44 PM
Sekalian saya mau mamerin demo yang baru
(http://a7.sphotos.ak.fbcdn.net/hphotos-ak-snc7/600738_3561040024755_1736814884_n.jpg)

http://fgameengine.googlecode.com/files/Dungeon.zip