LISTING PROGRAM
#include
#include
#include
#include
voidmulaiOpenGL(void);
int main(void)
{
//
// mRunning = TRUE, aplikasimasihberjalan
// mRunning = FALSE, ???:p
GLuintmRunning = GL_TRUE;
//
// inisialisasi GLFW
if(glfwInit() == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagalmenginisialisasi GLFW", "Error!", MB_OK);
return(0);
}
//
// buatsebuah window yang akandigunakanuntukmenggambar.
if(glfwOpenWindow( 640, 480, 0, 0, 0, 0, 24, 0, GLFW_WINDOW ) == GL_FALSE )
{
MessageBox( NULL, "ERROR :: gagalmembuat window", "Error!", MB_OK );
glfwTerminate();
return(0);
}
//
// Set judul yang ada di window dan Swap interval.
glfwSetWindowTitle( "PraktikumGrafikKomputerLabTI" );
glfwSwapInterval( 1 );
//
// mulai OpenGL (melakukan setting awal OpenGL)
mulaiOpenGL();
//
// mulai looping utama program
while(mRunning )
{
//
// bersihkanlayardan depth buffer
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();
//
// lakukanpenggambaran di sini
//------------------------------------------------------------------------------------
gluLookAt(0,0,20,0,0,0,0,1,0);
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(3,3);
glVertex2f(3,7);
glVertex2f(9,7);
glVertex2f(9,3);
glVertex2f(6,7);
glVertex2f(4,9);
glVertex2f(6,11);
glVertex2f(8,9);
glEnd();
glBegin(GL_LINES);
glColor3f(0,0,0);
glVertex2f(0,5);
glVertex2f(3,5);
glVertex2f(9,5);
glVertex2f(12,5);
glVertex2f(3,1);
glVertex2f(6,3);
glVertex2f(9,1);
glVertex2f(6,3);
glColor3f(1,1,1);
glVertex2f(4,9);
glVertex2f(8,9);
glEnd();
//------------------------------------------------------------------------------------
//
// tampilkankelayar (swap double buffer)
glfwSwapBuffers();
//
// check input ,apakahtombol esc ditekanatautombol "close" diclick
mRunning = !glfwGetKey( GLFW_KEY_ESC ) &&glfwGetWindowParam( GLFW_OPENED );
}
glfwTerminate();
return(0);
}
voidmulaiOpenGL(void)
{
//
// Set viewport keresolusi 640x480 viewport bisadiibaratkan
// layar monitor anda
glViewport( 0, 0, 640, 480 );
//
// Set mode OpenGL ke mode pryeksi (Projection) dan set proyeksi
// menggunakanproyeksi perspective, dengansudutpandang (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 gradasiwarnahalus (Smooth)
glShadeModel( GL_SMOOTH );
//
// warna yang digunakanuntukmembersihkanlayar
glClearColor( 1.0f, 1.0f, 1.0f, 0.0f );
//
// nilaiuntukmembersihkan depth buffer.
glClearDepth( 1.0f );
//
// Depth test digunakanuntukmenghindari polygon yang
// tumpangtindih.
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LEQUAL );
//
// beritahu OpenGL untukmenggunakanperhitungan perspective
// yang terbaik (perhitunganinitidakbisaselalu 100% akurat)
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
}
Tidak ada komentar:
Posting Komentar