OpenGL

Dalam Tugas Pengantar Grafik Komputer dan Pengolahan Citra saya akan membuat beberapa contoh grafik dengan menggunakan program OpenGL :


/* OpenGL Segitiga */
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glBegin (GL_TRIANGLES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.87f, -0.5f);
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.87f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
theta += 1.0f;
Sleep (1);
}
}

Output :



/* OpenGL Kotak */
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glBegin (GL_POLYGON);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (-0.5f, -0.5f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (-0.5f, 0.5f);
glColor3f (0.0f, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();
SwapBuffers (hDC);
Sleep (1);
}
}

Output :



/* OpenGL Garis Diagonal*/
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glClearColor(1,1,1,0);
glColor3f(1,1,1); //
glBegin(GL_LINES);
glVertex3f(0,0,-0.8);
glVertex3f(9.9,8.9,0.1);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
Sleep (1);
}
}


Output :




Penjelasan :
glColor3f(R,G,B) Warna latar muka dengan tiga komponen warna (RGB)
glColor4f(R,G,B,) Warna latar muka dengan empat komponen warna (RGB, alpha)
R = red, G= green, B= blue

glColor3f(0.0,1.0,0.0); //setting warna
glColor3f(1,0,0); // ini setting warna merah/Red program garis (coba lihat kembali program diatas)
glColor3f (1.0f, 0.0f, 0.0f);
glColor3f (0.0f, 1.0f, 0.0f);       Kombinasi warna pada segitiga & kotak seperti diatas
glColor3f (0.0f, 2.0f, 0.0f);
glColor3f (0.0f, 0.0f, 3.0f);
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
karena: Red= 0.0 Green=0.0 Blue= 1.0

glClear(GL_COLOR_BUFFER_BIT); // Fungsi ini akan menghapus window dan memberi warna yang telah kita definisikan sebelumnya dengan menggunakan glClearColor.
glBegin(GL_LINES); // Membuat Garis dan merupakan Objek primitif
glBegin(GL_TRIANGLES); // Membuat Segitiga dan merupakan Objek primitif
glBegin(GL_QUADS); // Segiempat dan merupakan objek primitif
GL_LINES)
mulai menggambar garis
GL_TRIANGLES
setiap 3 glVertex membentuk segitiga, dan tiap segitiga saling lepas
GL_QUADS
tiap 4 glVertex membentuk segi empat
GL_POLYGON.
n glVertex akan membentuk bidang bersisi n
Contoh:
glBegin(GL_LINES);
glVertex3f(0,0,-0.8);
glVertex3f(9.9,8.9,0.1);
Contoh lain:
glVertex3i(1,0,-2);
glVertex3f(1.0, 0.0, -2.0);
adalah sama yaitu meletakkan titik di layar pada koordinat x = 1, y = 0 dan z = -2, perbedaannya yaitu pada perintah pertama menspesifikasikan titik dengan tipe data integer 32-bit, sedangkan yang kedua dengan tipe data single precision floating point.
Pembuatan garis :
glBegin(GL_LINES);                                                     /* Ingin menggambar garis */
glVertex2(tipe_data)(koordinat X1, koordinat Y1); /* menyatakan sejumlah titik */
glVertex2(tipe_data)(koordinat X2, koordinat Y2); /* menyatakan sejumlah titik */
glEnd();                                                                            /* Akhir menggambar titik */
Pembuatan segitiga :
glBegin (GL_TRIANGLES);                                        /* Ingin menggambar segitiga * /
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);   /* menyatakan sejumlah titik * /
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.87f, -0.5f); /* menyatakan sejumlah titik */
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.87f, -0.5f); /* menyatakan sejumlah titik */
glEnd ();                                                                               /* Akhir menggambar titik * /
Pembuatan kotak :
glBegin (GL_POLYGON);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (-0.5f, -0.5f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (-0.5f, 0.5f);
glColor3f (0.0f, 2.0f, 0.0f); glVertex2f (0.5f, 0.5f);
glColor3f (0.0f, 0.0f, 3.0f); glVertex2f (0.5f, -0.5f);
glEnd ();



0 komentar:

Posting Komentar

Search Blog

Profil

Foto Saya
Alexander Fransiskus
Simple is Beautiful
Lihat profil lengkapku

My Quotes

You are loved more than you know, by someone who died to know you. Romans 5:8

Followers