Created sahrul-media
ChatBox
Headlines News :
Home » » Grafkom Tentang Segitiga 3D Java OpenGL

Grafkom Tentang Segitiga 3D Java OpenGL

Written By Gunawan on Rabu, 04 Juni 2014 | 21.08



LAPORAN UAS
GRAFIKA KOMPUTER JAVA NEATBEANS
TENTANG
(SEGITIGA 3D DENGAN OPEN-GL)

Diajukan untuk memenuhi tugas (UAS) matakuliah Grafkom






Disusun Oleh :
Nama               : Sahrul Gunawan
Npm                : 130403010045
Fak/Prodi        : FTI/TI






FAKULTAS TEKNOLOGI INFORMASI
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS KANJURUHAN MALANG
2014




KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, yang mana telah memberikan saya kekuatan serta kelancaran dalam menyelesaikan laporan matakuliah Grafika komputer yang berjudul Segitiga 3D dengan OpenGl dapat selesai seperti waktu yang telah penulis rencanakan.
Tersusunnya laporan ini tentunya tidak lepas dari peran serta berbagai pihak yang telah memberikan bantuan secara materil dan spiritual, baik secara langsung maupun tidak langsung.
Oleh karena itu penulis mengucapkan terima kasih kepada :
1.      Bapak Amak Yunus pengasuh mata kuliah pemprograman java.
2.      Orang tua yang telah memberikan bantuan kepada penulis sehingga makalah ini dapat terselesaikan
3.      Teman-teman yang telah membantu dan memberikan dorongan semangat agar makalah ini dapat penulis selesaikan.

Semoga Tuhan Yang Maha Pengasih dan Penyayang membalas budi baik yang tulus dan ikhlas kepada semua pihak yang penulis sebutkan di atas.
Tak ada gading yang tak retak, untuk itu penulispun menyadari bahwa laporan yang telah penulis susun masih memiliki banyak kelemahan serta kekurangan-kekurangan baik dari segi teknis maupun  non-teknis. Untuk itu penulis membuka pintu yang selebar-lebarnya kepada semua pihak agar dapat memberikan saran dan kritik yang membangun demi penyempurnaan penulisan-penulisan mendatang. Dan apabila di dalam laporan ini terdapat hal-hal yang dianggap tidak berkenan di hati pembaca mohon dimaafkan.


Malang, 31 Mei 2014


Penulis

  




A.  Latar Belakang Grafkom

Grafik Komputer ialah suatu ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar dengan cara digital. Bentuk sederhana nya ada grafik Komputer 2D dan berkembang menjadi grafik komputer 3D.
Pengolahan citra ialah salah satu cabang ilmu informatika, pengolahan citra suatu usaha untuk melakukan transformasi citra atau gambar menjadi citra lain dengan suatu teknik tertentu.

      Jadi menurut saya Grafik Komputer dan Pengolahan Citra, salah satu ilmu komputer yang menjelaskan tentang manipulasi gambar dengan cara digital, grafik 2D dan 3D, juga mengolah suatu citra atau gambar, menjadi citra lain dengan teknik tertentu.
A.  Manfaat
Contoh Grafik Komputer :
1.    Hiburan , seperti film animasi dengan grafik komputer yang bagus.
2.    Pendidikan, permainan untuk pendidikan mengunakan grafik computer yang menarik di lihat.
3.    karya seni, Hasil dapat berupa kartun, animasi, logo, lukisan abstrak, dsketsa dan lain sebagainya.

B.  Tujuan
1.    Menyelesaikan Ujian Akhir Semester matakuliah Grafika Komputer semester 2.
2.    Mahasiswa mampu mengimplementasikan fungsi dari project tersebut dengan menggunakan bahasa pemrograman Java Neatbeans.












C.  Tentang Program
Penulis membuat Segitiga 3D dengan OpenGL menggunakan aplikasi Java Neatbeans, dalam program ini penulis menggunakan OpenGL yang mana dalam program ini user harus menginputkan sofware openGl-nya agar nantinya program bisa dijalankan. Atau bisa juga menggunakan software 3D dengan menambahkan di libraries-nya.

D.  Source Code Program
package org.yourorghere;

import com.sun.opengl.util.Animator;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
import java.awt.color.*;



/**
 * SimpleJOGL.java <BR>
 * author: Brian Paul (converted to Java by Ron Cemer and Sven Goethel) <P>
 *
 * This version is equal to Brian Paul's version 1.2 1999/10/21
 */
public class SimpleJOGL implements GLEventListener {

    public static void main(String[] args) {
        Frame frame = new Frame("SAHRUL GUNAWAN 130403010045");
        GLCanvas canvas = new GLCanvas();

        canvas.addGLEventListener(new SimpleJOGL());
        frame.add(canvas);
        frame.setSize(500, 350);
        final Animator animator = new Animator(canvas);
        frame.addWindowListener(new WindowAdapter() {

            @Override
            public void windowClosing(WindowEvent e) {
                // Run this on another thread than the AWT event queue to
                // make sure the call to Animator.stop() completes before
                // exiting
                new Thread(new Runnable() {

                    public void run() {
                        animator.stop();
                        System.exit(0);
                    }
                }).start();
            }
        });
        // Center frame
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        animator.start();
    }
    private float r;

    public void init(GLAutoDrawable drawable) {
        // Use debug pipeline
        // drawable.setGL(new DebugGL(drawable.getGL()));

        GL gl = drawable.getGL();
        System.err.println("INIT GL IS: " + gl.getClass().getName());

        // Enable VSync
        gl.setSwapInterval(1);

        // Setup the drawing area and shading mode
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
        gl.glShadeModel(GL.GL_SMOOTH); // try setting this to GL_FLAT and see what happens.
    }

    public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
        GL gl = drawable.getGL();
        GLU glu = new GLU();

        if (height <= 0) { // avoid a divide by zero error!
       
            height = 1;
        }
        final float h = (float) width / (float) height;
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL.GL_PROJECTION);
        gl.glLoadIdentity();
        glu.gluPerspective(45.0f, h, 1.0, 20.0);
        gl.glMatrixMode(GL.GL_MODELVIEW);
        gl.glLoadIdentity();
    }

    public void display(GLAutoDrawable drawable) {
        GL gl = drawable.getGL();

       
      
        // Clear the drawing area
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
        // Reset the current matrix to the "identity"
        gl.glLoadIdentity();

        // Move the "drawing cursor" around
        gl.glTranslatef(-1.5f, 0.0f, -5.0f);

        // Drawing Using Triangles
       /*gl.glBegin(GL.GL_TRIANGLES);
            gl.glColor3f(1.0f, 0.0f, 0.0f);    // Set the current drawing color to red
            gl.glVertex3f(0.0f, 1.0f, 0.0f);   // Top
            gl.glColor3f(0.0f, 1.0f, 0.0f);    // Set the current drawing color to green
            gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
            gl.glColor3f(0.0f, 0.0f, 1.0f);    // Set the current drawing color to blue
            gl.glVertex3f(1.0f, -1.0f, 0.0f);  // Bottom Right
        // Finished Drawing The Triangle
        gl.glEnd();

        // Move the "drawing cursor" to another position
        gl.glTranslatef(3.0f, 0.0f, 0.0f);
        // Draw A Quad
        gl.glBegin(GL.GL_QUADS);
            gl.glColor3f(0.5f, 0.5f, 1.0f);    // Set the current drawing color to light blue
            gl.glVertex3f(-1.0f, 1.0f, 0.0f);  // Top Left
            gl.glVertex3f(1.0f, 1.0f, 0.0f);   // Top Right
            gl.glVertex3f(1.0f, -1.0f, 0.0f);  // Bottom Right
            gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
        // Done Drawing The Quad
        gl.glEnd();*/
       
       
gl.glRotatef(r,0.0f, 0.0f, 0.1f);
   
gl.glBegin (GL.GL_QUADS);
gl.glColor3f (0.0f, 0.1f, 0.0f);
gl.glVertex3f (0.0f, 0.5f, 0.0f);
gl.glVertex3f (0.4f, 0.5f, 0.0f);
gl.glVertex3f (0.4f, 0.5f, 0.4f);
gl.glVertex3f (0.0f, 0.5f, 0.4f);
gl.glEnd();


gl.glBegin (GL.GL_TRIANGLES) ;
gl.glColor3f(1.0f, 0.0f, 0.0f); //r
gl.glVertex3f (0.0f, 0.5f, 0.0f);
gl.glColor3f(0.0f, 0.0f, 1.0f); //b
gl.glVertex3f (0.4f, 0.5f, 0.0f);
gl.glColor3f(0.0f, 1.0f, 0.0f); //g
gl.glVertex3f (0.2f, 0.0f, 0.2f);


gl.glColor3f(1.0f, 0.0f, 0.0f); //r
gl.glVertex3f (0.4f, 0.5f, 0.0f);
gl.glColor3f(0.0f, 0.0f, 1.0f); //b
gl.glVertex3f (0.4f, 0.5f, 0.4f);
gl.glColor3f(0.0f, 1.0f, 0.0f); //g
gl.glVertex3f (0.2f, 0.0f, 0.2f);

gl.glColor3f(1.0f, 0.0f, 0.0f); //r
gl.glVertex3f (0.4f, 0.5f, 0.4f);
gl.glColor3f(0.0f, 0.0f, 1.0f); //b
gl.glVertex3f (0.0f, 0.5f, 0.4f);
gl.glColor3f(0.0f, 1.0f, 0.0f); //g
gl.glVertex3f (0.2f, 0.0f, 0.2f);

gl.glColor3f(1.0f, 0.0f, 0.0f); //r
gl.glVertex3f (0.0f, 0.5f, 0.4f);
gl.glColor3f(0.0f, 0.0f, 1.0f); //b
gl.glVertex3f (0.0f, 0.5f, 0.0f);
gl.glColor3f(0.0f, 1.0f, 0.0f); //g
gl.glVertex3f (0.2f, 0.0f,0.2f);

gl.glEnd ();
r++;
   


        // Flush all drawing operations to the graphics card
        gl.glFlush();
    }

    public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) {
    }
}



Share this article :

2 komentar:

  1. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  2. Ijin berbagi ke rekan-rekan yang punya hobi bikin game

    http://heriadyblog.blogspot.com/2015/05/belajar-c-game-programming.html

    BalasHapus

English French German Spain Italian Japanese Korean Chinese Simplified

Tweets

FunsPage

 
Support : Creating Website | media-template | sahrul Template
Proudly powered by Blogger
Copyright © 2011. MEDIA BELAJAR - All Rights Reserved
Template Design by Creating Website Published by sahrul-media