Rabu, 19 Oktober 2016

TUGAS 2 GRAFKOM 1

Nama Kelompok:

-Vendes Petrik Maela.S           (5A414986)
-Riske Dwi Cahyati                 (59414499) 
-Alby Septian Widodo             (50412568)
-Nyoman Arya Prakamyajati   (5B415801)
3IA12 



OBJEK 3D (BALOK) PADA OPENGL 

Pada pembuatan tugas kali ini kami menggunakan dev c++ dengan ditambah library dari freeglut yang bisa kita download dari internet.
Berikut ini tahap pembuatan objek tersebut.


pada kode diatas menjelaskan tentang pendeklarasikan variable global bertipe char, GLfloat, dan int
dan mengeset nilai variable global.
pada kode diatas itu mendeklarasikan fungsi initGL bertipe void. baris pertama pada fungsi itu menjelaskan tentang pewarnaan background.kemudian baris kedua tentang set backgroud sampai kedalaman paling jauh. kemudian tes set tipe kedalaman.membuat menghaluskan bayangan.


mengeset kordinat pada titik-titik kordinat untuk membangun balok tersebut pada warna - warna yang diberi keterangan pada komen program
 ini juga mengeset titik - titik koordinat tersebut sesuai warnanya
di fungsi ini menjelaskan titik koordinat pada warna pink

fungsi diatas mengeset kecepatan waktu berputar


Berikut sintaks keseluruhannya :

#include <GL/glut.h>
char title[] = "3D Shapes with animation";
GLfloat angleCube = 0.0f;  
int refreshMills = 15;     

/* Initialize OpenGL Graphics */
void initGL() {
    glClearColor(255.0f, 255.0f, 255.0f, 1.0f);
   glClearDepth(1.0f);                  
   glEnable(GL_DEPTH_TEST);  
   glDepthFunc(GL_LEQUAL);   
   glShadeModel(GL_SMOOTH);  
   glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}

void display() {
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   glMatrixMode(GL_MODELVIEW);    

   glLoadIdentity();                
   glTranslatef(1.5f, 0.0f, -7.0f); 
   glRotatef(angleCube, 1.0f, 1.0f, 1.0f); 

   glBegin(GL_QUADS);             
      glColor3f(0.0f, 1.0f, 0.0f);     // Hijau
      glVertex3f( 2.0f, 1.0f, -1.0f);
      glVertex3f(-2.0f, 1.0f, -1.0f);
      glVertex3f(-2.0f, 1.0f,  1.0f);
      glVertex3f( 2.0f, 1.0f,  1.0f);

      // Bottom face (y = -1.0f)
      glColor3f(1.0f, 0.5f, 0.0f);     // Orange
      glVertex3f( 2.0f, -1.0f,  1.0f);
      glVertex3f(-2.0f, -1.0f,  1.0f);
      glVertex3f(-2.0f, -1.0f, -1.0f);
      glVertex3f( 2.0f, -1.0f, -1.0f);

      // Front face  (z = 1.0f)
      glColor3f(1.0f, 0.0f, 0.0f);     // merah
      glVertex3f( 2.0f,  1.0f, 1.0f);
      glVertex3f(-2.0f,  1.0f, 1.0f);
      glVertex3f(-2.0f, -1.0f, 1.0f);
      glVertex3f( 2.0f, -1.0f, 1.0f);

      // Back face (z = -1.0f)
      glColor3f(1.0f, 1.0f, 0.0f);     // kuning
      glVertex3f( 2.0f, -1.0f, -1.0f);
      glVertex3f(-2.0f, -1.0f, -1.0f);
      glVertex3f(-2.0f,  1.0f, -1.0f);
      glVertex3f( 2.0f,  1.0f, -1.0f);

      // Left face (x = -1.0f)
      glColor3f(0.0f, 0.0f, 1.0f);     // Biru
      glVertex3f(-2.0f,  1.0f,  1.0f);
      glVertex3f(-2.0f,  1.0f, -1.0f);
      glVertex3f(-2.0f, -1.0f, -1.0f);
      glVertex3f(-2.0f, -1.0f,  1.0f);

      // Right face (x = 1.0f)
      glColor3f(1.0f, 0.0f, 1.0f);     // Pink
      glVertex3f(2.0f, -1.0f, -1.0f);
      glVertex3f(2.0f, -1.0f, 1.0f);
      glVertex3f(2.0f, 1.0f, 1.0f);
      glVertex3f(2.0f, 1.0f, -1.0f);
   glEnd(); 

   glLoadIdentity();                 
   glTranslatef(-1.5f, 0.0f, -6.0f); 

   glutSwapBuffers(); 
   angleCube -= 1.05f;
}

/* Called back when timer expired [NEW] */
void timer(int value) {
   glutPostRedisplay();     
   glutTimerFunc(refreshMills, timer, 0);}

void reshape(GLsizei width, GLsizei height) { 
   if (height == 0) height = 1;               
   GLfloat aspect = (GLfloat)width / (GLfloat)height;

   glViewport(0, 0, width, height);

   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();           
   gluPerspective(45.0f, aspect, 0.1f, 100.0f);
}
int main(int argc, char** argv) {

   glutInit(&argc, argv);           
   glutInitDisplayMode(GLUT_DOUBLE);
   glutInitWindowSize(640, 480);  
   glutInitWindowPosition(50, 50);
   glutCreateWindow(title);       
   glutDisplayFunc(display);      
   glutReshapeFunc(reshape);      
   initGL();                      
   glutTimerFunc(0, timer, 0);    
   glutMainLoop();                
   return 0;
}

Berikut ini output dari program tersebut:


  Sekian penulisan kali ini kurang lebihnya kami minta maaf, semoga penulisan kali ini bermanfaat bagi pembaca sekalian. TerimaKasih

1 komentar:

  1. Silahkan di kunjungi ya teman teman 100% Memuaskan
    > Hoki anda ada di sini <
    1 USER ID UNTUK SEMUA GAME
    Kami memberi bukti bukan Janji
    Daftar sekarang juga di www.dewalotto.club
    MIN DEPO & WD HANYA Rp.20.000,-
    UNTUK INFORMASI SELANJUTNYA BISA HUB KAMI DI :
    WHATSAPP : ( +855 69312579 ) 24 JAM ONLINE
    MELAYANI TRANSAKSI VIA BANK :
    BCA - MANDIRI - BRI - BNI - DANAMON-NIAGA
    Raihlah Mimpi Anda Setiap Hari & Jadilah Pemenang !!!

    BalasHapus