Senin, 22 April 2013

Scan Conversion



TUGAS SOFTSKILL I

Scan Conversion
Scan Conversion merupakan metoda untuk memetakan titik ke dalam suatu pixel. Scan Conversion dapat dilakukan terhadap Line (garis), polygon, ataupun garis lengkung (kurva).

Tugas
1. Sebutkan algoritma untuk menggambar garis!

 Konversi Scan Garis (line): 
  • Algoritma DDA, adalah suatu algoritma (pendekatan) pengkonversian suatu himpunan pixel–pixel menjadi suatu garis yang didasari atas perhitungan delta(x) dan delta(y);
  • Algoritma Bresenham merupakan suatu algoritma (pendekatan) yang dikreasikan oleh Bresenham yang tidak kalah akurat dan efisien dengan algoritma primitif lainnya (seperti DDA), bagian pengkonversian (scan–konversi) garis akan melakukan kalkulasi untuk penambahan nilai–nilai integer (yang dibutuhkan untuk membentuk garis) yang disesuaikan dengan tipe grafik yang dipakai oleh layar komputer.
  • Algoritma midpoint merupakan algoritma pembuatan garis dan kurva dengan dasar operasi bilangan integer yang menonjolkan ciri kecepatan. Sehingga algoritma ini dapat dipakai sebagai algoritma pembuatan grafik yang menuntut kecepatan sebagai hal yang diutamakan.

2. Berikan satu (1) algoritma untuk menggambar garis!

Contoh prosedur algoritma DDA dengan menggunakan bahasa C :

Void Line (int xa, ya, xb, yb,xpix, ypix;
Float x, y)
{
int step, k;
float dx = xb – xa, dy = yb-ya, x_increment, y_increment;
x = xa;
y = ya;
if (abs(dx)>abs(dy)) step=abs(dx;
else step = abs(dy);
setPixel(x, y);
for (k=0; k < step; k++)
{
x+=x_increment;
y+=y_increment;
setPixel (round(x),round(y));
}
};


3. Yang harus diperhatikan dalam menggambar garis:
  •  Ketebalan garis (thickness) dan
  •  Bentuk tepi garis (ends): Butt, Round, dan Square.
Berikan contoh gambar garis dengan bentuk tepi Butt, Round, dan Square!

Berdasarkan tebalnya ada dua macam yaitu garis tebal dan garis tipis dengan perbandingan 1 : 0.5. Pada umumnya tebal untuk garis tebal adalah 0.5 mm atau 0.7 mm. Dengan jarak minimum antara garis sejajar ( termasuk garis arsiran ), tidak boleh kurang dari tiga kali tebal garis yang paling tebal.

       Type round











Tipe garis round merupakan tipe garis yang mebentuk sebuah lingkaran

          Type square













Tipe garis square merupakan tipe garis yang membentuk sebuah persegi.

4. Penggabungan garis (Joining): Ugly, Bevel, Round, Miter.
    Berikan contoh gambar penggabungan dua garis dengan tipe Ugly, Bevel, Round, dan Miter.
  • Ugly Join : Penggabungan dua buah garis yang memilik sudut lebih kedalam.
  • Bevel : Penggabungan dua buah garis yang memiliki sudut lebih menonjol.
  • Round : Penggabungan dua buah garis yang memiliki sudut lebih melingkar. 
  • Miter : Penggabungan dua buah garis yang memiliki sudut lancip.

Transformations

Transformation adalah suatu metoda untuk mengubah lokasi titik. Operasi-Operasi Primitive pada Transformations terbagi menjadi:
  • Scale
  • Rotate
  • Shear
  • Flip
  • Translate
Tugas

5. Berikan contoh:
    a. Satu gambar objek.












b.Pengertian Scale,Rotate,Shear,Flip,Translate,dan Rotasi
Hasil transformasi objek tersebut yang ditransformasikan dengan Scale, Rotate, Shear, Flip, Translate, dan Rotasi
- Scale adalah skala pengali sama untuk semua komponen








- Rotate/Rotasi
Rotasi terhadap titik (0,0) sebanyak 450








- Shear
shear terhadap sumbu y











- Flip
Flip terhadap sumbu x
 













-Translate
(tx,ty) disebut vector Translasi








6. Apakah perbedaan antara Linear Transformation dan Non-Linear Transformation?
Model linier menunjukkan hubungan antara dua variabel mengikuti garis lurus. Sedangkan non linier mengikuti garis yang tidak lurus, misalnya kuadratik (garisnya melengkung ke atas lalu turun ke bawah).  Dalam transformasi linear, metoda pengubahan lokasi titik dilakukan secara teratur, dan membentuk semacam pattern. Misalnya dalam grafik 2 dimensi, transformasi linear melakukan penambahan atau pengurangan garis lurus secara teratur. Contoh transformasi linear :





Sedangkan transformasi non linear adalah metoda pengubahan lokasi titik yang tidak dilakukan secara teratur. Dalam grafik, pengurangan atau penambahan garis yang dilakukan tidak akan membentuk sebuah pattern yang teratur. Contoh transformasi non linear :

7. Berikan contoh Linear Transformation dan Non-Linear Transformation dari Operasi-Operasi Primitive transformation!Linear Transformation


 













Non Linear Transformation











8. Apakah perbedaan antara Geometric Transformation dan Color Space Transformation?Perbedaannya adalah, dalam transformasi geometric perubahan titik lebih memfokuskan pada bentuk dari objek yang berubah tersebut. Sedangkan Color space transformation lebih menitik beratkan pada perubahan warna dari titik-titik pixel tersebut.

9. Apakah yang dimaksud dengan Koordinat Homogen (Homogeneous Coordiantes)?Transformasi Koordinat, yang diubah system koordinatnya sehingga objek mengalami transformasi dikarenakan perubahan system koordinat tersebut.


PROYEKSI
Proyeksi merupakan salah satu jenis transformasi, yaitu transformasi koordinat. Proyeksi pada bidang
datar (planar) dilakukan melalui sinar proyeksi yang muncul dari titik pusat proyeksi melewati setiap titik
dari benda dan memotong bidang proyeksi (projection plane) untuk mendapatkan benda hasil proyeksi.
Proyeksi Planar (Planar Geometric Projections) dibedakan menjadi:
1.    Proyeksi Paralel.
Berdasarkan hubungan antara arah proyeksi dengan vektor normal dari bidang proyeksi, proyeksi paralel dibedakan menjadi:
1.  Orthographic à Proyeksi orthographic ada yang disebut proyeksi axonometric. Proyeksi Axonometric dibedakan menjadi proyeksi:

  • isometric
  • dimetric
  • trimetric.
2. Oblique.

2.    Proyeksi Perspektif.
Perbedaan antara proyeksi parallel & perspektif adalah: pada proyeksi parallel jarak antara titik
pusat proyeksi ke bidang proyeksi tidak terhingga, sementara para proyeksi perspektif jarak antara
titik pusat proyeksi ke bidang proyeksi bersifat infinite (tertentu).

Tugas

10.    Berikan penjelasan mengenai Proyeksi Orthographic?
Proyeksi Orthographic diperoleh apabila sinar proyeksi tegak lurus dengan bidang proyeksi.
Proyeksiorthographic sering digunakan untuk menghasilkan tampak depan, tampak belakang,
tampak samping dan tampak atas dari sebuah benda atau disebut sebagai Multiview
orthographic. Tampak atas, tampak belakang dan tampak dari samping sebuah benda sering
disebut sebagai elevation. Sedangkan tampak dari atas disebut sebagai plan view.

Transformasi untuk proyeksi multiview orthographic dapat diperoleh dengan rumus:
Proyeksi terhadap bidang x-z:qx = px,qy =pz
Proyeksi terhadap bidang y-z:qx = px,qy =pz
Proyeksi terhadap bidang x-y:qx = px,qy =py

Proyeksi orthographic yang menampakan lebih dari satu permukaan benda disebut sebagai proyeksi
axonometric




- proyeksi axonometric dilakukan dengan mengatur agar bidang proyeksi berpotongan dengan ketiga




sumbu koordinat (principal axes) pada sudut yang sama maka kita akan memperoleh proyeksi
isometric
proyeksi dimetric yaitu proyeksi yang diperoleh dengan mengatur agar bidang proyeksi berpotongan
dengan dua sumbu utama pada sudut yang sama
- proyeksi trimetric diperoleh apabila ketiga sumbu utama berpotongan dengan bidang proyeksi pada
sudut yang berbeda


11. Berikan penjelasan mengenai Proyeksi Perspective?

Proyeksi perspektif memberikan sudut pandang yang lebih realistis dibandingkan proyeksi orthographic.
Proyeksi perspektif pada kenyataannya jarak benda terhadap kita akan mempengaruhi bagaimana
benda tersebut terlihat. Benda yang terlihat jauh akan kelihatan kecil sedangkan benda yang dekat akan
terlihat lebih besar. Efek ini disebut sebagai shortening. Padaperspektif semua garis menghilang pada
satu atau lebih titik yang sama atau disebut titik hilang (vanishing point).

Secara umum garis perspektif bisa diartikan penggambaran ruang 3 dimensi dam bidang gambar 2
dimensi dimana garis dalam gambar menjelaskan keberadaan jauh dekat , besar kecil sebuah benda
sebagai object dalam sebuah penggambaran.

Macam-macam proyeksi perspektif Dalam gambar teknik, yaitu :
  • Perspektif Satu Titik Hilang (one point perspective)
Sistem perespektif ini digunakan untuk menggambar obyek (benda) yang terletak relatif dekat dengan
mata. Karena letak obyek yang cukup dekat, akibatnya mata memiliki sudut pandang yang sempit,
sehingga garis-garis batas benda akan menuju satu titik lenyap saja, kecuali bila sejajar dengan horizon
dan tegak lurus terhadapnya. Gambar yang demikian sering disebut dengan paralel perspective sebab
banyak menggunakan garis-garis bantu yang sejajar horizon dan vertikal.





  • Perspektif Dua Titik Hilang (two point perspective)
Sistem gambar ini digunakan untuk menggambarkan benda-benda yang letaknya relatif jauh dan letaknya tidak sejajar (serong) terhadap mata pengamat. Karena posisi pengamat jauh dengan obyek maka sudut pandang mata melebar, akibatnya garis-garis batas benda akan menuju titik lenyap sebelah kiri dan kanan. Gambar ini banyak digunakan untuk desain eksterior.


  • Perspektif Tiga Titik Hilang (three point perspective)
Gambar perspektif ini muncul akibat benda/obyek yang diamati jauh di bawah atau ke atas horizon. Oleh karenanya sudut pandang mata melebar ke segala arah. Perspektif ini banyak digunakan untuk menggambar arsitektur bangunan yang serba tinggi.
12.    Berikan contoh gambar dua proyeksi tersebut!
Proyeksi orthographic
Proyeksi Perspektif
13. Buatlah tabel perbandingan diantara dua proyeksi tersebut!perbandingan dari proyeksi  Orthographic dan perspektive adalah klw Orthographic sinar proyeksi tegak lurus dengan bidang proyeksi dan perspektive sudut pandang yang lebih realistis dibandingkan proyeksi orthographic. Proyeksi perspektif pada kenyataannya jarak benda terhadap kita akan mempengaruhi bagaimana benda tersebut terlihat. Benda yang terlihat jauh akan kelihatan kecil sedangkan benda yang dekat akan terlihat lebih besar

Referensi :

http://cewexniez.blogspot.com/2013/04/pengantar-teori-game_12.html
http://mirmayf.staff.gunadarma.ac.id/Downloads/files/18155/konversi-scan.pdf
http://dc390.4shared.com/doc/VCBHNziw/preview.html
http://3ka01-kurma.blogspot.com/2010/10/algoritma-membuat-garis-dengan-cara-dda.html
http://xa.yimg.com/kq/groups/23340420/1672766938/name/Pertemuan13.pdf
http://belangtelon.blogspot.com/2011/01/3-macam-proyeksi-perspektif.html
http://sadchalis15.wordpress.com/2012/01/10/proyeksi-grafika-komputer/






Senin, 03 Desember 2012

Entity Relationship Diagram Warnet


Kali ini akan membahas mengenai ERD (Entity Relationship Diagram) dari sebuah Warnet (Warung Internet) yaitu "Altas.Net". Karena sebelumnya materi ini telah di bahas di kelas 3IA07 oleh Ibu Riza (Dosen Sistem Basis Data). Tulisan ini juga merupakan lanjutan tugas yang diberikan oleh beliau. 

Warnet Alatas.Net ini memiliki 6 Entity dan masing-masing entity memiliki atribut dengan 1 primary key. berikut gambarnya :





Dari Gambar di atas dengan menggunakan Relationship maka akan terbentuk sebuah ERD yang meenggambarkan sistem dari warnet alatas.net.




Penggunaan database dalam perusahaan ini menggunakan software bernama Billing Exploler Deskpro6 2007 F9 dan Database Access untuk pencatatan transaksi. Dimana dalam pengaplikasiannya telah mencakup beberapa hal seperti pencatatan segala biaya, berbagai kode, id user, report harian, operator dan berbagai kegiatan yang ada sangkut pautnya dengan aktifitas diperusahaan tersebut.


            Demikian yang dapat saya jelaskan dari ERD warnet alatas.net, semoga bermanfaat.






Minggu, 07 Oktober 2012

Sistem Informasi Membuat program


Pada postingan kali ini,saya akan berbagi cerita sedikit mengenai pengalaman saya yang berhubungan suatu sistem informasi yang saya pernah lakukan.Sejak saya terjun di Jurusan Teknik Informatika di Universitas Gunadarma saya banyak mengenal hal-hal yang berubungan dengan teknologi,kemajuan teknologi serta membuat program dengan berbagai Bahasa Pemrograman seperti Java,Visual Basic,Pascal,dan banyak lagi.
          Sebagai Mahasiswa Gunadarma di Jurusan Teknik Informatika terutama pasti kalian sudah tidak asing lagi dengan membuat LA (Laporan Akhir),setelah praktikum di Lab Teknik Informatika pasti setiap mahasiswanya diwajibkan untuk membuat sebuah Laporan apa saja yang sudah mahasiswa pelajari selama belajar di Lab serta membuat Program ulang serta Logikanya pembuatannya atau penjelasan mengenai program-programnya.Nah saya akan membahas salah satu programnya yang saya buat dulu.
          Tujuan program yang saya buat kali ini yaitu untuk Mengubah suhu dari Derajat celcius menjadi Reamur dan Fahrenheit.Nah program kali ini saya membuatnya menggunakan Bahasa Pemrograman Java.Sebelum saya menjelaskan program yang saya buat,untuk kalian para pemula atau yang tidak tahu java itu apa sih..Gampang kok software ini bisa di donlot dimana saja,pasti kalian juga tau kan bagaimana cara menginstall suatu program.Nah jika kalian sudah mempunyai software java di dalam laptop kalian.Berikut ini langkah-langkah sederhana untuk membuka suatu file baru.
*      Pertama-tama klik File-New
*      Setelah itu buat kodingan seperti gambar di bawah ini.
Sedikit saja penjelasan mengenai kodingan yang saya buat Diatas adalah
import javax.swing.*;
Nah kalo barisan program diatas ini maksudnya saya mengimport barisan program dibawahnya dalam bentuk suatu gabungan inputan.
public class temperature
Maksud barisan program diatas,nama dari proram classnya adalah temperature,nanti pada saat kita menyimpan program yang akan kita jalankan ini kita harus sama menamainya yakni dengan nama temperature juga.
{
    public static void main(String[]agrs)
    {
    double tempC,tempR,tempF;
Maksud program diatas ini,nanti hasil dari perhitungan untuk C : celcius,R : reamur,dan F :Fahrenheit hasilnya memakai beberapa angka dibelakang koma.
    String bilangan = JOptionPane.showInputDialog("Input Celcius:");
Barisan program diatas ini artinya nanti pada saat kita menjalani program akan keluar inputan dialog yang tulisannya “Input String”
    System.out.println("Input angka:"+bilangan);
Barisan ini untuk mencetak Input angka yang ada di variable bilangan.
    tempC=Double.parseDouble(bilangan);

    tempR=tempC*4/5;
Barisan program ini maksudnya nanti hasil dari tempR adalah inputan dalam bentuk celcius ini akan dikalikan 4/5
    tempF=tempC*9/5+32.0;
Barisan program ini maksudnya nanti hasil dari tempF adalah inputan dalam bentuk celcius ini akan dikalikan 9/5 + 32.0

        System.out.println("Temperatur Celcius="+tempC);
        System.out.println("Temperatur Reamur="+tempR);
        System.out.println("Temperatur Farenheit="+tempF);
Barisan program diatas ini untuk mencetak Temperature Celcius,Reamur dan Fahrenheit dan hasilnya ada di masing-masing variable tempC,tempR dan tempF.
        System.exit(0);
Untuk menutup programnya menggunakan barisan program diatas ini dan jangan lupa juga kurung kurawal penutupnya sebanyak kurung kurawal buka diatas tadi.
*      Setelah itu untuk menjalankan program kalian,klik tools-compile lalu tools-running.Apabila ada beberapa kesalahan kalian perbaiki,naah apabila dapat dijalankan. Sekian penjelasan saya mengenai salah satu Laporan Akhir saya,yang dapat digunakan untuk mengubah suatu derajat Celcius menjadi Fahrenheit ataupun Reamur.Semoga dapat bermanfaat bagi kalian yang membacanya.

Selasa, 02 Oktober 2012

OGRE(GAME ENGINE)


Pada postingan saya kali ini masih ada hubungannya niih dengan postingan saya sebelumnya,hanya saja saya akan membahas tentang game engine,nah sebelum saya menjelaskan mengenai “OGRE” saya akan menjelaskan terlebih dahulu nih mengenai GAME ENGINE.Selamat membaca... ..


Pengertian Game Engine


Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.


Jenis - Jenis Game Engine

Game engine bermunculan dalam berbagai jenis dan untuk level pemrograman yang berbeda – beda.Setidaknya ada tiga level game engine yang umum digunakan,yaitu :

1) Level rendah
 
Yang dimaksud level disini ialah game engine dimana pengembang akan membuat engine-nya dengan menggunakan antarmuka aplikasi (API) yang telah ada seperti Microsoft XNA,DirectX,Open GLWindows dan lain lain. Selain itu,mereka juga membuatuhkan library (baik yang komersial maupun open source) untuk mendukung game engine buatan mereka.Library yang digunakan membutuhkan seperti untuk perhitungan formula fisika/matematika,seperti Havok ( yang digunakan dalam game Diablo III) dan open Dynamic engine ( yang digunakan untuk menggambar dinamika dari tubuh atau material yang lain).Secara umum,game engine level rendah ini menawarkan fleksibilitas dan kebebasan dalam memilih komponen yang diinginkan dalam pengembangan game.Namun,tahap pengembangannya paling lama dibandingkan kedua level yang lain karena pengembang harus memulai hamper semuanya dari nol.

2) Level menengah
 
Game engine pada level menengah mempunyai fasilitas jauh lebih lengkap dibandingkan dengan game engine pada level rendah.Rutin seprti input,GUI,rendenringperhitungan matematika hamper semua ada pada game engine ini.Beberapa engine yang masuk dalam kategori ini adalah Objeck-Oriented Grafhics Rendenring Engine atau bisa disebut dengan ORGE,beberapa game yang didukung oleh game engine OGRE ini.Selaini itu,game engine open source seperti Genesis 3D,yang berbayar seperti Torque,Unreal,idTechdan GameBryo juga merupakan game engine level menengah.kesemua engine tersebut membutuhkan level pemrograman untuk dapat digunakan dan dikembangkan menjadi game utuh.

3) Level tinggi
 
Level ini merupakan level game engine yang termudah,yaitu hanya dengan point-and-click game telah dapat dibuat.Beberapa game engine level tinggi ini adalah GameMaker,torque,Game builder dan unity 3D.Game ini didesain agar game engine yang user friendly dengan level pemrograman seminimal mungkin.masalah yang muncul dari game ini adalah keterbatasan nya,misalnya untuk membuat game dengan jenis tertentu atau mode grafikyang tertentu.

Beberapa contoh jenis game engine :

1. Freeware game engine/open source game engine
 
* Blender
* Golden T Game Engine (GTGE)
* DXFramework
* Ogre
* Aleph One
* Axiom Engine
* Allegro Library
* Box2D
* Build Engine
* Cube
* Cube 2
* DarkPlaces
* jMonkeyEngine (jME)
* Panda3D
* Sphere

2. Commercial engines/game engine berbayar (komersial)
 
* Alamo
* A.L.I.V.E
* BigWorld
* DXStudio
* Dunia Engine
* Euphoria
* GameStudio
* Jade Engine
* Jedi
* Medusa
* RPG Maker VX
* RPG Maker XP
* RPG Maker 2003
* RPG Maker 95
* Vision Engine


Pertama pasti kalian ingin tau,apa sih OGRE itu,sedikit ulasan jadi OGRE itu adalah OGRE (Object-Oriented Graphics Rendering Engine) adalah engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-developer dengan intuitif & mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class object yang lebih tinggi.
OGRE mempunyai banyak komuniti yang aktif, salah satunya sourceforge.net yang berdiri sejak Maret 2005. Beberapa karyanga yang sudah ada & dikomersialkan diantaranya game Ankh, Azathoth, & Pasific Strom. Serta baru-baru ini muncul lagi gamenya, yaitu Eihoth 1.4.9 yang rilis pada Mei 2008. Rilisnya dibawah istilah GNU Lesser General Public License.


Informasi Umum :

OGRE hanyalah rendering engine. Seperti pada engine lainnya, hanya saja OGRE pada umumnya hanya sebagai graphic rendering. Dengan kata lain fitur OGRE hanya khusus menangani vector & matrix classes, memory handling, dan lain-lain. Ini bukanlah salah satu dari semua solusi dalam istilah game development / simulasi, OGRE tidak menyediakan audio / physics support.
Pada umumnya ini bisa dikatakan sebagai kelemahan utama dari OGRE, tetapi itu setara setelah melihat kemampuan grafis ada engine ini. Kemempuan utama OGRE adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mensuport OIS, SDL, dan CEGUI libraries.
Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free / open-source software.


Sejarah Singkat OGRE



  • Berawal dari tahun 1999 merancang perpustakaan yang ada API dan platform independennya.
  • Kemudian 25 Februari 2000 mendaftarkan proyek Sourceforge dengan nama OGRE.
  • Februari 2005 dirilislah Ogre v1.0.0 “Azathoth” Rilis – resource system overhaul, hardware pixel buffers, HDR, CEGui, XSI exporter
  • Maret 2005 Ogre adalah ‘Project of the Month’ di Sourceforge
  • 4 November 2005 Ankh dilepaskan sebagai produk komersial pertama menggunakan Ogre
  • 7 Mei 2006 Ogre 1.2 “Dagon” secara resmi dirilis
  • 25 Maret 2007 Ogre 1.4 “Eihort” secara resmi dirilis
  • 28 Agustus 2008 Ogre 1.6 “Shoggoth” secara resmi dirilis (Saat ini 1.6.5 Stable Release)
  • 31 Desember 2009 1,7 ogre RC1 “Ctchugha” secara resmi dirilis (Saat ini 1.7.0 Pre Release)
  • 28 Februari 2010 Ogre 1.7 “Cthugha” secara resmi dirilis (Saat ini 1.7.0 Stable Release)

Fitur OGRE :



*    OGRE mempunyai banyak fitur yang bisa digunakan, diantaranya :
*    Desain yang object oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.
*    Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.
*    Multi-platform dengan dukungan OpenGL & Direct3D. Bisa merender konten yang sama di beda platform tanpa harus mempunyai content creator. Dapat diakses pada platform Linux, Mac OS X, dan semua versi Windows.
*    OGRE mendukung program Vertex dan Fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.
*    The landscape scene manager untuk Progressive LOD, yang mana bisa dibuat secara otomatis & manual.
*    Engine animasi yang mensuport penuh untuk multiple hardware.
*    OGRE mempunyai comositing manager dengan bahasa script dan full screen postprocessing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.
*    Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.
*    Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.

Cara Kerja OGRE?

 


Kelas paling mendasar dalam Ogre adalah SceneManager, Entity dan SceneNode.

SceneManager

Segala sesuatu yang muncul pada layar (screen) dikelola oleh SceneManager. Ketika kita menempatkan objek dalam scene, SceneManager yaitu kelas yang menjaga/melacak lokasinya. Bila kita membuat Kamera untuk melihat scene, SceneManager menjaga alur dari objek itu. Bila kita membuat plane, billboard, lampu dan seterusnya, SceneManager akan menjaga alur (track) itu.
Ada beberapa jenis SceneManager. Ada SceneManager yang mengubah (render) terrain, ada SceneManager untuk rendering peta BSP, dan sebagainya. Berbagai jenis SceneManager dapat dilihat di SceneManagersFAQ.

Scene 

adalah representasi abstrak dari apa yang ditampilkan dalam dunia virtual/maya. Scene dapat terdiri dari geometri statis seperti terrain atau bangunan interior, model semacam pohon, kursi atau monster, sumber cahaya yang menerangi tempat kejadian dan kamera yang melihat scene.
Scene dapat memiliki tipe yang cukup berbeda. Sebuah scene interior mungkin terdiri dari lorong-lorong dan kamar yang berisi mebel dan karya seni di dinding. Sebuah scene eksterior mungkin terdiri dari dataran berbukit-bukit, pohon, rumput melambai tertiup angin dan langit biru dengan awan bergerak lembut.
Ogre menyediakan satu set scene manager yang berbeda, masing-masing disesuaikan untuk dukungan terbaik berbagai jenis scene. Seorang ahli Ogre bahkan bahkan bisa mengembangkan scene manager sendiri, disesuaikan untuk jenis terbaik scene yang digunakan dalam aplikasi mereka.

Entity
 
Entity merupakan salah satu jenis objek yang dapat dirender pada scene. Anda dapat menganggap suatu entity sebagai sesuatu yang diwakili oleh mesh 3D. Robot akan menjadi suatu Entity, ikan akan menjadi Entity, daerah berjalan suatu karakter akan menjadi Entity yang besar. Namun, hal-hal seperti Lampu, Papan iklan, Partikel, Kamera, dll tidak akan menjadi Entity.
Satu hal yang perlu diperhatikan tentang Ogre adalah bahwa Ogre ini memisahkan benda yang dapat dirender (renderable) dari lokasi dan orientasi mereka. Ini berarti bahwa tidak dapat menempatkan Entity secara langsung dalam sebuah scene. Sebaliknya, harus melampirkan Entity ke objek SceneNode, dan SceneNode ini berisi informasi tentang lokasi dan orientasi.

SceneNode

Seperti telah disebutkan, SceneNode melacak lokasi dan orientasi bagi semua objek yang melekat padanya. Ketika membuat sebuah Entity, ini tidak dirender dalam scene sampai dipasangkan ke SceneNode. Sebagai tambahan SceneNode bukan merupakan obyek yang ditampilkan pada layar. Hanya ketika membuat sebuah SceneNode dan melampirkan Entity (atau objek lainnya) ke SceneNode itulah yang benar-benar ditampilkan pada layar.
SceneNode dapat memiliki sejumlah objek yang dipasang didalamnya. Katakanlah Anda memiliki karakter berjalan pada layar dan ingin dia menghasilkan cahaya di sekelilingnya. Cara Anda melakukan ini adalah dengan terlebih dahulu membuat SceneNode, kemudian buat Entity untuk karakter dan melampirkan ke SceneNode. Maka Anda akan membuat objek Light dan melampirkan ke SceneNode. SceneNodes bisa juga dilampirkan pada SceneNode lain yang memungkinkan untuk membuat seluruh hierarki node.
Salah satu konsep utama yang perlu diketahui tentang SceneNode adalah bahwa posisi SceneNode adalah selalu relatif terhadap SceneNode induknya, dan masing-masing SceneManager berisi node root yang semua SceneNodes lainnya yang terpasang.