Includes
Includes
* Includes
*
**************************/
#include <stdlib.h>
#include <windows.h>
#include <stdio.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include "glaux.h"
#include "glut.h"
/**************************
* Function Declarations
*
**************************/
glBegin(GL_QUADS);
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 4 (kiri)
glEnd();
}
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -2.5f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -2.5f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, -0.5f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -2.5f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -0.5f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -2.5f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -0.5f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -0.5f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, -0.5f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -2.5f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -2.5f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -2.5f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -2.5f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -2.5f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, -0.5f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -0.5f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -2.5f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -2.5f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -2.5f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, -1.0f); // Titik 4 (kiri)
glEnd();
}
glBegin(GL_QUADS);
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 4 (kiri)
glEnd();
}
glBegin(GL_QUADS);
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 4 (kiri)
glEnd();
}
void gambarku() // foto kelompok
{
glBindTexture(GL_TEXTURE_2D, texture[3]); // digunakan untuk
menempatkan gambar pada object kubus
glBegin(GL_QUADS);
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 4 (kiri)
glEnd();
}
glBegin(GL_QUADS);
// Muka depan
glNormal3f( 0.0f, 0.0f, 1.0f); // Normal menuju Anda
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 1 (depan)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 2 (depan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (depan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 4 (depan)
// Muka belakang
glNormal3f( 0.0f, 0.0f,-1.0f); // Normal meninggalKan Anda
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (belakang)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 2 (belakang)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 3 (belakang)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 4 (belakang)
// Muka Atas
glNormal3f( 0.0f, 1.0f, 0.0f); // Normal berarah atas
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 1 (atas)
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 2 (atas)
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (atas)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 4 (atas)
// Muka bawah
glNormal3f( 0.0f,-1.0f, 0.0f); // Normal berarah bawah
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (bawah)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 2 (bawah)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 3 (bawah)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 4 (bawah)
// Muka kanan
glNormal3f( 1.0f, 0.0f, 0.0f); // Normal berarah ke kanan
glTexCoord2f(1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, -1.0f); // Titik 1 (kanan)
glTexCoord2f(1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f); // Titik 2 (kanan)
glTexCoord2f(0.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f); // Titik 3 (kanan)
glTexCoord2f(0.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f); // Titik 4 (kanan)
// Muka kiri
glNormal3f(-1.0f, 0.0f, 0.0f); // Normal berarah ke kiri
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, -1.0f); // Titik 1 (kiri)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f, -1.0f, 1.0f); // Titik 2 (kiri)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f); // Titik 3 (kiri)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f); // Titik 4 (kiri)
glEnd();
}
if (!Filename)
{
return NULL;
}
File=fopen(Filename,"r"); // digunakan
untuk membaca file
if (File)
{
fclose(File);
return auxDIBImageLoad(Filename); // jika
gambar ada tampilkan gambar
}
return NULL;
}
int LoadGLTextures() //
fungsi menampilkan gambar dan Convert ke Textures
{
int Status=FALSE;
memset(TextureImage,0,sizeof(void *)*1);
glGenTextures(1, &texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
glGenTextures(1, &texture[1]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
if (TextureImage[2]=LoadBMP("1307.bmp")) //pengambilan data gambar
(256X256)
{
Status=TRUE;
glGenTextures(1, &texture[2]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
glGenTextures(1, &texture[3]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
if (TextureImage[4]=LoadBMP("kelompok01.bmp")) //pengambilan
data gambar (256X256)
{
Status=TRUE;
glGenTextures(1, &texture[4]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
}
}
InitGL();
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_LIGHT2);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
}
// Akhir kode yang diambil dari bukunya Suyoto
//******************************************************
/**************************
* WinMain
*
**************************/
//******************************************************
// Awal kode yang diambil dari bukunya Suyoto
Inisialisasi(800, 600);
// Akhir kode yang diambil dari bukunya Suyoto
//******************************************************
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glPushMatrix ();
glTranslatef(0.0f,0.0f,-7.0f);
glScalef(0.5, 0.5, 0.5);
glRotatef(5.0f,1.0f,0.0f,0.0f);
//start kubus kiri
glPushMatrix ();
glEnable(GL_TEXTURE_2D);
glMaterialfv(GL_FRONT, GL_AMBIENT,
bahan1_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE,
bahan1_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR,
bahan1_specular);
glMaterialfv(GL_FRONT, GL_SHININESS,
bahan1_shininess);
glTranslatef(-4.0f,0.0f,1.0f);
// glRotatef(xrot,1.0f,0.0f,0.0f);
kubusnya();
glDisable(GL_TEXTURE_2D);
glPopMatrix ();
//end kubus kiri
glTranslatef(-1.0f,-1.5f,1.0f);
glRotatef(xrot,1.0f,0.0f,0.0f);
gambarku();
glDisable(GL_TEXTURE_2D);
glPopMatrix ();
//end kubus gambarku
//start kubus gambarku
glPushMatrix ();
glEnable(GL_TEXTURE_2D);
glMaterialfv(GL_FRONT, GL_AMBIENT,
bahan1_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE,
bahan1_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR,
bahan1_specular);
glMaterialfv(GL_FRONT, GL_SHININESS,
bahan1_shininess);
glTranslatef(-1.0f,4.0f,1.0f);
// glRotatef(xrot,1.0f,0.0f,0.0f);
gambarlo();
glDisable(GL_TEXTURE_2D);
glPopMatrix ();
//end kubus gambarku
//start kubus kanan
glPushMatrix ();
glEnable(GL_TEXTURE_2D);
glMaterialfv(GL_FRONT, GL_AMBIENT,
bahan1_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE,
bahan1_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR,
bahan1_specular);
glMaterialfv(GL_FRONT, GL_SHININESS,
bahan1_shininess);
glTranslatef(2.0f,0.0f,1.0f);
// glRotatef(xrot,1.0f,0.0f,0.0f);
kubusku();
glDisable(GL_TEXTURE_2D);
glPopMatrix ();
//end kubus kanan
//start kubus lo
glPushMatrix ();
glEnable(GL_TEXTURE_2D);
glMaterialfv(GL_FRONT, GL_AMBIENT,
bahan1_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE,
bahan1_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR,
bahan1_specular);
glMaterialfv(GL_FRONT, GL_SHININESS,
bahan1_shininess);
glTranslatef(2.0f,4.0f,1.0f);
// glRotatef(xrot,1.0f,0.0f,0.0f);
kubuslo();
glDisable(GL_TEXTURE_2D);
glPopMatrix ();
//end kubus kanan
glPopMatrix ();
/* shutdown OpenGL */
DisableOpenGL (hWnd, hDC, hRC);
return msg.wParam;
}
/********************
* Window Procedure
*
********************/
switch (message)
{
case WM_CREATE:
return 0;
case WM_CLOSE:
PostQuitMessage (0);
return 0;
case WM_DESTROY:
return 0;
case WM_KEYDOWN:
switch (wParam)
{
case VK_ESCAPE:
PostQuitMessage(0);
return 0;
}
return 0;
default:
return DefWindowProc (hWnd, message, wParam, lParam);
}
}
/*******************
* Enable OpenGL
*
*******************/
/******************
* Disable OpenGL
*
******************/