OpenGL (Open Graphics Library) adalah spesifikasi standar
yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk
mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun3D. Antarmuka
terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan
untuk menggambar tiga dimensi yang adegan-adegan kompleks dari bentuk-bentuk
primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada
tahun 1992 dan secara luas digunakan dalam CAD, realitas maya,
visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini
juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft
Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah
teknologi konsorsium nirlaba yaitu Khronos Group.
Apa saja yang dibutuhkan untuk Menjalankan Program/Aplikasi yang kita buat nanti ?
- Java Development Kit
ini merupakan sebuah syarat penting dalam mengembangkan aplikasi java dimana
berisi library-library dan complier untuk mengeksekusi kodingan java kita.
Link : Klik
pilih sesuai dengan Sistem Operasi dan platform yang kamu
pakai (misal Windows x86 untuk Windows 32bit dan x64 untuk Windows 64bit)
- Java IDE (Netbeans)
untuk IDE sendiri kita bebas dalam memilih yang penting
library yang akan kita download nanti mensupport IDE tersebut.
Link : Klik
terserah mau download yang mana yang penting Bundles-nya
mencakup Java SE.
- Library LWJGL
library ini berfungsi untuk menghubungkan antara Netbeans
dengan OpenGL.
Linknya : Klik
download yang lwjgl-2.9.1.zip dan
lwjgl-source-2.9.1.zip
Untuk mencobanya bisa menggunakan file dibawah :
Linknya : Klik
Import Terlebih dahulu ke netbeans dengan cara File - import - from zip
Untuk Penjelasan pada Codingan :
3. Masuk ke Netbeans , klik file - Import project - from zip, lalu browse LineMaker yang sudah di download , lalu klik import
4. Maka LineMaker sudah masuk kedalam Netbeans , lalu masukkan Libary nya Klik kanan pada libaries - Add Libary
5. Klik create , disini saya membuat nama libary LWJGL 2.9.1 , lalu klik add JAR/Folder
masukkan file input.jar, lwjgl.jar, lwjgl.util.jar , folder generated dan java , untuk menemukan file dan folder tersebut ( ada di folder LWJGL yang kita buat di Local disk C ) lalu klik OK
6. Maka akan Masuk Libary akan masuk ke dalam LineMaker
Jika Langkah diatas sudah di lakukan , maka Program sudah bisa dijalankan
Penjelasan dan Screenshootan Codingan yang saya gunakan :
1. Vertikal
import
org.lwjgl.LWJGLException; /*memanggil
library untuk menjalankan fungsi pengecualian pada lwjgl*/
2. Horizontal
3. Diagonal
import
org.lwjgl.LWJGLException; /*memanggil
library untuk menjalankan fungsi pengecualian pada lwjgl*/
4. Perintah Salah , Apabila pilihan yang dimasukkan tidak tersedia
masukkan file input.jar, lwjgl.jar, lwjgl.util.jar , folder generated dan java , untuk menemukan file dan folder tersebut ( ada di folder LWJGL yang kita buat di Local disk C ) lalu klik OK
6. Maka akan Masuk Libary akan masuk ke dalam LineMaker
Jika Langkah diatas sudah di lakukan , maka Program sudah bisa dijalankan
Penjelasan dan Screenshootan Codingan yang saya gunakan :
1. Vertikal
Penjelasan :
import
org.lwjgl.opengl.*; /*memanggil
library 'lwjgl' untuk menjalankan renderer opengl*/
import
java.util.*; /*memanggil
library untuk fungsi scanner yang berguna untuk inputan*/
public
class Vertikal {
public
void layar() throws LWJGLException {
int
a,kordin1,kordin2; /*mendefinisikan
variabel 'a,kordin1,dan kordin2'*/
Scanner
putin = new Scanner(System.in); /*mendefinisikan
fungsi Scanner pada 'putin' untuk menerima input user*/
System.out.print("Masukan
titik awal (x) : ");
kordin1
= putin.nextInt(); /*input
koordinat x*/
System.out.print("Masukan
titik awal (y) : ");
kordin2
= putin.nextInt(); /*input
koordinat y*/
System.out.print("Masukan
Panjang garis yang diinginkan (dalam Pixel) : ");
a
= putin.nextInt(); /*menerima
input user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai
panjang dari garis yang akan dibuat*/
try
{
Display.setDisplayMode(new
DisplayMode(300,300)); /*membuat
sebuah jendela rendering dengan seting luas layar = 300x300*/
Display.setTitle("Garis
Vertikal"); /*mengubah
nama jendela rendering menjadi "Garis Vertikal"*/
Display.create(); /*membuat jendela rendering*/
}
catch (LWJGLException e) {
System.exit(0); /*mencegah jendela rendering tertutup apabila tidak ada
aktivitas pada library LWJGL*/
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity(); /*memanggil opengl sebagai renderer */
GL11.glOrtho(0,
800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while
(!Display.isCloseRequested()) { /*mencegah
jendela renderer tertutup kecuali ditutup sendiri oleh user*/
GL11.glBegin(GL11.GL_QUADS);
/*memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4 titik yang
ditentukan*/
GL11.glVertex2f(kordin1,kordin2); /*titik awal*/
GL11.glVertex2f(kordin1+5,kordin2); /*titik
awal, pada sumbu x sengaja diberi jeda agar mempertebal garis yang akan
dibentuk*/
GL11.glVertex2f(kordin1+5,kordin2+a); /*titik akhir, pada sumbu x sengaja diberi jeda agar
mempertebal garis yang akan dibentuk*/
GL11.glVertex2f(kordin1,kordin2+a); /*titik
akhir, pada sumbu y variabel akan ditambahkan 'a' yang sesuai dengan inputan user*/
GL11.glEnd(); /*mengakhiri
proses render*/
Display.update();
}
}
}
OUTPUT
Maka output nya akan seperti pada gambar di atas , disini saya memilih garis vertikal X = 15 , Y = 10 dalam ukuran Pixel 450.
2. Horizontal
Penjelasan :
import
org.lwjgl.LWJGLException; /*memanggil
library untuk menjalankan fungsi pengecualian pada lwjgl*/
import
org.lwjgl.opengl.*; /*memanggil
library 'lwjgl' untuk menjalankan renderer opengl*/
import
java.util.*; /*memanggil
library untuk fungsi scanner yang berguna untuk inputan*/
public
class Horizontal {
public
void layar() throws LWJGLException {
int
a,kordin1,kordin2; /*mendefinisikan
variabel 'a,kordin1,dan kordin2'*/
Scanner
putin = new Scanner(System.in); /*mendefinisikan fungsi Scanner pada 'putin' untuk
menerima input user*/
System.out.print("Masukan
titik awal (x) : ");
kordin1
= putin.nextInt(); /*input
koordinat x*/
System.out.print("Masukan
titik awal (y) : ");
kordin2
= putin.nextInt(); /*input
koordinat y*/
System.out.print("Masukan
Panjang garis yang diinginkan (dalam Pixel) : ");
a
= putin.nextInt(); /*menerima input user dan memasukannya kedalam variabel 'a'
yang akan digunakan sebagai panjang dari garis yang akan dibuat*/
try
{
Display.setDisplayMode(new
DisplayMode(300,300)); /*membuat
sebuah jendela rendering dengan seting luas layar = 300x300*/
Display.setTitle("Garis
Horizontal"); /*mengubah
nama jendela rendering menjadi "Garis Horizontal"*/
Display.create(); /*membuat jendela rendering*/
}
catch (LWJGLException e) {
System.exit(0); /*mencegah
jendela rendering tertutup apabila tidak ada aktivitas pada library LWJGL*/
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity(); /*memanggil opengl sebagai renderer */
GL11.glOrtho(0,
800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while
(!Display.isCloseRequested()) { /*mencegah jendela renderer tertutup
kecuali ditutup sendiri oleh user*/
GL11.glBegin(GL11.GL_QUADS); /*memanggil fungsi 'GL_QUADS untuk merender berdasarkan 4
titik yang ditentukan*/
GL11.glVertex2f(kordin1,kordin2); /*titik awal*/
GL11.glVertex2f(kordin1,kordin2+5); /*titik
awal, pada sumbu y sengaja diberi jeda agar mempertebal garis yang akan
dibentuk*/
GL11.glVertex2f(kordin1+a,kordin2+5); /*titik
akhir, pada sumbu x variabel akan ditambahkan 'a' yang sesuai dengan inputan
user dan pada sumbu y sengaja diberi jeda agar mempertebal garis yang akan
dibentuk*/
GL11.glVertex2f(kordin1+a,kordin2); /*titik akhir,
pada sumbu x variabel akan ditambahkan 'a' yang sesuai dengan inputan user*/
GL11.glEnd(); /*mengakhiri proses render*/
Display.update();
}
}
}
OUTPUT
Maka output nya akan seperti pada gambar di atas , disini saya memilih garis horizontal X = 15 , Y = 10 dalam ukuran Pixel 450.
Penjelasan :
import
org.lwjgl.opengl.*; /*memanggil
library 'lwjgl' untuk menjalankan renderer opengl*/
import
java.util.*; /*memanggil library untuk
fungsi scanner yang berguna untuk inputan*/
public
class Diagonal {
public
void layar() throws LWJGLException {
int
a,kordin1,kordin2; /*mendefinisikan
variabel 'a,kordin1,dan kordin2'*/
Scanner
putin = new Scanner(System.in); /*mendefinisikan
fungsi Scanner pada 'putin' untuk menerima input user*/
System.out.print("Masukan
titik awal (x) : ");
kordin1
= putin.nextInt(); /*input
koordinat x*/
System.out.print("Masukan
titik awal (y) : ");
kordin2
= putin.nextInt(); /*input
koordinat y*/
System.out.print("Masukan
Panjang garis yang diinginkan (dalam Pixel) : ");
a
= putin.nextInt(); /*menerima
input user dan memasukannya kedalam variabel 'a' yang akan digunakan sebagai
panjang dari garis yang akan dibuat*/
try
{
Display.setDisplayMode(new
DisplayMode(300,300)); /*membuat sebuah
jendela rendering dengan seting luas layar = 300x300*/
Display.setTitle("Garis
Diagonal"); /*mengubah
nama jendela rendering menjadi "Garis Diagonal"*/
Display.create(); /*membuat jendela rendering*/
}
catch (LWJGLException e) {
System.exit(0); /*mencegah jendela rendering tertutup apabila tidak ada
aktivitas pada library LWJGL*/
}
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();/*memanggil opengl sebagai renderer */
GL11.glOrtho(0,
800, 0, 600, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
while
(!Display.isCloseRequested()) { /*mencegah
jendela renderer tertutup kecuali ditutup sendiri oleh user*/
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2f(kordin1,kordin2); /*titik awal*/
GL11.glVertex2f(kordin1-5,kordin2); /*titik awal, pada sumbu x sengaja diberi jeda untuk
mempertebal garis*/
GL11.glVertex2f(kordin1+a-5,kordin2+a);
/*titik akhir, pada sumbu x dan y variabel akan
ditambahkan 'a' yang sesuai dengan inputan user dan pada sumbu x sengaja diberi
jeda untuk
mempertebal garis*/
GL11.glVertex2f(kordin1+a,kordin2+a); /*titik akhir, pada sumbu x dan y variabel akan
ditambahkan 'a' yang sesuai dengan inputan user*/
GL11.glEnd(); /*mengakhiri
proses render*/
Display.update();
}
}
}
OUTPUT
Maka output nya akan seperti pada gambar di atas , disini saya memilih garis Diagonal X = 15 , Y = 10 dalam ukuran Pixel 450.
4. Perintah Salah , Apabila pilihan yang dimasukkan tidak tersedia
0 komentar:
Posting Komentar