Cuplikan
Gak tau ini praktikum grafika ke berapa....
yang jelas pasti postestnya slalu bentuk aneh2.... langsung ajha.
Hasil running


#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <glut.h>
#include <glu.h>

float _angle=45.0f;
//float update=45.0f;

void initRendering() {
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
}

void handleResize(int w, int h) {
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (double)w / (double)h,7.0, 100.0);
glMatrixMode (GL_MODELVIEW);
}

void drawScene() {
glClearColor(1.0,1.0,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glTranslatef(0.0f, 0.0f, -8.0f);

GLfloat ambientColor[] = {0.0f, 0.0f, 0.0f, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor);

GLfloat lightColor0[] = {0.0f, 0.0f, 1.0f, 0.0f};
GLfloat lightPos0[] = {3.0f, 10.0f, 2.0f, 4.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);
gluLookAt (3.0, 5.0, 11.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

glScalef (1.0, 1.0, 1.0);  
glTranslatef(0.0, 0.0,0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, -1.0,0.0);
glutSolidCube(1.0);


glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, -1.0, 0.0);
glutSolidCube(1.0);

GLfloat lightColor8[] = {0.0f, 1.0f, 0.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor8);
glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, -1.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(1.0, 0.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(1.0, 0.0, 0.0);
glutSolidCube(1.0);

GLfloat lightColor3[] = {1.0f, 1.0f, 0.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor3);
glScalef (1.0, 1.0, 1.0);
glTranslatef(2.0, 0.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, 1.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, 1.0, 0.0);
glutSolidCube(1.0);

GLfloat lightColor4[] = {0.0f, 1.0f, 1.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor4);
glScalef (1.0, 1.0, 1.0);
glTranslatef(0.0, 1.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(-1.0, 0.0, 0.0);
glutSolidCube(1.0);

glScalef (1.0, 1.0, 1.0);
glTranslatef(-1.0, 0.0, 0.0);
glutSolidCube(1.0);

GLfloat lightColor9[] = {1.0f, 0.0f, 0.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor9);
glScalef (1.0, 1.0, 1.0);
glTranslatef(-2.0, 2.0, 0.0);
glRotatef(_angle,0.0f, 1.0f, 0.0f);
glutSolidCube(1.0);


glFlush ();
glEnd();

glutSwapBuffers();

}

void update(int value){
_angle += 9.0f;
if (_angle > 360){
_angle -= 360;
}

glutPostRedisplay();
glutTimerFunc(25, update, 0);
}

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(400, 400);
glutCreateWindow("praktikum_8");
initRendering();
glutDisplayFunc(drawScene);
glutTimerFunc(25, update, 0);
glutReshapeFunc(handleResize);
glutMainLoop();
return 0;
}

Menyambung dari potingan sebelumnya (Bangun_Prisma) hahaha, daripada nanggung skalian ajha aq bikinin Bangun Limas di Visual Studio 2008


gak usah panjang-lebar ntar jadi luas lagi...


langsung ajha.


Hasil running

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <glut.h>
#include <glu.h>



void initRendering() {
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_NORMALIZE);
glShadeModel(GL_SMOOTH);
}

void handleResize(int w, int h) {
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (double)w / (double)h, 1.0, 200.0);
}

float _angle = 60.0f;

void drawScene() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0f, 0.0f, -8.0f);

GLfloat ambientColor[] = {0.2f, 0.2f, 0.2f, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor);

GLfloat lightColor0[] = {0.5f, 0.5f, 0.5f, 1.0f};
GLfloat lightPos0[] = {4.0f, 0.0f, 8.0f, 1.0f};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);

//radius
GLfloat lightColor1[] = {0.5f, 0.2f, 0.2f, 1.0f};
GLfloat lightPos1[] = {-1.0f, 0.5f, 0.5f, 0.0f};
glLightfv(GL_LIGHT1, GL_DIFFUSE, lightColor1);
glLightfv(GL_LIGHT1, GL_POSITION, lightPos1);

glRotatef(_angle, 1.5f, 1.0f, 2.0f);

glBegin(GL_QUADS);

glColor3f(0.0f, 1.0f, 0.0f); //green
    glVertex3f(0, 3, 0);
glVertex3f(1, 0, -1);
glVertex3f(1, 0, 1);
glVertex3f(0, 3, 0);

glColor3f(0.0f, 0.0f, 1.0f); //blue
    glVertex3f(0, 3, 0);
glVertex3f(1, 0, 1);
glVertex3f(-1, 0, 1);
glVertex3f(0, 3, 0);

glColor3f(1.0f, 0.0f, 0.0f); //red
    glVertex3f(0, 3, 0);
glVertex3f(1, 0, -1);
glVertex3f(-1, 0, -1);
glVertex3f(0, 3, 0);

glColor3f(1.0f, 1.0f, 0.0f); //yellow
    glVertex3f(0, 3, 0);
glVertex3f(-1, 0, -1);
glVertex3f(-1, 0, 1);
glVertex3f(0, 3, 0);

glColor3f(1.0f, 1.0f, 1.0f); //alas
    glVertex3f(-1, 0, -1);
glVertex3f(-1, 0, 1);
glVertex3f(1, 0, 1);
glVertex3f(1, 0, -1);

  glEnd();
glutSwapBuffers();
}

void update(int value) {
_angle += 1.5f;
if (_angle > 360) {
_angle -= 360;
}

glutPostRedisplay();
glutTimerFunc(25, update, 0);
}

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(400, 400);
glutCreateWindow("Lighting - videotutorialsrock.com");
initRendering();
glutDisplayFunc(drawScene);
glutReshapeFunc(handleResize);
glutTimerFunc(25, update, 0);

glutMainLoop();
return 0;
}

Berikut adalah GLUT library untuk praktikum grafika komputer. Software yang digunakan adalah Visual Studio 2008. nich dah ta kumpulin jadi satu.... tinggal donwload dam follow blogq. ok 

Praktikum kali ini di suruh membuat Prisma atau limas... berhubung nilai jika mngerjakan Prisma lebih besar, maka aku meillih prisma.
Prisma Segitiga

berikut source codenya.... INGAT!!!! ini menggunakan software "Visual Studio 2008" dengan beberapa library tambahan...


#include <windows.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>
#include <stdarg.h> 
#include <glut.h>
#include <glu.h>



void initRendering() {
      glEnable(GL_DEPTH_TEST);
      glEnable(GL_COLOR_MATERIAL);
      glEnable(GL_LIGHTING);
      glEnable(GL_LIGHT0);
      glEnable(GL_LIGHT1);
      glEnable(GL_NORMALIZE);
      glShadeModel(GL_SMOOTH);
}

void handleResize(int w, int h) {
      glViewport(0, 0, w, h);
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluPerspective(45.0, (double)w / (double)h, 1.0, 200.0);
}

float _angle = 60.0f;

void drawScene() {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      glMatrixMode(GL_MODELVIEW);
      glLoadIdentity();
      glTranslatef(0.0f, 0.0f, -8.0f);

      GLfloat ambientColor[] = {0.2f, 0.2f, 0.2f, 1.0f};
      glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor);

      GLfloat lightColor0[] = {0.5f, 0.5f, 0.5f, 1.0f};
      GLfloat lightPos0[] = {4.0f, 0.0f, 8.0f, 1.0f};
Limas segi empat
      glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
      glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);

//radius
      GLfloat lightColor1[] = {0.5f, 0.2f, 0.2f, 1.0f};
      GLfloat lightPos1[] = {-1.0f, 0.5f, 0.5f, 0.0f};
      glLightfv(GL_LIGHT1, GL_DIFFUSE, lightColor1);
      glLightfv(GL_LIGHT1, GL_POSITION, lightPos1);

      glRotatef(_angle, 1.0f, 1.0f, 1.0f);
     
      glBegin(GL_QUADS);
     
      glColor3f(0.0f, 1.0f, 0.0f);        //green
    glVertex3f(-1, 0, -2);
      glVertex3f(1, 0, -2);
      glVertex3f(0, 2, -2);
      glVertex3f(-1, 0, -2);

      glColor3f(0.0f, 0.0f, 1.0f);        //green
    glVertex3f(-1, 0, 1);
      glVertex3f(1, 0, 1);
      glVertex3f(0, 2, 1);
      glVertex3f(-1, 0, 1);

      glColor3f(1.0f, 0.0f, 0.0f);        //red
    glVertex3f(-1, 0, -2);
      glVertex3f(0, 2, -2);
      glVertex3f(0, 2, 1);
      glVertex3f(-1, 0, 1);

      glColor3f(1.0f, 1.0f, 0.0f);        //yellow
    glVertex3f(1, 0, -2);
      glVertex3f(0, 2, -2);
      glVertex3f(0, 2, 1);
      glVertex3f(1, 0, 1);

      glColor3f(0.0f, 1.0f, 1.0f);        //last
    glVertex3f(1, 0, -2);
      glVertex3f(1, 0, 1);
      glVertex3f(-1, 0, 1);
      glVertex3f(-1, 0, -2);
                                                                                                                                                                                   
      glEnd();
      glutSwapBuffers();
}

void update(int value) {
      _angle += 1.5f;
      if (_angle > 360) {
            _angle -= 360;
      }
     
      glutPostRedisplay();
      glutTimerFunc(25, update, 0);
}

int main(int argc, char** argv) {
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
      glutInitWindowSize(400, 400);
      glutCreateWindow("LukmanReza.blogspot.com - Lighting");
      initRendering();
      glutDisplayFunc(drawScene);
      glutReshapeFunc(handleResize);     
      glutTimerFunc(25, update, 0);
     
      glutMainLoop();
      return 0;
}

My Visitors

free counters

My Friend's