Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Welcome to Forum Sains Indonesia. Please login or sign up.

April 20, 2024, 02:41:02 AM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 177
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 173
Total: 173

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

3D Graphic engine

Dimulai oleh Farabi, Februari 29, 2012, 09:24:11 AM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Farabi

[pranala luar disembunyikan, sila masuk atau daftar.]

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
[pranala luar disembunyikan, sila masuk atau daftar.]


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.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

#2
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
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi



[pranala luar disembunyikan, sila masuk atau daftar.]

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.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

utusan langit

keren bang, cuman belum familiar dengan bahasanya :D

Farabi

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.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

mhyworld

Kutip dari: Farabi pada Juni 09, 2012, 06:18:55 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.
once we have eternity, everything else can wait

nate river

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  :'(
hidup itu seperti asimtot...
meski mustahil mencapai titik kesempurnaan, tapi kita akan selalu berusaha mendekati kesempurnaan....

Farabi

Kutip dari: mhyworld pada Juni 09, 2012, 09:27:09 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
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.