Cara Membuat Objek Rumah dengan OpenGL
2. Jika Kita sudah punya projek maka kita tinggal bikin file baru, jika belum maka kita bikin dulu projek nya, nantinya akan muncul choose file type, kita pilih type class java. Lalu tekan Next. Dan beri nama filenya.
4. Pastikan kita sudah mengimport dulu LWJGL nya,
5. Lalu
kita import LWJGL dengan dengan sorce code
6. Di dalam Public Class kita ketikan kode di bawah ini:
public void start(){
try{
Display.setDisplayMode(new DisplayMode(800,600));
Display.create();
} catch (LWJGLException e){
e.printStackTrace();
System.exit(0);
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 800,
0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
// init OpenGL here
while
(!Display.isCloseRequested()){
//render OpenGL here
GL11.glPointSize(5);
GL11.glColor3f(1,1,0);
GL11.glBegin(GL11.GL_POLYGON); /*RUANGAN*/
GL11.glVertex2i(100,155);
GL11.glVertex2i(100,50);
GL11.glVertex2i(250,50);
GL11.glVertex2i(250,155);
GL11.glVertex2i(100,155);
GL11.glEnd();
Display.update();
}
Display.destroy();
}
/**
* @param args the command line
arguments
*/
public static void main(String[]
args) {
// TODO code application
logic here
DisplayExampleRPLB
displayExample = new DisplayExampleRPLB();
displayExample.start();
}
Ket: Yang di garis merahi itu untuk membuat objek rumah nya. Kalau untuk menggunakan garis kita gunakan GL_LINE. Tapi kalau pengen ada warnanya
kita gunakan GL_POLYGON. Tapi disini saya akan menggnakan yang GL_POLYGON.
Diatas
contoh untuk ruangan maka akan menghasilkan seperti gambar dibawah ini:
7. Yang di atas di garis merahi . kita tambahkan lagi kuntuk membuat plang ke atasnya, dengan kode dibawah ini
GL11.glBegin(GL11.GL_POLYGON);
/*RESPLANG*/
GL11.glColor3f(0,1,1);
GL11.glVertex2i(50,160);
GL11.glVertex2i(50,155);
GL11.glVertex2i(300,155);
GL11.glVertex2i(300,160);
GL11.glVertex2i(50,160);
GL11.glEnd();
maka akan menghasilkan seperti gambar di bawah ini
1 8. Kita
tambahkan lagi source kode nya, untuk membuat atapnya :
GL11.glBegin(GL11.GL_POLYGON);
/*ATAP*/
GL11.glColor3f(1,0,0);
GL11.glVertex2i(175,230);
GL11.glVertex2i(50,160);
GL11.glVertex2i(300,160);
GL11.glVertex2i(175,230);
GL11.glEnd();
Maka akan
menghasilkan seperti dibah ini:
9. Kita tambahkan source codenya untuk menambahkan pintu dan jendala.
GL11.glBegin(GL11.GL_POLYGON);
/*PINTU*/
GL11.glColor3f(0,0,1);
GL11.glVertex2i(160,100);
GL11.glVertex2i(160,50);
GL11.glVertex2i(190,50);
GL11.glVertex2i(190,100);
GL11.glVertex2i(160,100);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*JENDELA 1*/
GL11.glColor3f(0,0,1);
GL11.glVertex2i(130,100);
GL11.glVertex2i(130,60);
GL11.glVertex2i(150,60);
GL11.glVertex2i(150,100);
GL11.glVertex2i(130,100);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*JENDELA 2*/
GL11.glColor3f(0,0,1);
GL11.glVertex2i(200,100);
GL11.glVertex2i(200,60);
GL11.glVertex2i(220,60);
GL11.glVertex2i(220,100);
GL11.glVertex2i(200,100);
GL11.glEnd();
Maka
akan menghasilkan seperti gambar dibawah ini:
1 10. Kita
tambahkan source kodenya untuk membuat pagar di depannya agar lebih menarik .
GL11.glBegin(GL11.GL_POLYGON); /*TIANG*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(30,40);
GL11.glVertex2i(30,0);
GL11.glVertex2i(40,0);
GL11.glVertex2i(40,40);
GL11.glVertex2i(30,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 2*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(140,40);
GL11.glVertex2i(140,0);
GL11.glVertex2i(150,0);
GL11.glVertex2i(150,40);
GL11.glVertex2i(140,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(40,10);
GL11.glVertex2i(140,10);
GL11.glVertex2i(140,15);
GL11.glVertex2i(40,15);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 2*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(40,25);
GL11.glVertex2i(140,25);
GL11.glVertex2i(140,25);
GL11.glVertex2i(140,30);
GL11.glVertex2i(40,30);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 3*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(200,40);
GL11.glVertex2i(200,0);
GL11.glVertex2i(210,0);
GL11.glVertex2i(210,40);
GL11.glVertex2i(200,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 4*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(311,40);
GL11.glVertex2i(311,0);
GL11.glVertex2i(320,0);
GL11.glVertex2i(320,40);
GL11.glVertex2i(311,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 3*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(211,10);
GL11.glVertex2i(311,10);
GL11.glVertex2i(311,15);
GL11.glVertex2i(211,15);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 4*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(211,25);
GL11.glVertex2i(311,25);
GL11.glVertex2i(311,30);
GL11.glVertex2i(211,30);
GL11.glEnd();
Maka akan menghasilkan gambar dibawah ini:
1 11. Kita
tambahkan source kodenya untuk membuat pagar di depannya agar lebih menarik .
GL11.glBegin(GL11.GL_POLYGON); /*TIANG*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(30,40);
GL11.glVertex2i(30,0);
GL11.glVertex2i(40,0);
GL11.glVertex2i(40,40);
GL11.glVertex2i(30,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 2*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(140,40);
GL11.glVertex2i(140,0);
GL11.glVertex2i(150,0);
GL11.glVertex2i(150,40);
GL11.glVertex2i(140,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(40,10);
GL11.glVertex2i(140,10);
GL11.glVertex2i(140,15);
GL11.glVertex2i(40,15);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 2*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(40,25);
GL11.glVertex2i(140,25);
GL11.glVertex2i(140,25);
GL11.glVertex2i(140,30);
GL11.glVertex2i(40,30);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 3*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(200,40);
GL11.glVertex2i(200,0);
GL11.glVertex2i(210,0);
GL11.glVertex2i(210,40);
GL11.glVertex2i(200,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*TIANG 4*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(311,40);
GL11.glVertex2i(311,0);
GL11.glVertex2i(320,0);
GL11.glVertex2i(320,40);
GL11.glVertex2i(311,40);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 3*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(211,10);
GL11.glVertex2i(311,10);
GL11.glVertex2i(311,15);
GL11.glVertex2i(211,15);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON); /*PAGAR 4*/
GL11.glColor3f(1,1,1);
GL11.glVertex2i(211,25);
GL11.glVertex2i(311,25);
GL11.glVertex2i(311,30);
GL11.glVertex2i(211,30);
GL11.glEnd();
Maka akan
menghasilkan keseluruhannya dengan gambar dibawah ini:
1 11. Jika ingin
menggunakan garis maka ganti kode GL_POLYGON dengan GL_LINE_STRIP,
Maka
akan menghasilkan seperti gambar dibawah ini:
1 12. Jika
ingin menggunakan titik maka ganti GL_POLYGON/GL_LINE dengan GL_POINT
0 komentar: