//editing: Muhammad Hasim
//#include "stdafx.h"
#include <GL/glut.h>
#include "stdio.h"
//#include "math.h"
GLfloat moveX=1.0,moveY=0.0,moveZ=0.0;
void init() {
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glColor3f(1.0,1.0,1.0);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// glClear(GL_COLOR_BUFFER_BIT );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(moveX,moveY,moveZ,0.0,0.0,0.0,0.0,1.0,0.0);
printf("X: %f, Y: %f, Z: %f\n",moveX,moveY,moveZ); //ini untuk menampilkan posisi objek discreen
glColor3f(0.0f,0.0f,1.0f);//warna line kotak object
glutWireCube(01.5);//size kotak object
glBegin(GL_POLYGON);
glColor3f(1.0f,1.0f,1.0f);//warna object
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,0.5f,0.5f);
glEnd();
glBegin(GL_QUADS);
glColor3f(1.0f,0.0f,0.0f);//warna object
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glColor3f(1.0f,1.0f,0.0f);//warna object
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
//glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.7f,0.5f,-0.5f);
glEnd();
glutSwapBuffers();
}
void reshape(int w, int h) {
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2.0,2.0,-2.0,2.0,-2.0,2.0);//size object
}
void mykeyboard(unsigned char key, int x,int y) {
if (key == 'a')//huruf penggerak di keyboard
moveX+=0.1;
if (key == 'b')//huruf penggerak di keyboard
moveX-=0.1;
if (key == 'c')//huruf penggerak di keyboard
moveY+=0.1;
if (key == 'd')//huruf penggerak di keyboard
moveY-=0.1;
if (key == 'e')//huruf penggerak di keyboard
moveZ+=0.1;
if (key == 'f')//huruf penggerak di keyboard
moveZ-=0.1;
glutPostRedisplay();
}
int main(int argc, char* argv[])
{
glutInit(&argc,argv);
// glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(700,500);
glutInitWindowPosition(50,50);
glutCreateWindow("OpenGL - 3D Programming");
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glutKeyboardFunc(mykeyboard);
init();
glutMainLoop();
return 0;
}
//#include "stdafx.h"
#include <GL/glut.h>
#include "stdio.h"
//#include "math.h"
GLfloat moveX=1.0,moveY=0.0,moveZ=0.0;
void init() {
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glColor3f(1.0,1.0,1.0);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// glClear(GL_COLOR_BUFFER_BIT );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(moveX,moveY,moveZ,0.0,0.0,0.0,0.0,1.0,0.0);
printf("X: %f, Y: %f, Z: %f\n",moveX,moveY,moveZ); //ini untuk menampilkan posisi objek discreen
glColor3f(0.0f,0.0f,1.0f);//warna line kotak object
glutWireCube(01.5);//size kotak object
glBegin(GL_POLYGON);
glColor3f(1.0f,1.0f,1.0f);//warna object
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,0.5f,0.5f);
glEnd();
glBegin(GL_QUADS);
glColor3f(1.0f,0.0f,0.0f);//warna object
glVertex3f(0.5f,-0.5f,0.5f);
glVertex3f(0.5f,0.5f,0.5f);
glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
glColor3f(1.0f,1.0f,0.0f);//warna object
glVertex3f(-0.5f,0.5f,-0.5f);
glVertex3f(-0.5f,-0.5f,-0.5f);
glVertex3f(0.5f,-0.5f,-0.5f);
//glVertex3f(0.5f,0.5f,-0.5f);
glVertex3f(0.7f,0.5f,-0.5f);
glEnd();
glutSwapBuffers();
}
void reshape(int w, int h) {
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2.0,2.0,-2.0,2.0,-2.0,2.0);//size object
}
void mykeyboard(unsigned char key, int x,int y) {
if (key == 'a')//huruf penggerak di keyboard
moveX+=0.1;
if (key == 'b')//huruf penggerak di keyboard
moveX-=0.1;
if (key == 'c')//huruf penggerak di keyboard
moveY+=0.1;
if (key == 'd')//huruf penggerak di keyboard
moveY-=0.1;
if (key == 'e')//huruf penggerak di keyboard
moveZ+=0.1;
if (key == 'f')//huruf penggerak di keyboard
moveZ-=0.1;
glutPostRedisplay();
}
int main(int argc, char* argv[])
{
glutInit(&argc,argv);
// glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(700,500);
glutInitWindowPosition(50,50);
glutCreateWindow("OpenGL - 3D Programming");
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glutKeyboardFunc(mykeyboard);
init();
glutMainLoop();
return 0;
}
0 comments:
Post a Comment