Java
OpenGL – JOGL
OpenGL(Open Graphic Library) adalah sebuah library
terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar
sebuah objek 2D ata 3D.
Membuat garis dengan menggunakan JOGL
Pada kesempatan kali ini saya akan membuat aplikasi
untuk membuat garis dengan menggunakan bahasa Java dengan menggabungkan library
pada OpenGL
Aplikasi yang digunakan untuk Java adalah Netbeans
dan Library LWJGL :
JDK
adalah kumpulan Library dan Compiler yang digunakan dalam mengeksekusi program
Java.
Pilih
JDK sesuai dengan System OS Anda, kemudian download dan Install.
Netbeans
adalah sebuah aplikasi Integrated Development Environment (IDE) yang
berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing
merupakan sebuah teknologi Java untuk pengembangan aplikasi dekstop yang
dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X
dan Solaris.
Library
Java yang digunakan untuk membaca Library OpenGL
Library
yang dibbutuhkan adalah
-
lwjgl-2.9.1.zip
-
lwjgl-source-2.9.1.zip
Menginstall LWJGL pada Netbeans
1.
Buatlah Folder untuk
menyimpan file LWJGL (Ex : C:\LWJGL\)
3.
Buka Aplikasi Netbeans
lalu ke Menu Tools > Libraries
5.
Click Add Jar/Folder, lalu masuk ke penyimpanan
LWJGL sebelumnya lalu
LWJGL > lwjgl-2.9.1 > jar
Add File berikut
-
jinput.jar
-
lwjgl.jar
-
lwjgl_util.jar
Selanjutnya Add File
yang terdapat di LWJGL > src
-
generated
-
java
7.
Pada Project Manager, double click nama
Project dan buka Tab Libraries > Add
Library lalu masukan Library LWJGL yang tadi telah dibuat
8.
Pada Project Manager > Project > Properties > Run > VM
Option masukan Syntaxs
-Djava.library.path=C:\LWJGL\lwjgl-2.9.1\native\windows
Program Netbeans sudah dapat di gunakan untuk
membuat garis
Untuk membuat garis saya membuat dalam 4 file yang
terpisah dalam sebuah Project, File itu terdiri dari
1. Source
Code Menu
Berisi
codingan interface dengan user yang berisikan pilihan menu untuk meminta user
memasukan inputan untuk membuat Garis Horizontal, Vertikal dan Diagonal
2. Source
Code Garis Vertikal
Berisi
codingan Java dengan Library LWJGL untuk membuat garis Vertikal
3. Source
Code Garis Horizontal
Berisi
codingan Java dengan Library LWJGL untuk membuat garis Horizontal
4. Source
Code Garis Diagonal
Berisi
codingan Java dengan Library LWJGL untuk membuat garis Diagonal
Source
Code Menu
import java.util.*;
import org.lwjgl.LWJGLException;
public class LineMaker
{
public static
void main(String[] args) throws
LWJGLException
{
int pil;
Scanner input = new Scanner(System.in);
System.out.println("========Aplikasi Pembuat Garis========");
System.out.println("1. Membuat Garis Vertical");
System.out.println("2. Membuat Garis Horizontal");
System.out.println("3. Membuat Garis Diagonal");
System.out.print("Silahkan Masukan Pilihan yang diinginkan : ");
pil = input.nextInt();
switch(pil)
{
case 1:
Vertikal vet = new
Vertikal();
vet.layar();
break;
case 2:
Horizontal hoz = new
Horizontal();
hoz.layar();
break;
case 3:
Diagonal dig = new Diagonal();
dig.layar();
break;
default:
System.out.println("Pilihan yang anda pilih salah!!");
}
}
}
|
Source
Code Garis Horizontal
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.*;
import java.util.*;
public class Horizontal
{
public void layar() throws
LWJGLException
{
int a,kordin1,kordin2;
Scanner putin = new
Scanner(System.in);
System.out.print("Masukan titik awal (x) : ");
kordin1 = putin.nextInt();
ystem.out.print("Masukan titik awal (y) : ");
kordin2 = putin.nextInt();
System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) :
");
a = putin.nextInt();
try
{
Display.setDisplayMode(new DisplayMode(300,300));
Display.setTitle("Garis
Horizontal");
Display.create();
} catch
(LWJGLException e)
{
System.exit(0);
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while (!Display.isCloseRequested())
{
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(kordin1,kordin2);
GL11.glVertex2f(kordin1,kordin2+5);
GL11.glVertex2f(kordin1+a,kordin2+5);
GL11.glVertex2f(kordin1+a,kordin2);
GL11.glEnd();
Display.update();
}
}
}
|
Source
Code Garis Vertikal
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.*;
import java.util.*;
public class Vertikal
{
public void layar() throws
LWJGLException
{
int a,kordin1,kordin2;
Scanner putin = new
Scanner(System.in);
System.out.print("Masukan titik awal (x) : ");
kordin1 = putin.nextInt();
System.out.print("Masukan titik awal (y) : ");
kordin2 = putin.nextInt();
System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) :
");
a = putin.nextInt();
try
{
Display.setDisplayMode(new
DisplayMode(300,300));
Display.setTitle("Garis Vertikal");
Display.create();
} catch
(LWJGLException e)
{
System.exit(0);
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity
GL11.glOrtho(0, 800, 0, 600, 1,
-1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while (!Display.isCloseRequested())
{
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(kordin1,kordin2);
GL11.glVertex2f(kordin1+5,kordin2);
GL11.glVertex2f(kordin1+5,kordin2+a);
GL11.glVertex2f(kordin1,kordin2+a);
GL11.glEnd();
Display.update();
}
}
}
|
Source
Code Garis Diagonal
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.*;
import java.util.*;
public class Diagonal
{
public void layar() throws
LWJGLException
{
int a,kordin1,kordin2;
Scanner putin = new
Scanner(System.in);
System.out.print("Masukan titik awal (x) : ");
kordin1 = putin.nextInt();
System.out.print("Masukan titik awal (y) : ");
kordin2 = putin.nextInt();
System.out.print("Masukan Panjang garis yang diinginkan (dalam Pixel) :
");
a = putin.nextInt();
try
{
Display.setDisplayMode(new
DisplayMode(300,300));
Display.setTitle("Garis
Diagonal");
Display.create();
} catch
(LWJGLException e)
{
System.exit(0);
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while (!Display.isCloseRequested())
{
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(kordin1,kordin2);
GL11.glVertex2f(kordin1-5,kordin2);
GL11.glVertex2f(kordin1+a-5,kordin2+a);
GL11.glVertex2f(kordin1+a,kordin2+a);
GL11.glEnd();
Display.update();
}
}
}
|
Hasil Program
Garis Vertikal
Garis Horizontal
Garis Diagonal
Jika Inputan User
tidak teredapat dalam Menu