Professional Documents
Culture Documents
Chairul Azdamn
Chairul Azdamn
Chairul Azdamn
OpenGL
Disusun Oleh:
Nama
: Chairul Azdaman
Nim
Kelas
Jurusan/Prodi
: 1320305079
: P3
: TIK/Prodi TMJK
PROGRAM STUDI
TEKNIK MULTIMEDIA DAN KOMPUTER
JARINGAN
#include<stdio.h>
#include<stdlib.h>
#include<GL/glut.h>
void tampil(){
glClearColor (1.0,1.0,1.0,1.0); //Memberi Warna Dasar Putih
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 0.0); // Warna Kuning
glBegin(GL_POLYGON); //Persegi Kuning
glVertex2f(0,0.5);
glVertex2f(0.5,0);
glVertex2f(0,-0.5);
glVertex2f(-0.5,0);
glEnd();
glColor3f (0.0, 0.0, 1.0);
glBegin(GL_POLYGON); //persegi biru
glVertex2f(-0.5,1);
glVertex2f(-1,0.5);
glVertex2f(-0.5,0);
glVertex2f(0,0.5);
glEnd();
glColor3f (1.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2f(0.5,1);
glVertex2f(0,0.5);
glVertex2f(0.5,0);
glVertex2f(1,0.5);
glEnd();
glColor3f (0.0, 1.0, 0.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5,0);
glVertex2f(-1,-0.5);
glVertex2f(-0.5,-1);
glVertex2f(0,-0.5);
glEnd();
glColor3f (1.0, 0.0, 1.0);
glBegin(GL_POLYGON);
glVertex2f(0.5,0);
glVertex2f(0,-0.5);
glVertex2f(0.5,-1);
glVertex2f(1,-0.5);
glEnd();
glFlush();
}
int main(intargc, char*argv[])
{
printf("Belajar Mewarnai dengan OpenGL");
glutCreateWindow("Kotak ");
glutDisplayFunc(tampil);
glutMainLoop();
system("PAUSE");
returnEXIT_SUCCESS;
}
Hasilnya :
Putih
Putih
Putih
Putih
glBegin(GL_TRIANGLES); //Tangkai
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(-12.5,10.5);
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(-13,10);
glColor3f(1.0,1.0,0.0); //Warna Kuning
glVertex2f(-7,8.5);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 1
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(0,10);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-3,10.5);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-6,10.5);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-9,9);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-6,8);
glEnd();
glFlush();
glBegin(GL_POLYGON);//Bidang 2
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(0,10);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-6,8);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-3,6);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(8,4);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(6,6.5);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(4,8);
glEnd();
glFlush();
Hijau
Hijau
Hijau
Kuning
Kuning
Hijau
Kuning
Kuning
Hijau
Hijau
Hijau
glBegin(GL_POLYGON);//Bidang 3
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-3,6);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(3,0);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(11,-4);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(10,0);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(8,4);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 4
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(3,0);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(6,-4);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(11,-7);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(11,-4);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 5
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(6,-4);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(9,-9);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(10.5,-10);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(11,-7);
glEnd();
glFlush();
Kuning
Kuning
Hijau
Hijau
Hijau
Kuning
Kuning
Hijau
Hijau
Kuning
Kuning
Hijau
Hijau
glBegin(GL_POLYGON); //Bidang 6
glColor3f(1.0,1.0,0.0); //Warna Kuning
glVertex2f(9,-9);
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(10,-13);
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(10.5,-10);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 7
glColor3f(1.0,1.0,0.0); //Warna Kuning
glVertex2f(9,-9);
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(9,-11);
glColor3f(0.0,2.0,0.0); //Warna Hijau
glVertex2f(10,-13);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 8
glColor3f(1.0,1.0,0.0);
glVertex2f(3,0);
glColor3f(0.0,2.0,0.0);
glVertex2f(3,-8.5);
glColor3f(0.0,2.0,0.0);
glVertex2f(9,-11);
glColor3f(1.0,1.0,0.0);
glVertex2f(9,-9);
glColor3f(1.0,1.0,0.0);
glVertex2f(6,-4);
glEnd();
glFlush();
//Warna Kuning
//Warna Hijau
//Warna Hijau
//Warna Kuning
//Warna Kuning
glBegin(GL_POLYGON); //Bidang 9
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-6,8);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-5,-4);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(3,-8.5);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(3,0);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-3,6);
glEnd();
glFlush();
glBegin(GL_POLYGON); //Bidang 10
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-9,9);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-10,6);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-10,4);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-9,1);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-7,-2);
glColor3f(0.0,2.0,0.0); //Warna
glVertex2f(-5,-4);
glColor3f(1.0,1.0,0.0); //Warna
glVertex2f(-6,8);
glEnd();
glFlush();
Kuning
Hijau
Hijau
Kuning
Kuning
Kuning
Hijau
Hijau
Hijau
Hijau
Hijau
Kuning
//Tulang
glBegin(GL_LINE_STRIP);//Tulang Tengah
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(-9,9.1);
glVertex2i(-6,8);
glVertex2i(-3,6);
glVertex2i(3,0);
glVertex2i(6,-4);
glVertex2i(9,-9);
glVertex2i(10,-13);
glEnd();
glFlush();
glVertex2f(-6,8);
glVertex2f(-7,-2);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 2
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(-4,5.7);
glVertex2f(4,8);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 3
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(-2,5);
glVertex2f(-1.6,-6);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 4
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(0,3);
glVertex2f(9,2);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 5
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(3,0);
glVertex2f(4,-9);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 6
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(5,-2.5);
glVertex2f(11,-4);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 7
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(7,-5.7);
glVertex2f(8,-10.5);
glEnd();
glFlush();
glBegin(GL_LINES); //Tulang Daun 8
glColor3f(0.0,0.0,0.0);// Warna Hitam
glVertex2f(8,-7.4);
glVertex2f(10.7,-9);
glEnd();
glFlush();
}
int main(intargc, char*argv[])
{
glutInit(&argc, argv);
glutInitWindowPosition(350,70);
glutInitWindowSize(640,640);
glutCreateWindow("Daun Sirih");
gluOrtho2D(-15.0,15.0,-15.0,15.0);
glutDisplayFunc(daun);
glutMainLoop();
}
Hasil Program :
glColor3f(1.0,0.0,1.0);//Bulat 4
glBegin (GL_POLYGON);
radius=20;
jumlah_titik=360;
x_tengah=50;
y_tengah=50;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,0.49,0.0);//jubah
glBegin(GL_TRIANGLES);
glVertex3f(0.36,0.37,0.0);
glVertex3f(0.46,0.61,0.0);
glVertex3f(0.56,0.37,0.0);
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);//tgan kiri
glBegin (GL_POLYGON);
radius=3;
jumlah_titik=360;
x_tengah=63.9;
y_tengah=39;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/150,y/90);
}
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);//tgan kanan
glBegin (GL_POLYGON);
radius=3;
jumlah_titik=360;
x_tengah=75;
y_tengah=39;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/150,y/90);
}
glEnd();
glFlush();
glColor3f(1.0,0.0,0.0);
glBegin(GL_QUADS);//badan
glVertex3f(0.42,0.48,0.0);
glVertex3f(0.50,0.48,0.0);
glVertex3f(0.50,0.35,0.0);
glVertex3f(0.42,0.35,0.0);
glEnd();
glFlush();
glColor3f(1.0,0.49,0.0);//jubah bulat
glBegin (GL_POLYGON);
radius=10;
jumlah_titik=360;
x_tengah=46;
y_tengah=38;
for (i=180;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);
glBegin(GL_QUADS);//kaki kanan
glVertex3f(0.42,0.38,0.0);
glVertex3f(0.458,0.38,0.0);
glVertex3f(0.458,0.31,0.0);
glVertex3f(0.42,0.31,0.0);
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);
glBegin(GL_QUADS);//kaki kanan
glVertex3f(0.467,0.38,0.0);
glVertex3f(0.50,0.38,0.0);
glVertex3f(0.50,0.31,0.0);
glVertex3f(0.467,0.31,0.0);
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);//kaki bulat
glBegin (GL_POLYGON);
radius=2;
jumlah_titik=360;
x_tengah=44;
y_tengah=31;
for (i=180;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);//kaki bulat
glBegin (GL_POLYGON);
radius=2;
jumlah_titik=360;
x_tengah=48;
y_tengah=31;
for (i=180;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,0.0,0.0);//setengah lingkaran di kepala
glBegin (GL_POLYGON);
radius=6.5;
jumlah_titik=360;
x_tengah=47;
y_tengah=65;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,0.0,0.0);
glBegin(GL_TRIANGLES);//Pita kiri
glVertex3f(0.33,0.60,0.0);
glVertex3f(0.33,0.71,0.0);
glVertex3f(0.42,0.66,0.0);
glEnd();
glFlush();
glColor3f(1.0,0.0,0.0);
glBegin(GL_TRIANGLES);//pita kanan
glVertex3f(0.51,0.66,0.0);
glVertex3f(0.60,0.71,0.0);
glVertex3f(0.60,0.60,0.0);
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);//kepala
glBegin (GL_POLYGON);
radius=14.5;
jumlah_titik=360;
x_tengah=51;
y_tengah=74;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/110,y/130);
}
glEnd();
glFlush();
x_tengah=40;
y_tengah=57;
for (i=0;i<=jumlah_titik;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);//mata kanan hitam
glBegin (GL_POLYGON);
radius=5;
jumlah_titik=360;
x_tengah=52;
y_tengah=57;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);//mata kanan kecil
glBegin (GL_POLYGON);
radius=1.7;
jumlah_titik=360;
x_tengah=51;
y_tengah=57;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(1.0,0.49,0.0);//poni
glBegin (GL_POLYGON);
radius=12;
jumlah_titik=360;
x_tengah=51;
y_tengah=81;
for (i=0;i<=180;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/110,y/135);
}
glEnd();
glFlush();
glColor3f(1.0,1.0,1.0);
glBegin(GL_TRIANGLES);
glVertex3f(0.425,0.602,0.0);
glVertex3f(0.465,0.69,0.0);
glVertex3f(0.505,0.602,0.0);
glEnd();
glFlush();
}
void Initialize(){
glClearColor(1.0,1.0,1.0,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
int main(intiArgc, char** cppArgv){
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(200, 200);
glutInitWindowSize(230, 230);
gluOrtho2D(-150.0, 150.0, -150.0, 150.0);
glutCreateWindow("Power Puff Girl");
Initialize();
glutDisplayFunc(Powerpuffgirl);
glutMainLoop();
return 0;
}
Hasil Program :