42
Kegiatan Praktikum 3.2 Membuat Garis
Create_Line.java
public class Create_Line { public void render {
glColor3f1.0f, 0.0f, 1.0f; glLineWidth5;
glBeginGL_LINES; glVertex2f100, 100;
glVertex2f100, 350; glVertex2f200, 100;
glVertex2f300, 350; glVertex2f350, 225;
glVertex2f550, 225; glEnd;
glFlush;
} public static void mainString[] args {
Create_Line main = null; try {
System.out.printlnKeys:; System.out.printlnesc
- Exit; main = new Create_Line;
main.create; main.run;
} catch Exception ex { LOGGER.logLevel.SEVERE, ex.toString, ex;
} finally { if main = null {
main.destroy; }
} }
private void create throws LWJGLException { Display.setDisplayModenew DisplayModeDISPLAY_WIDTH,
DISPLAY_HEIGHT; }
private void run { ....
}
43
private void destroy { ....
} private void initGL {
.... }
private void resizeGL { ....
} }
Keluaran Program
44 Buatlah kode program agar dapat menampilkan seperti sreenshoot di atas
dengan menggunakan fungsi-fungsi primitive drawing dengan ketentuan sebagai berikut :
Ukuran Window :DisplayMode800, 600
Fungsi :glBeginGL_LINE_LOOP;
Titik awal :glVertex2d200, 200;
Primitives merupakan geometri sederhana basic seperti titik points, garis lines dan bangunan dua dimensi. Dalam grafika komputer penghasilan citra
menggunakan primitive grafik dasar, primitif ini memudahkan untur merender atau menggambar pada layar monitor sebagaimana penggunaan persamaan
geometri sederhana. Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat
dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output. Random-scan vektor system menyimpan instruksi pembentukan titik pada
display list dan nilai koordinat menentukan posisi pancaran electron ke arah
E. LatihanTugas
F. Rangkuman
45 lapisan fosfor pada layer. Garis dibuat dengan menentukan posisi titik diantara
titik awal dan akhir dari suatu garis. Untuk menggambar titik point digunakan perintah pointx,y dimana nilai x dan y adalah koordinat pada layar.
Untuk menggambar titik point digunakan perintah pointx,y dimana nilai x dan y adalah koordinat pada layar. Sedangkan untuk membuat garis digunakan
perintah linesx1,y1,x2,y2.
PrimitiveGaris.java import java.util.logging.Level;
import java.util.logging.Logger; import static komgraf01.KomGraf01.DISPLAY_HEIGHT;
import static komgraf01.KomGraf01.DISPLAY_WIDTH; import org.lwjgl.LWJGLException;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode;
import static org.lwjgl.opengl.GL11.; import static org.lwjgl.util.glu.GLU.gluOrtho2D;
public class PrimitiveGaris { public void draw {
glBeginGL_LINE_LOOP; glVertex2d200, 200;
glVertex2d600, 200; glVertex2d200, 325;
glVertex2d600, 325; glVertex2d200, 450;
glVertex2d600, 450; glEnd;
} public void render {
G. Kunci Jawaban
46
glClearGL_COLOR_BUFFER_BIT; glLoadIdentity;
glColor3d1, 0, 0; draw;
glFlush; }
public void create throws LWJGLException { Display.setDisplayModenew DisplayMode800, 600;
Display.setFullscreenfalse; Display.setTitleGAMBAR Primitives-Geometric : GARIS;
Display.create; OpenGL
initGL; resizeGL;
} void initGL {
glClearColor0.0f, 1.0f, 1.0f, 1.0f; glDisableGL_DEPTH_TEST;
glDisableGL_LIGHTING; }
public void resizeGL { 2D Scene
glViewport0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT; glMatrixModeGL_PROJECTION;
glLoadIdentity; gluOrtho2D0.0f, DISPLAY_WIDTH, 0.0f, DISPLAY_HEIGHT;
glPushMatrix; glMatrixModeGL_MODELVIEW;
glLoadIdentity; glPushMatrix;
} public void run {
47
while Display.isCloseRequested Keyboard.isKeyDownKeyboard.KEY_ESCAPE {
if Display.isVisible { update;
render; } else {
if Display.isDirty { render;
} try {
Thread.sleep100; } catch InterruptedException ex {
} }
Display.update; Display.sync60;
} }
private void update { }
public void destroy { Mouse.destroy;
Keyboard.destroy; Display.destroy;
} public static void mainString[] args {
PrimitiveGaris b1 = new PrimitiveGaris; try {
b1.create; b1.run;
} catch LWJGLException ex { Logger.getLoggerPrimitiveGaris.class.getName.logLevel
.SEVERE, null, ex;