Selasa, 02 November 2010

cara membuat sebuah bangun 2 dimensi menggunakan peles C

karena permintaan banyak dari teman yang ingin mengetahui cara membuat bangun 2 dimensi dengan menggunakan peles C..pertama kita harus sudah menginstall program peles C itu sendiri jika ada yang belum klik di sini Peles C setelah kita sudah menginstall kita harus juga menginstall modul ya agar kita mudah dalam mengerjakan dan membuat suatu bangun 2 dimensi..yang saya pake modul adalah modul peles C dari Lab ti..di dalam link yang saya beri tahu juga saya sudah memberikan modul yang di perluakan  + cara menginstall ya..
setelah kita sudah menginstal kita akan mulai membuat suatu bangun ruang 2 dimensi.
hal-hal yang harus dikerjaklan adalah
1. buka program peles C tersebut yang baru kita install tadi

2.setelah kita buat project baru yaitu dengan file--> new-->project lab ti ( karena kita sudah install modul dari lab ti maka akan muncul modul yang bernama lab ti seperti gambar dibawah ini
*jika kita sudah muncul modul labti berarti kita sudah berhasil menginstall open GL dari lab ti..oya setelah kita klik lab ti open GL ya jangan lupa di Name : disi nama file ya.C  trz langsung OK..tinggal next dan Finish

3. sekarang kita buat bangun 2 dimensi ya..yaitu kita buat segitiga...
#include (windows.h)
#include (GL/gl.h)
#include (GL/glu.h)
#include (GL/glfw.h)

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( "Tugas GarfkomI" );
glfwSwapInterval( 1 );
//
// mulai OpenGL (melakukan setting awal OpenGL)
mulaiOpenGL();
//
// 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);
glBegin(GL_TRIANGLES);  //ini adalah statment untuk membuat suatu bangun segitiga..setelah itu kalo kita mau buat garis lurus dengan membuat kita pke statment GL_LINES

glColor3f(10,0);//ini adalah kode warna
glVertex3f(0,4,0); //ini adalah koordinat titik pertama dan memakai titik xyz
glVertex3f(-3,0,0);//ini adalah koordinat titik kedua dan memakai titik xyz
glVertex3f(3,0,0);//ini adalah koordinat titik ketiga dan memakai titik xyz
glEnd();//ini adalah pengakhiran dari penggambaran yang kita lakukan
//------------------------------------------------------------------------------------
//
// 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 );
}




4. dan ouput ya adalah


# SEMOGA BERMANFAAT #

Tidak ada komentar: