-Vendes Petrik Maela.S (5A414986)
-Riske Dwi Cahyati (59414499)
-Alby Septian Widodo (50412568)
-Nyoman Arya Prakamyajati (5B415801)
Kelas : 3IA12
Dalam pembuatan tugas ini kami menggunakan Software Dev C++ dengan tambahan menginstal library Glut. Pada tugas ini kami membuat bentuk bentuk dasar dari "Garis(Horizontal,Vertikal,Bebas,Diagonal),Segitiga(Fill area dan outline),Segiempat(Fill area, dan outline),Poligon(Fill area dan outline).
Untuk bentuk bangunan Segitiga,Segiempat,Poligon akan dijabarkan perpembagian Fillarea atau Outline saja. Pada postingan kali ini kami juga akan menampilkan syntaks yang digunakan untuk membuat bentuk bentuk dasar tersebut. Berikut ini adalah pembahasannya.
Untuk bentuk bangunan Segitiga,Segiempat,Poligon akan dijabarkan perpembagian Fillarea atau Outline saja. Pada postingan kali ini kami juga akan menampilkan syntaks yang digunakan untuk membuat bentuk bentuk dasar tersebut. Berikut ini adalah pembahasannya.
- Garis
A. Horizontal
Sintaks:
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear
(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glClearColor(1,1,0,0);
glColor3f(1,1,0);
glBegin(GL_LINES);
glColor3f(128.0f,
0.0f, 55.0f); glVertex2f(-0.4f, 0.0f);
glColor3f(1.0f,
0.0f, 0.0f); glVertex2f(0.4f, 0.0f);
glEnd();
glPopMatrix();
SwapBuffers
(hDC);
Sleep
(1);
B. Vertikal
Sintaks:
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear
(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glClearColor(1,1,0,0);
glColor3f(1,1,0);
glBegin(GL_LINES);
glColor3f(128.0f,
0.0f, 55.0f); glVertex2f(0.0f, 0.6f);
glColor3f(1.0f,
0.0f, 0.0f); glVertex2f(0.0f, -0.6f);
glEnd();
glPopMatrix();
SwapBuffers
(hDC);
Sleep
(1);
C. Diagonal
Sintaks:
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_LINES);
glColor3f (128.0f, 00.0f, 255.0f);
glVertex2f (0.0f, 0.0f);
glVertex2f (0.8f, -0.5f);
glVertex2f (0.87f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
D. Bebas
Sintaks:
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear
(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glClearColor(1,1,0,0);
glColor3f(1,1,0);
glBegin(GL_LINES);
glColor3f(128.0f,
0.0f, 55.0f); glVertex2f(0.0f, 0.6f);
glColor3f(1.0f,
0.0f, 0.0f); glVertex2f(0.0f, -0.6f);
glBegin(GL_LINES);
glColor3f(128.0f,
0.0f, 55.0f); glVertex2f(0.6f, 0.0f);
glColor3f(1.0f,
0.0f, 0.0f); glVertex2f(-0.6f, 0.0f);
glEnd();
glPopMatrix();
SwapBuffers
(hDC);
Sleep
(1);
2. Fill Area (Segitiga, Segiempat,Poligon)
Fillarea adalah kondisi dimana bentuk bangunan akan memiliki warna didalamnya. Disini kami akan menggunakan warna background berwarna putih yang mana ditandai dalam sintaks "
glClearColor (255.0f, 255.0f, 255.0f, 0.0f);"
a. Segitiga
Sintaks:
glClearColor (255.0f, 255.0f, 255.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_TRIANGLES);
glColor3f (128.0f, 0.0f, 255.0f);
glVertex2f (0.0f, 1.0f);
glColor3f (200.0f, 0.0f, 0.0f);
glVertex2f (0.87f, -0.5f);
glColor3f (0.0f, 0.0f, 255.0f);
glVertex2f (-0.87f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
b. Segiempat
Sintaks:
glClearColor (255.0f, 255.0f,
255.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_POLYGON);
glColor3f (128.0f, 0.0f,
255.0f); glVertex2f (-0.5f, -0.5f);
glColor3f (200.0f, 0.0f,
00.0f); glVertex2f (-0.5f, 0.5f);
glColor3f (0.0f, 00.0f,
255.0f); glVertex2f (0.5f, 0.5f);
glColor3f (210.0f, 0.0f,
32.0f); glVertex2f (0.5f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
c.Poligon
glClearColor (255.0f, 255.0f, 255.0f, 0.0f);
glClear
(GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin
(GL_POLYGON);
glColor3f
(128.0f, 0.0f, 255.0f); glVertex2f (0.0f, 0.5f);
glColor3f
(200.0f, 0.0f, 0.0f); glVertex2f (-0.5f, 0.1f);
glColor3f
(0.0f, 0.0f, 255.0f); glVertex2f (-0.3f, -0.5f);
glColor3f
(210.0f, 0.0f, 32.0f); glVertex2f (0.3f, -0.5f);
glColor3f
(300.0f, 0.0f, 0.0f); glVertex2f (0.5f, 0.1f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta +=
1.0f;
Sleep (1);
3. Outline (Segitiga, Segiempat,Poligon)
Outline adalah kondisi dimana pada bentuk yang ditampilkan hanya terdapat warna pada garis(warna dalam bangunan akan sama dengan warna background). Untuk membuat ini semua kami menggunakan sintaks "Line loop" yang mana bangun ruang ini nantinya hanyalah berupa sekumpulan garis yang menyatu dan akirnya membentuk suatu bangun.
a. Segitiga
Sintaks:
glClearColor (0.0f, 255.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_LINE_LOOP);
glColor3f (0.0f, 0.0f, 0.0f);
glVertex2f (0.0f, 1.0f);
glVertex2f (0.97f, -0.5f);
glVertex2f (-0.97f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
b. Segiempat
Sintaks:
glClearColor (0.0f, 255.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_LINE_LOOP);
glColor3f (0.0f, 0.0f, 0.0f);
glVertex2f (-0.5f, -0.5f);
glVertex2f (-0.5f, 0.5f);
glVertex2f (0.5f, 0.5f);
glVertex2f (0.5f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
c. Poligon
Sintaks:
glClearColor (0.0f, 255.0f, 0.0f,
0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_LINE_LOOP);
glColor3f (0.0f, 0.0f, 0.0f);
glVertex2f (0.0f, 0.5f);
glVertex2f (-0.5f, 0.1f);
glVertex2f (-0.3f, -0.5f);
glVertex2f (0.3f, -0.5f);
glVertex2f (0.5f, 0.1f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);