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