Membuat Transalasi Kubus C++ OpenGL

Transalasi Kubus C++ OpenGL – Hai semua teman teman, selamat datang di situs ini. Semoga anda senang berkunjung disitus ini. Baiklah kali ini kita akan membahas tentang transalasi atau perpindahan pada object kubus menggunakan bahasa pemrograman C++ dan OpenGL. Translasi sendiri bertujuan untuk memindahkan objeck dari sumbu awal ke sumbu n, dan sebailknya.

Baiklah langsung saja berikut kode programmnya menggunakan C++ dan OpenGL, jika terjadi error pastikan apakalh penulisan atau pemanggilan OpenGLnya sudah sesuai dengan instalasi OpenGL,

#include<stdlib.h>
#include<glut.h>
float w=480,h=480;
float sudut=0,sx=0,sy=0,sz=0;
void cube(){
glColor3d(0,0,1); glutWireCube(10);
}
void display(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0,0,-40);
glRotatef(sudut,sx,sy,sz);
cube();
glutSwapBuffers();
}
void resize(int w1, int h1){
glViewport(0,0,w1,h1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (float) w1/(float) h1,
1.0,300.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void init(){
glClearColor(0.0,0.0,0.0,1.0);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.,(GLdouble)w/(GLdouble)h,1.,300.);
glMatrixMode(GL_MODELVIEW);
}
void myKeyboard(unsigned char key, int x, int y){
if(key=='x'){
sx=1;
sy=0;
sz=0;
sudut+=10;
}
else if(key=='y'){
sx=0;
sy=1;
sz=0;
sudut+=10;
}
else if(key=='z'){
sx=0;
sy=0;
sz=1;
}
}
void update(int value){
glutPostRedisplay();
glutTimerFunc(50,update,0);
}
void main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(w,h);
glutCreateWindow("Objek 3D");
glutDisplayFunc(display);
glutReshapeFunc(resize);
init();
glutTimerFunc(50,update,0);
glutKeyboardFunc(myKeyboard);
glutMainLoop();
}

Hasil :
Tanpa interaksi keyboard

Dengan interaksi keyboard “x”, maka objek akan bergerak pada sumbu x saja.

Dengan interaksi keyboard “y”, maka objek akan bergerak pada sumbu y saja.

Demikianlah artikel tentang membuat translasi kubs menggunakan C++ dan OpenGL. Semoga artikel ini bisa bermanfaat buat kita semua, dan jangan lupa meninggalkan komentar anda yang bersifat membangun.

Ahmad Saleh Bancin

Berbagilah apa saja yang bisa kamu berikan kepada orang lain, baik itu Cinta yang kamu milik. Berbagi cinta bukan berarti Playboy........ Instagram @ahmadsalehbancin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.