#include
#include
#include
#include
void mulaiOpenGL(void);
int main(void)
{
//
// mRunning = TRUE, aplikasi masih berjalan
// mRunning = FALSE, ??? :p
GLuint mRunning = GL_TRUE;
//
// inisialisasi GLFW
if( glfwInit() == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagal menginisialisasi GLFW", "Error!", MB_OK);
return(0);
}
//
// buat sebuah window yang akan digunakan untuk menggambar.
if( glfwOpenWindow( 640, 480, 0, 0, 0, 0, 24, 0, GLFW_WINDOW ) == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagal membuat window", "Error!", MB_OK );
glfwTerminate();
return(0);
}
//
// Set judul yang ada di window dan Swap interval.
glfwSetWindowTitle( "Praktikum Grafik Komputer LabTI" );
glfwSwapInterval( 1 );
//
// mulai OpenGL (melakukan setting awal OpenGL)
mulaiOpenGL();
float sudut =1;
//
// mulai looping utama program
while( mRunning )
{
//
// bersihkan layar dan depth buffer
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();
//
// lakukan penggambaran di sini
//------------------------------------------------------------------------------------
gluLookAt(0,0,30,0,0,0,0,1,0);
glRotatef(sudut,1,1,1);
sudut += 1;
//kaki
glBegin(GL_QUADS); //kaki1
glColor3f(1,0,0);
glVertex3f(-7.5,-3.3,0); //depan
glVertex3f(-6.8,-3.3,0);
glVertex3f(-6.8,4,0);
glVertex3f(-7.5,4,0);
glColor3f(1,1,0);
glVertex3f(-7.5,-3.3,-0.7); //belakang
glVertex3f(-6.8,-3.3,-0.7);
glVertex3f(-6.8,4,-0.7);
glVertex3f(-7.5,4,-0.7);
glColor3f(0,1,0);
glVertex3f(-7.5,-3.3,0); //kiri
glVertex3f(-7.5,-3.3,-0.7);
glVertex3f(-7.5,4,-0.7);
glVertex3f(-7.5,4,0);
glColor3f(1,0,1);
glVertex3f(-6.8,-3.3,0); //kanan
glVertex3f(-6.8,-3.3,-0.7);
glVertex3f(-6.8,4,-0.7);
glVertex3f(-6.8,4,0);
glColor3f(0,0,1);
glVertex3f(-7.5,-3.3,0); //bawah
glVertex3f(-6.8,-3.3,0);
glVertex3f(-6.8,-3.3,-0.7);
glVertex3f(-7.5,-3.3,-0.7);
glColor3f(0,1,1); //atas
glVertex3f(-7.5,4,0);
glVertex3f(-6.8,4,0);
glVertex3f(-6.8,4,-0.7);
glVertex3f(-7.5,4,-0.7);
glBegin(GL_QUADS); //kaki2
glColor3f(1,1,0);
glVertex3f(7.5,-3.3,0); //depan
glVertex3f(6.8,-3.3,0);
glVertex3f(6.8,1.6,0);
glVertex3f(7.5,1.6,0);
glColor3f(1,0,0);
glVertex3f(7.5,-3.3,-0.7); //belakang
glVertex3f(6.8,-3.3,-0.7);
glVertex3f(6.8,1.6,-0.7);
glVertex3f(7.5,1.6,-0.7);
glColor3f(0,1,0);
glVertex3f(7.5,-3.3,0); //kiri
glVertex3f(7.5,-3.3,-0.7);
glVertex3f(7.5,1.6,-0.7);
glVertex3f(7.5,1.6,0);
glColor3f(1,0,1);
glVertex3f(6.8,-3.3,0); //kanan
glVertex3f(6.8,-3.3,-0.7);
glVertex3f(6.8,1.6,-0.7);
glVertex3f(6.8,1.6,0);
glColor3f(0,0,1);
glVertex3f(7.5,-3.3,0); //atas
glVertex3f(6.8,-3.3,0);
glVertex3f(6.8,-3.3,-0.7);
glVertex3f(7.5,-3.3,-0.7);
glColor3f(0,1,1);
glVertex3f(7.5,1.6,0); //bawah
glVertex3f(6.8,1.6,0);
glVertex3f(6.8,1.6,-0.7);
glVertex3f(7.5,1.6,-0.7);
glBegin(GL_QUADS); //kaki3
glColor3f(1,0,0);
glVertex3f(-7.5,-3.3,-4.2); //depan
glVertex3f(-6.8,-3.3,-4.2);
glVertex3f(-6.8,4,-4.2);
glVertex3f(-7.5,4,-4.2);
glColor3f(1,1,0);
glVertex3f(-7.5,-3.3,-4.9); //belakang
glVertex3f(-6.8,-3.3,-4.9);
glVertex3f(-6.8,4,-4.9);
glVertex3f(-7.5,4,-4.9);
glColor3f(0,1,0);
glVertex3f(-7.5,-3.3,-4.2); //kiri
glVertex3f(-7.5,-3.3,-4.9);
glVertex3f(-7.5,4,-4.9);
glVertex3f(-7.5,4,-4.2);
glColor3f(1,0,1);
glVertex3f(-6.8,-3.3,-4.2); //kanan
glVertex3f(-6.8,-3.3,-4.9);
glVertex3f(-6.8,4,-4.9);
glVertex3f(-6.8,4,-4.2);
glColor3f(0,0,1);
glVertex3f(-7.5,-3.3,-4.2); //atas
glVertex3f(-6.8,-3.3,-4.2);
glVertex3f(-6.8,-3.3,-4.9);
glVertex3f(-7.5,-3.3,-4.9);
glColor3f(0,1,1);
glVertex3f(-7.5,4,-4.2); //bawah
glVertex3f(-6.8,4,-4.2);
glVertex3f(-6.8,4,-4.9);
glVertex3f(-7.5,4,-4.9);
glBegin(GL_QUADS); //kaki4
glColor3f(1,1,0);
glVertex3f(7.5,-3.3,-4.2); //depan
glVertex3f(6.8,-3.3,-4.2);
glVertex3f(6.8,1.6,-4.2);
glVertex3f(7.5,1.6,-4.2);
glColor3f(1,0,0);
glVertex3f(7.5,-3.3,-4.9); //belakang
glVertex3f(6.8,-3.3,-4.9);
glVertex3f(6.8,1.6,-4.9);
glVertex3f(7.5,1.6,-4.9);
glColor3f(0,1,0);
glVertex3f(7.5,-3.3,-4.2); //kiri
glVertex3f(7.5,-3.3,-4.9);
glVertex3f(7.5,1.6,-4.9);
glVertex3f(7.5,1.6,-4.2);
glColor3f(1,0,1);
glVertex3f(6.8,-3.3,-4.2); //kanan
glVertex3f(6.8,-3.3,-4.9);
glVertex3f(6.8,1.6,-4.9);
glVertex3f(6.8,1.6,-4.2);
glColor3f(0,0,1);
glVertex3f(7.5,-3.3,-4.2); //atas
glVertex3f(6.8,-3.3,-4.2);
glVertex3f(6.8,-3.3,-4.9);
glVertex3f(7.5,-3.3,-4.9);
glColor3f(0,1,1);
glVertex3f(7.5,1.6,-4.2); //bawah
glVertex3f(6.8,1.6,-4.2);
glVertex3f(6.8,1.6,-4.9);
glVertex3f(7.5,1.6,-4.9);
//rangka samping
glBegin(GL_QUADS); //depanI
glColor3f(1,1,0);
glVertex3f(-6.8,0.4,0); //depan
glVertex3f(-6.8,-0.3,0);
glVertex3f(6.8,-0.3,0);
glVertex3f(6.8,0.4,0);
glColor3f(1,0,0);
glVertex3f(-6.8,0.4,-0.7); //belakang
glVertex3f(-6.8,-0.3,-0.7);
glVertex3f(6.8,-0.3,-0.7);
glVertex3f(6.8,0.4,-0.7);
glColor3f(0,1,0);
glVertex3f(-6.8,0.4,0); //atas
glVertex3f(-6.8,0.4,-0.7);
glVertex3f(6.8,0.4,-0.7);
glVertex3f(6.8,0.4,0);
glColor3f(1,0,1);
glVertex3f(-6.8,-0.3,0); //bawah
glVertex3f(-6.8,-0.3,-0.7);
glVertex3f(6.8,-0.3,-0.7);
glVertex3f(6.8,-0.3,0);
glBegin(GL_QUADS); //belakangI
glColor3f(1,1,0);
glVertex3f(-6.8,0.4,-4.2); //depan
glVertex3f(-6.8,-0.3,-4.2);
glVertex3f(6.8,-0.3,-4.2);
glVertex3f(6.8,0.4,-4.2);
glColor3f(1,0,0);
glVertex3f(-6.8,0.4,-4.9); //belakang
glVertex3f(-6.8,-0.3,-4.9);
glVertex3f(6.8,-0.3,-4.9);
glVertex3f(6.8,0.4,-4.9);
glColor3f(0,1,0);
glVertex3f(-6.8,0.4,-4.2); //atas
glVertex3f(-6.8,0.4,-4.9);
glVertex3f(6.8,0.4,-4.9);
glVertex3f(6.8,0.4,-4.2);
glColor3f(1,0,1);
glVertex3f(-6.8,-0.3,-4.2); //bawah
glVertex3f(-6.8,-0.3,-4.9);
glVertex3f(6.8,-0.3,-4.9);
glVertex3f(6.8,-0.3,-4.2);
glBegin(GL_QUADS); //kiriI
glColor3f(1,1,0);
glVertex3f(-7.5,-0.3,-0.7); //depan
glVertex3f(-7.5,0.4,-0.7);
glVertex3f(-7.5,0.4,-4.2);
glVertex3f(-7.5,-0.3,-4.2);
glColor3f(1,0,0);
glVertex3f(-6.8,-0.3,-0.7); //belakang
glVertex3f(-6.8,0.4,-0.7);
glVertex3f(-6.8,0.4,-4.2);
glVertex3f(-6.8,-0.3,-4.2);
glColor3f(0,1,0);
glVertex3f(-7.5,0.4,-0.7); //atas
glVertex3f(-6.8,0.4,-0.7);
glVertex3f(-6.8,0.4,-4.2);
glVertex3f(-7.5,0.4,-4.2);
glColor3f(1,0,1);
glVertex3f(-7.5,-0.3,-0.7); //bawah
glVertex3f(-6.8,-0.3,-0.7);
glVertex3f(-6.8,-0.3,-4.2);
glVertex3f(-7.5,-0.3,-4.2);
glBegin(GL_QUADS); //kananI
glColor3f(1,1,0);
glVertex3f(7.5,-0.3,-0.7); //depan
glVertex3f(7.5,0.4,-0.7);
glVertex3f(7.5,0.4,-4.2);
glVertex3f(7.5,-0.3,-4.2);
glColor3f(1,0,0);
glVertex3f(6.8,-0.3,-0.7); //belakang
glVertex3f(6.8,0.4,-0.7);
glVertex3f(6.8,0.4,-4.2);
glVertex3f(6.8,-0.3,-4.2);
glColor3f(0,1,0);
glVertex3f(7.5,0.4,-0.7); //atas
glVertex3f(6.8,0.4,-0.7);
glVertex3f(6.8,0.4,-4.2);
glVertex3f(7.5,0.4,-4.2);
glColor3f(1,0,1);
glVertex3f(7.5,-0.3,-0.7); //bawah
glVertex3f(6.8,-0.3,-0.7);
glVertex3f(6.8,-0.3,-4.2);
glVertex3f(7.5,-0.3,-4.2);
//hiasan atas
glBegin(GL_QUADS);
glColor3f(1,1,0);
glVertex3f(-7.5,2,-0.7); //depan
glVertex3f(-7.5,3.5,-0.7);
glVertex3f(-7.5,3.5,-4.2);
glVertex3f(-7.5,2,-4.2);
glColor3f(1,0,0);
glVertex3f(-6.8,2,-0.7); //belakang
glVertex3f(-6.8,3.5,-0.7);
glVertex3f(-6.8,3.5,-4.2);
glVertex3f(-6.8,2,-4.2);
glColor3f(0,1,0);
glVertex3f(-7.5,3.5,-0.7); //atas
glVertex3f(-6.8,3.5,-0.7);
glVertex3f(-6.8,3.5,-4.2);
glVertex3f(-7.5,3.5,-4.2);
glColor3f(1,0,1);
glVertex3f(-7.5,2,-0.7); //bawah
glVertex3f(-6.8,2,-0.7);
glVertex3f(-6.8,2,-4.2);
glVertex3f(-7.5,2,-4.2);
//kasur
glBegin(GL_QUADS);
glColor3f(1,1,1);
glVertex3f(-6.8,1.4,-0.7); //atas
glVertex3f(6.8,1.4,-0.7);
glVertex3f(6.8,1.4,-4.2);
glVertex3f(-6.8,1.4,-4.2);
glColor3f(1,1,1);
glVertex3f(-6.8,0.4,-0.7); //depan
glVertex3f(6.8,0.4,-0.7);
glVertex3f(6.8,1.4,-0.7);
glVertex3f(-6.8,1.4,-0.7);
glColor3f(1,1,1);
glVertex3f(-6.8,0.4,-4.2); //belakang
glVertex3f(6.8,0.4,-4.2);
glVertex3f(6.8,1.4,-4.2);
glVertex3f(-6.8,1.4,-4.2);
glColor3f(1,1,1);
glVertex3f(6.8,0.4,-0.7); //kiri
glVertex3f(6.8,0.4,-4.2);
glVertex3f(6.8,1.4,-4.2);
glVertex3f(6.8,1.4,-0.7);
glColor3f(1,1,1);
glVertex3f(-6.8,0.4,-0.7); //kanan
glVertex3f(-6.8,0.4,-4.2);
glVertex3f(-6.8,1.4,-4.2);
glVertex3f(-6.8,1.4,-0.7);
//bantal
glBegin(GL_QUADS);
glColor3f(0,0,1);
glVertex3f(-6.4,1.8,-0.9); //atas
glVertex3f(-4.4,1.8,-0.9);
glVertex3f(-4.4,1.8,-3.9);
glVertex3f(-6.4,1.8,-3.9);
glColor3f(0,0,1);
glVertex3f(-6.4,1.8,-0.9); //depan
glVertex3f(-4.4,1.8,-0.9);
glVertex3f(-4.4,1.4,-0.9);
glVertex3f(-6.4,1.4,-0.9);
glColor3f(0,0,1);
glVertex3f(-6.4,1.8,-3.9); //belakang
glVertex3f(-4.4,1.8,-3.9);
glVertex3f(-4.4,1.4,-3.9);
glVertex3f(-6.4,1.4,-3.9);
glColor3f(0,0,1);
glVertex3f(-6.4,1.8,-0.9); //kiri
glVertex3f(-6.4,1.8,-3.9);
glVertex3f(-6.4,1.4,-3.9);
glVertex3f(-6.4,1.4,-0.9);
glColor3f(0,0,1);
glVertex3f(-4.4,1.8,-0.9); //kanan
glVertex3f(-4.4,1.8,-3.9);
glVertex3f(-4.4,1.4,-3.9);
glVertex3f(-4.4,1.4,-0.9);
//selimut
glBegin(GL_QUADS);
glColor3f(0,1,1);
glVertex3f(-3,1.4,0); //atas
glVertex3f(7.5,1.8,0);
glVertex3f(7.5,1.8,-4.9);
glVertex3f(-3,1.4,-4.9);
glColor3f(0,1,1);
glVertex3f(-3,1.4,0); //depan
glVertex3f(7.5,1.8,0);
glVertex3f(7.5,-2,0);
glVertex3f(-3,-2,0);
glColor3f(0,1,1);
glVertex3f(-3,1.4,-4.9); //depan
glVertex3f(7.5,1.8,-4.9);
glVertex3f(7.5,-2,-4.9);
glVertex3f(-3,-2,-4.9);
glColor3f(0,1,1);
glVertex3f(7.5,1.8,0); //kaki
glVertex3f(7.5,1.8,-4.9);
glVertex3f(7.5,-2,-4.9);
glVertex3f(7.5,-2,0);
glEnd();
//------------------------------------------------------------------------------------
//
// tampilkan ke layar (swap double buffer)
glfwSwapBuffers();
//
// check input , apakah tombol esc ditekan atau tombol "close" diclick
mRunning = !glfwGetKey( GLFW_KEY_ESC ) && glfwGetWindowParam( GLFW_OPENED );
}
glfwTerminate();
return(0);
}
void mulaiOpenGL(void)
{
//
// Set viewport ke resolusi 640x480 viewport bisa diibaratkan
// layar monitor anda
glViewport( 0, 0, 640, 480 );
//
// Set mode OpenGL ke mode pryeksi (Projection) dan set proyeksi
// menggunakan proyeksi perspective, dengan sudut pandang (Field Of
// View) 60 derajat
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( 60.0f, 640.0f/480.0f, 0.1f, 1000.0f );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
//
// Set mode gradasi warna halus (Smooth)
glShadeModel( GL_SMOOTH );
//
// warna yang digunakan untuk membersihkan layar
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
//
// nilai untuk membersihkan depth buffer.
glClearDepth( 1.0f );
//
// Depth test digunakan untuk menghindari polygon yang
// tumpang tindih.
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LEQUAL );
//
// beritahu OpenGL untuk menggunakan perhitungan perspective
// yang terbaik (perhitungan ini tidak bisa selalu 100% akurat)
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
}
output
Tidak ada komentar:
Posting Komentar