Anda di halaman 1dari 8

LAPORAN PRAKTIKUM II

GRAFIKA KOMPUTER
MODUL 3
OBJEK 2 DIMENSI

Disusun untuk memenuhi Matakuliah Praktikum Grafika Komputer

Dibimbing oleh Ahmad Mursyidun Nidhom, S.Pd., M.Pd.

Disusun oleh :

Xaphyra Aura Shava Aulia 190533646844

S1 PTI ’19 OFF C

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
SEPTEMBER 2020
Tugas Praktikum

1. Buatlah inisialisasi nama anda menggunakan object 2 Dimensi, minimal 3 karakter,


misalnya eduardo menjadi "EDO" !
- Source Code

#include <stdlib.h>
#include <glut.h>
void display(){
glClear( GL_COLOR_BUFFER_BIT);

glPointSize(10);
glLineWidth(5);

glBegin(GL_POLYGON); //X
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2f(-0.4,0.3);
glVertex2f(-0.3,0.2);
glColor3f(0.0f, 0.5f, 1.0f);
glVertex2f(-0.6,-0.1);
glVertex2f(-0.7,0);
glEnd();

glBegin(GL_POLYGON); //X
glColor3f(0.0f, 0.5f, 1.0f);
glVertex2f(-0.7,0.2);
glVertex2f(-0.6,0.3);
glColor3f(0.0f, 0.5f, 1.0f);
glVertex2f(-0.3,0);
glVertex2f(-0.4,-0.1);
glEnd();

glBegin(GL_POLYGON); //A
glColor3f(0.0f, 0.5f, 0.5f);
glVertex2f(0.1,0.3);
glVertex2f(0.2,0.3);
glColor3f(0.5f, 1.0f, 1.0f);
glVertex2f(0,-0.1);
glVertex2f(-0.1,-0.1);
glEnd();

glBegin(GL_POLYGON); //A
glColor3f(0.0f, 0.5f, 0.5f);
glVertex2f(0.3,0.3);
glVertex2f(0.2,0.3);
glColor3f(0.5f, 1.0f, 1.0f);
glVertex2f(0.4,-0.1);
glVertex2f(0.5,-0.1);
glEnd();

glBegin(GL_POLYGON); //A
glColor3f(0.5f, 1.0f, 1.0f);
glVertex2f(0,0.1);
glVertex2f(0.1,0);
glColor3f(0.0f, 0.5f, 0.5f);
glVertex2f(0.3,0);
glVertex2f(0.4,0.1);
glEnd();
glEnd();

glBegin(GL_POLYGON); //P
glColor3f(0.2f, 0.2f, 0.2f);
glVertex2f(0.7,0.3);
glVertex2f(0.7,-0.1);
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(0.8,-0.1);
glVertex2f(0.8,0);
glColor3f(0.2f, 0.2f, 0.2f);
glVertex2f(1,0);
glVertex2f(1,0.3);
glEnd();

glBegin(GL_POLYGON); //P
glColor3f(0.2f, 0.2f, 0.2f);
glVertex2f(0.8,0.2);
glVertex2f(0.8,0.1);
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(0.9,0.1);
glVertex2f(0.9,0.2);
glEnd();

glFlush();
}
void init(){
glClearColor(0.0, 0.0, 0.0, 0.0);//definisiin warna clear atau
background
glMatrixMode(GL_PROJECTION);
glLoadIdentity ();
gluOrtho2D(-1.0,1.0,-1.0,1.0);//MENENTUKAN UKURAN KANVAS
// k k b a
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char **argv){
glutInit(&argc,argv);
glutInitWindowSize(400,400);
glutInitWindowPosition(200,100);//jarak windows dari tepi monitor
glutCreateWindow("XAP : Xaphyra Aura");
glutDisplayFunc(display);
init();
glutMainLoop();//mulai render
//return 0;
}
- Output
2. Buatlah object lingkaran yang memiliki gradasi fill warna !
- Source Code

#include <stdlib.h>
#include <glut.h>
#include <windows.h>
#include <math.h>
const double PI = 3.141592653589793;
int i,radius,jumlah_titik,x_tengah,y_tengah,warna=0;

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
radius=40;
jumlah_titik=20;
x_tengah=50;
y_tengah=50;
for (i=0;i<=360;i++){
if (i == 0){
glColor3f(0.0f, 0.1f, 0.0f);
}
else if (i == 150){
glColor3f(2.0f, 0.5f, 1.0f);
}
else if (i == 350){
glColor4f(0.0f, 1.0f, 1.0f, 1.0f);
}
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();
}
void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int iArgc, char** cppArgv) {
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(350, 350);
glutInitWindowPosition(250, 250);
glutCreateWindow("CIRCLE : Xaphyra Aura ");
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
- Output

3. Buatlah bentuk bintang dengan warna pelangi !


- Source Code

#include <stdlib.h>
#include <glut.h>

void display(){
glClear( GL_COLOR_BUFFER_BIT);//membersihkan bidang gambar
glPointSize(10);
glLineWidth(5);

glBegin(GL_TRIANGLES);//1
glColor4f(1.0f, 0.0f, 0.0f, 0.0f);
glVertex2f(0,0.5);
glVertex2f(0.1,0.2);
glVertex2f(-0.1,0.2);
glEnd();

glBegin(GL_TRIANGLES); //2
glColor4f(1.0f, 1.0f, 0.0f, 0.0f);
glVertex2f(0.1,0.2);
glVertex2f(0.4,0.2);
glVertex2f(0.2,0);
glEnd();

glBegin(GL_TRIANGLES); //3
glColor3f(0.0f, 1.0f, 0.0f);
glVertex2f(0.2,0);
glVertex2f(0.3,-0.3);
glVertex2f(0,-0.2);
glEnd();

glBegin(GL_TRIANGLES); //4
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2f(0,-0.2);
glVertex2f(-0.3,-0.3);
glVertex2f(-0.2,0);
glEnd();

glBegin(GL_TRIANGLES); //5
glColor3f(1.0f, 0.0f, 1.0f);
glVertex2f(-0.2,0);
glVertex2f(-0.4,0.2);
glVertex2f(-0.1,0.2);
glEnd();

glBegin(GL_POLYGON);
glColor3f(2.0f, 0.5f, 1.0f);
glVertex2f(-0.1,0.2);
glColor3f(0.0f, 0.5f, 0.5f);
glVertex2f(0.1,0.2);
glColor3f(0.5f, 1.0f, 1.0f);
glVertex2f(0.2,0);
glColor3f(0.0f, 0.5f, 1.0f);
glVertex2f(0,-0.2);
glColor4f(1.0f, 1.0f, 1.0f, 0.0f);
glVertex2f(-0.2,0);
glEnd();
glFlush();
}

void init(){
glClearColor(0.0, 0.0, 0.0, 0.0);//definisiin warna clear atau
background glMatrixMode(GL_PROJECTION);
glLoadIdentity ();
gluOrtho2D(-1.0,1.0,-1.0,1.0);//MENENTUKAN UKURAN KANVAS
// k k b a
glMatrixMode(GL_MODELVIEW);
}

int main(int argc, char **argv){ glutInit(&argc,argv);


glutInitWindowSize(400,400);
glutInitWindowPosition(300,200);//jarak windows dari tepi
monitor

glutCreateWindow("STAR : Xaphyra Aura ");


glutDisplayFunc(display);
init();
glutMainLoop();//mulai render
return 0;
}
- Output

Anda mungkin juga menyukai