PENGUMUMAN
" Projek ini Dibuat dengan Benar sudah berjalan secara semestinya. apabila ada ERROR di code silahkan pelajari dimana letak errornya. jangan hanya mau disuapi saja. mengcopi ini = harus mempelajari sourcodenaya sendiri.
Jangan Lupa Ucapkan Terimakasih di kolom komentar Jika Projeknya berhasil dijalankan.
dan untuk Glut download sementara saya tutup, jika ingin mendownload silahkan komentar dibawah "tujuan kalian belajar OPENGL beserta email kalian". nanti saya bagikan lewat email kalian yang ada dikolom komentar. (komentar tidak akan muncul jika belum disetujui dan belum dikirim openGLnya ke email kalian)"
Tentang Projek
Pada Projek Kali ini kita akan membuat projek openGL C++ dan C dengan menggunakan cobeblock. pada projek ini kita akan membuat sebuah mobil 3D sederhana. sekenario dari projek ini adalah membuat sebuah projek openGL++ menggunakan codeBlock pemrograman C++ dan C. projek ini diharuskan menggunakan translasi berupa putaran pada kendaraan mobil.
Pada Example projek ini dibuat sangat mudah untuk difahami dan digunakan, kemudian lengkap dengan sourcodenya sehingga dapat langsung digunakan . tujuan dibuatnya artikel ini adalah agar semua projek berjalan dengan lancar dana dapat digunakan untuk menyelesaikan tugas kuliah maupun tugas yang lainnya yang berhubungan dangan pemrograman OpenGl.
Persiapan Projek
Untuk memulai membuat projek open GL ini anda harus menseting beberapa komponen kedalam codeblock dan ketika sudah selesai menseting semuanya saatnya membuat projeknya. untul langkah-langkah persiapannya dapat melakukan beberapa langkah-langkah dibawah ini.
- Open GL download disini :View openGL
- CodeBlock setting dengan openGL caranya lihat disini: view
- buka codeblock dan buat projek baru caranya dapat dilihat disini : view
- copy semua sourcode yang tersedia di blog ini.
#include <Gl/glut.h> #include <math.h> void cylinder(float alas,float atas,float tinggi); void kerucut(float ngisor, float nduwur, float dowo); void blok(float tebal,int ratiol,int ratiop); GLfloat source_light[]={0.30,0.30,0.30,0.50}; double Loop,LoopAll=0; void kendaraan(void) { glClearColor(0.0,1.0,0.0,0.0); //blackground glShadeModel(GL_SMOOTH); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0,1.5,10.0,1000.0); glEnable (GL_DEPTH_TEST); glPolygonMode (GL_FRONT_AND_BACK,GL_FILL); glEnable (GL_LIGHTING); glLightfv (GL_LIGHT7,GL_DIFFUSE,source_light); glEnable (GL_LIGHT7); glEnable (GL_COLOR_MATERIAL); glColorMaterial (GL_FRONT_AND_BACK,GL_AMBIENT); } void display(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); /* Keterangan: glTranslatef :untuk menempatkan pada posisi yang tepat dengan sumbu (x, y, z) glRotated : untuk memutar objek agar sesuai dengan keinginan. cylinder: untuk membentuk model tabung */ glTranslatef(0,0,-100);// besar kecilnya mobil Loop++; glRotatef(Loop,0.9,4.0,0.6);//mobil yang berotasi glPushMatrix();//body //glpushmatrix(); glColor3f(0.0,1.0,0.0); blok(10, 3, 2); glTranslatef(0, 9, 0); blok(10, 3, 2); glTranslatef(10, -10,0); blok(10, 5.5, 2); glRotatef(-35, 0, 0, 15); glTranslatef(0, 7,0); blok(10, 2, 2); glTranslatef(2, 4.9,-2.5); glColor3f(0.0,0.0,0.0);// warna kaca depan blok(0.5, 20, 31); glRotatef(180, 45, -45, 0); glPopMatrix(); glPushMatrix();//roda kanan depan glColor3f(1.0,0.0,0.0); glTranslatef(20, -8,-7); cylinder(5, 5,3); glColor3f(1.0,0.0,0.0); // roda belakang kanan glTranslatef(-20, 8,7); glTranslatef(-5, -8,-7); cylinder(5, 5,3); glColor3f(1.0,0.0,0.0);// roda belakang kiri glTranslatef(5, 8,7); glRotatef(180,0,180,0); glTranslatef(3,-8,-17); cylinder(5, 5,3); glColor3f(1.0,0.0,0.0); // roda depan kiri glTranslatef(-3,8,17); glTranslatef(-22,-8,-17); cylinder(5, 5,3); glColor3f(0.0,0.0,0.0); // all kaca samping kanan dan kiri glRotatef(90,1,0,0); glTranslatef(8, 2.5,-15); blok(2, 4, 5); glRotatef(90,0,1,0); glTranslatef(0,-0.2,7); blok(2, 4, 8); glColor3f(0.0,0.0,0.0); glRotatef(0,0,0,0); glTranslatef(0,19.2,0); blok(2, 4, 8); glColor3f(0.0,0.0,0.0); glRotatef(90,0,1,0); glTranslatef(7, 0,-8); blok(2, 4, 5); glColor3f(9.9,9.9,0.0);//lampu glRotatef(90,0,1,0); glTranslatef(0,-3,20); cylinder(2, 2,3); glColor3f(9.9,9.9,0.0);//lampu glRotatef(0,0,0,0); glTranslatef(0,-12,0); cylinder(2, 2,3); glColor3f(1.0,1.0,1.0);//knalpot kanan glRotatef(0,0,0,0); glTranslatef(0,-0.5,-52); cylinder(2, 1,3); glColor3f(1.0,1.0,1.0);//knalpot kiri glRotatef(0,0,0,0); glTranslatef(0,11.5,0); cylinder(2, 1,3); glColor3f(0.0,0.0,0.0); // kaca belakang glRotatef(90,1,0,0); glTranslatef(-7,3.5,-0.5); // geser bawah,kedalam, geser kiri blok(2, 6.0, 7.0); glPopMatrix(); glFlush(); glutSwapBuffers(); } void kerucut(float bottom, float up, float width) { float i; glPushMatrix(); glTranslatef(1.0,0.0,bottom/24); glutSolidCone(bottom,0,32,4); for(i=0;i<=width;i+=bottom/24) { glTranslatef(0.0,0.0,bottom/24); glutSolidTorus(bottom/4,bottom-((i*(bottom-up))/width),16,16); } glTranslatef(0.0,0.0,bottom/4); glutSolidCone(up,0,20,1); glColor3f(0.,1.,1.); glPopMatrix(); } void cylinder(float alas,float up,float height) { float i; glPushMatrix(); glTranslatef(1.0,0.0,-alas/8); // perpindahan dari X,Y,Z glutSolidCone(alas,0,32,4); for(i=0;i<=height;i+=alas/24) { glTranslatef(0.0,0.0,alas/24); glutSolidTorus(alas/4,alas-((i*(alas-up))/height),16,16); } glTranslatef(0.0,0.0,alas/4); glutSolidCone(height,0,20,1); glColor3f(0.,0.,0.); glPopMatrix(); } void blok(float tebal,int ratiol,int ratiop) { float i,j; glPushMatrix(); for(i=0;i<ratiop;i++) { glTranslatef(-(ratiol+1)*tebal/2,0.0,0.0); for(j=0;j<ratiol;j++) { glTranslatef(tebal,0.0,0.0); glutSolidCube(tebal); } glTranslatef(-(ratiol-1)*tebal/2,0.0,tebal); } glPopMatrix(); } void munculsih() { display(); } int main(int argc,char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);//|GLUT_DEPTH); glutInitWindowPosition(10,10); glutInitWindowSize(500,600); glutCreateWindow("Mobil"); glClearColor(0.5,0.5,0.0,0.0); glutDisplayFunc(display); gluOrtho2D(-320., 320., -240.0, 240.0); glutIdleFunc(munculsih); kendaraan(); glutMainLoop(); return(0); }
kemudian build and run program tersebut.. atau bisa memencet tombol f9 maka hasilnya seperti ini.
taraaaaa......
selamat mencoba dan semoga berhasil.... dan semangat belajarnya ok.
jangan lupa berkomentar kesan-kesannya setelah mencobanya. dan juga bila ada pertanyaan silahkan tanyakan dibawah.
Daftar pustaka
- http://kuli-kuliah.blogspot.co.id/2012/04/mobil-3d-c-tugas-grafika-komputer.html
No comments:
Post a Comment