Sabtu, 14 Juni 2014

Panda 3D


TUGAS SOFT SKILL

PANDA3D
 
   
ANGGOTA KELOMPOK                  :
1.       PURNAMA ABADI                   (59411271)
2.       PRASETYA ANUGRAH.H       (55411556)
3.       M. JUNDI ALFATAH                (54411892)
 
3IA25
        PENGERTIAN 
Panda3D adalah open source dan, pada 28 Mei, 2008 perangkat lunak bebas di bawah revisi lisensi BSD. Rilis sebelum 28 Mei 2008 tidak dianggap Free Software karena kesalahan tertentu dalam desain lisensi Panda3D tua. Meskipun demikian, rilis ini lebih tua dari Panda3D juga dapat digunakan untuk kedua pengembangan game gratis dan komersial tanpa biaya keuangan.
Dimaksudkan Panda3D ini permainan pengembangan bahasa Python. Mesin itu sendiri ditulis dalam C + + , dan menggunakan sebuah otomatis wrapper-generator untuk mengekspos fungsi lengkap dari mesin dalam antarmuka Python. Pendekatan ini memberikan pengembang keuntungan dari pengembangan Python, seperti perkembangan pesat dan manajemen memori maju, namun tetap kinerja bahasa disusun dalam inti mesin. Misalnya, mesin yang terintegrasi dengan kolektor sampah Python, dan struktur mesin secara otomatis dikelola.

The manual dan contoh program menggunakan Python, meskipun pengembang bekerja pada menerjemahkan manual untuk C + + dan menyediakan C + + sampel program.
Seorang pengembang menggunakan Panda3D biasanya menulis kode di Python, tetapi juga memungkinkan untuk langsung mengakses mesin menggunakan C + + code.
Para pengguna Panda3D termasuk pengembang dari beberapa game komersial besar, sebuah proyek sumber terbuka beberapa, dan sejumlah program universitas yang memanfaatkan kurva belajar pendek Panda3D itu. Masyarakat kecil tapi aktif, dan pertanyaan pada forum umumnya menjawab dengan cepat.
 
Panda 3d adalah game engine, ebuah kerangka kerja untuk 3D rendering dan pengembangan game untuk Python dan C + +. Panda3D bersifat Open Source dan bebas untuk tujuan apapun, termasuk usaha komersial, berkat itsliberal lisensi. Selama beberapa bulan terakhir, beberapa mahasiswa di Carnegie Mellon University’s Entertainment Technology Center (ETC) telah bekerja pada peningkatan proses egging serta secara bertahap meningkatkan sistem shader. Bagi anda yang pernah menggunakan Panda 3d, anda akan tahu bahwa ada proyek PLG Panda 3D di masa lalu. Beberapa dari mereka telah lumayan berhasil karena adanya ruang lingkup proyek besar. Proyek ini justru akan berfokus pada pembuatan fitur lengkap set bukan setengah potongan yang diimplementasikan seperti proyek yang gagal di masa lalu. Ini juga akan fokus pada dokumentasi baik di dalam code dan manual.
Proyek fokus pada dua hal:
1.    Shader input
2.    Egging/model proses export
 
Shader Input
Sebenarnya, sistem shader pertama adalah proyek siswa PLG dan sejak itu telah diperbaiki melalui proyek-proyek PLG lain dan 3D Panda Community. Shader input terus mempertahankan ini dalam manor terstruktur. Shaders telah mendukung masukan dari array dan array dari vektor untuk beberapa waktu. Namun, Panda tidak pernah didukung 3D. Ada beberapa hack waktu itu di mana array lulus sebagai tekstur, tapi ini tidak ideal untuk kinerja dan ruins texture caching schemes. Setelah proyek ini selesai, pengguna akan mendapat array input dan vektor/matriks langsung ke shader itu.Ini mungkin tidak tampak menarik pada awalnya, tetapi shader input meletakkan dasar untuk hal-hal yang lebih banyak. Jika Anda baru dalam grafis komputer, Panda 3d memiliki sistem input shader lengkap memungkinkan untuk beberapa hal berikut ini :
1.    Hardware accelerated actors/characters
2.    instancing berbasis Shader dengan tekstur yang dinamis dan mendukung animasi (crowds)
3.    Shader sistem berbasis vegetasi (pohon dan rumput)
4.    real deferred shading system
5.    real light manager system untuk shader based lights
 
screen shoot of multiple light demo
 
A Real Egging Pipeline
Sampai sekarang, telah ada beberapa upaya user interface untuk maya2egg , dae2egg, dll. Sebagian besar dari mereka hanya user interface yang sederhana sampai setara command line dari mereka. User interface yang baru ini lebih dari itu, fitur-fitur yang di berikan :
 
1.    Simple mode bila anda tidak ingin membangun sistem
2.    Support untuk beberapa versi maya
3.    Support untuk egg tools seperti egg-opt-char dan egg-palettize
4.    Sistem batching yang secara otomatis mendeteksi apakah sebuah file telah dirubah untuk mengizinkan untuk minimal rebuilds
5.    Support untuk semua alat yang akan dibangun ke dalam sistem batch
6.    Save/Load batch scripts

screenshott WIP Egging GUI
 
 
Desain
Panda3D adalah mesin grafik adegan. Ini berarti bahwa dunia maya ini awalnya kosong Cartesian ruang menjadi yang menyisipkan permainan programmer model 3D. Panda3D tidak membedakan antara "besar" model 3D, seperti model dari penjara seluruh atau pulau, dan "kecil" model 3D, seperti model meja atau pedang. Model baik besar dan kecil yang dibuat dengan menggunakan program pemodelan standar seperti Blender , 3ds Max atau Maya , dimuat ke Panda3D, dan kemudian dimasukkan ke dalam ruang Cartesian.
Grafik adegan Panda3D mengekspos fungsi OpenGL dan DirectX dalam bentuk yang cukup literal. Misalnya, OpenGL dan DirectX keduanya memiliki kemampuan kabut. Untuk mengaktifkan kabut di Panda3D, satu hanya menyimpan parameter kabut pada node dalam grafik adegan. Parameter kabut sama persis dengan parameter panggilan setara dalam API yang mendasarinya. Dengan cara ini, Panda3D dapat dilihat sebagai pembungkus tipis sekitar API tingkat rendah. Dimana hal itu berbeda dari mereka adalah bahwa ia menyimpan adegan, sedangkan OpenGL dan DirectX tidak. Tentu saja, itu juga menyediakan tingkat yang lebih tinggi operator, seperti memuat model, melaksanakan animasi, mendeteksi tabrakan, dan sejenisnya.
 
Panda3D pertama direkayasa sebelum adanya shader vertex dan pixel. Ini diperoleh dukungan untuk shader manual ditulis pada tahun 2005. Namun, pengguna telah lambat untuk meningkatkan modern yang per-pixel teknik pencahayaan dalam permainan mereka. Para pengembang berteori bahwa ini adalah karena program shader bisa sangat sulit, dan bahwa pengembang game banyak ingin mesin untuk menangani secara otomatis.
Untuk memperbaiki situasi ini, para pengembang Panda3D baru-baru ini diberikan Panda3D kemampuan untuk mensintesis shader otomatis. Sintesis ini terjadi jika pemodel 3D menandai model untuk per-pixel pencahayaan, atau jika pemodel menerapkan peta normal, peta, gloss diri iluminasi peta, atau kemampuan lain yang melebihi kemampuan dari pipa fixed-fungsi. Tujuan dari sintesis ini adalah untuk membuat model sebagai modeler dimaksud, tanpa intervensi dari programmer.
 
Non-Graphical Kemampuan
            Panda3D menyediakan kemampuan selain render 3D. Kepala di antara ini adalah : 
- Kinerja alat analisis. 
- Eksplorasi grafik alat adegan. 
- Debugging alat. 
- Sebuah seni pipa ekspor / impor lengkap. 
- 3D Audio, baik menggunakan FMOD , OpenAL atau Sistem Suara Miles . 
- Deteksi tabrakan. - Fisika sistem, dan integrasi penuh untuk Mesin Dynamics Terbuka , eksperimental PhysX dan integrasi Bullet.
- Keyboard dan dukungan Mouse.
- Dukungan untuk I / O device.
- Negara yang terbatas mesin.
- GUI, integrasi libRocket.
- Jaringan.
- Kecerdasan buatan.
 
Sejarah
The Disney studio VR adalah cabang dari Disney yang diciptakan untuk membangun atraksi 3D untuk taman hiburan Disney. Mereka membangun daya tarik yang disebut "Magic Carpet Aladin," dan mesin yang mereka buat untuk itu akhirnya menjadi Panda3D. Mesin dalam bentuk yang sekarang sedikit beruang kemiripan kepada tahun-tahun awal. Seiring waktu, Panda3D digunakan untuk naik VR tambahan di taman hiburan Disney, dan akhirnya digunakan dalam penciptaan Toontown online , game online diatur dalam dunia kartun, dan kemudian untuk kedua MMORPG , Pirates of the Caribbean online.
Pada tahun 2002, mesin dirilis sebagai open source. Menurut penulis, ini adalah agar mereka "bisa lebih mudah bekerja dengan universitas pada proyek-proyek penelitian Virtual Reality."  Namun, butuh beberapa waktu untuk Panda3D bisa lepas landas sebagai proyek open-source.
Sistem ini, meskipun cukup digunakan oleh tim yang mengembangkan itu, tidak cukup "siap open source." Ada beberapa pengguna yang tertarik, tetapi membangun dan memasang sistem itu sangat kompleks, dan ada sedikit di jalan dokumentasi atau kode sampel, sehingga tidak ada komunitas sumber terbuka yang signifikan.
Namun, terbuka-sumber dari mesin diperbolehkan Carnegie Mellon Pusat Teknologi Hiburan untuk bergabung dalam pengembangan mesin. Sementara Disney insinyur terus melakukan sebagian besar pembangunan, tim Carnegie Mellon-membangun peran untuk dirinya sendiri polishing mesin untuk konsumsi publik, menulis dokumentasi, dan menambahkan beberapa fitur high-end seperti shader.
Nama Panda3D yang pernah akronim: "Agnostic platform jaringan Arsitektur Tampilan." Namun, karena frase yang telah kehilangan sebagian besar maknanya, kata "Panda3D" jarang dianggap sebagai akronim lagi.
 
Software Lisensi
Pada tahun 2002, ketika mesin itu open source, tujuan dari pengembang adalah untuk menciptakan sebuah Free Software lisensi. Namun, lisensi memiliki beberapa kekurangan yang membuatnya non-Free: bisa dibilang diperlukan mengirimkan perubahan Panda. Project @ Disney.com, secara eksplisit melarang ekspor perangkat lunak untuk berbagai bangsa terhadap Amerika Serikat dimana Amerika Serikat memiliki embargo perdagangan.
Pada Rabu Mei 28, 2008, batang pembangunan Panda3D beralih ke lisensi BSD. Namun, versi dari liris yang lama masih menggunakan lisensi lama.
Panda3D membuat penggunaan beberapa perpustakaan pihak ketiga yang izinnya juga tidak Free Software , termasuk FMOD , Nvidia Cg , DirectX , dan MFC. Sebagian besar dari modul ini dapat dengan mudah dikeluarkan dari instalasi.
 
 
 
 Fitur-fitur dan teknologi yang terdapat dalam Panda3D adalah sebagai berikut :

a. Shader Generation
Panda3D bisa melakukan shader rendering langsung dari core engine-nya. Misalkan untuk Maps Rendering seperti normal maps, gloss map, glow map. Atau untuk High Dynamic Range (HDR) rendering seperti tone mapping, dan bloom filter. Atau untuk Cel Shading seperti threshold lighting, dan inking.

b. 3D Audio
Untuk melakukan rendering multichannel three dimensional positional audio, Panda3D melakukan utilisasi terhadap library FMOD dari Fireflight Technologies (propietary library), Open Audio Library (OpenAL), atau Miles Sound System (MSS) dari RAD Game Tools.

c. Integration with Graphics API
Akses langsung terhadap modern Graphics API seperti OpenGL atau DirectX tersedia bagi pengguna Panda3D. Misalnya High-level shader language dari NVidia yakni NVidia Cg.

d. Powerful Debugging Tools
Untuk memudahkan debugging bagi developer, Panda3D menyediakan debugging tools yang powerful. Extreme crash-resistance, memory leaks monitoring, lebih dari 5000 assertion-checks untuk menangkap error lebih awal, dan sebagainya.

e. Performance Monitoring
Untuk memudahkan developer mengawasi performa dari game yang sedang dibuat. Misalkan untuk mengidentifikasi bottlenecks baik pada CPU ataupun GPU, tools untuk merge texture dan minimalisasi texture-switch, tools untuk process batching dan minimalisasi state-change, dan sebagainya.

f. Collision Detection
Fungsi-fungsi native langsung pada game engine untuk membantu programmer melakukan collision detection.

g. Support many kind of I/O devices
Dukungan terhadap banyak tipe alat input-output.

h. Mature and Complete System
Hal-hal yang seharusnya memang ada dalam sebuah game engine, sudah terdapat dalam Panda3D, bahkan menjadi solusi yang sudah stabil. Misalkan, tampilan GUI, networking, dan sebagainya.
 



Tidak ada komentar:

Posting Komentar