Dasar-dasar menggambar dengan OpenGL
Dasar-dasar menggambar dengan OpenGL mempunyai 10 buah bentuk geometris sederhana,biasa disebut 10 Geometris Primitif. Disebut primitif karena bentuk sederhana dan ditampilkan sangat cepat dan bisa dibentuk gambar yang lebih kompleks lagi dengan penggabungan gambar geometris primitif tersebut. 10 Geometris tersebut adalah Points (Point), Lines (Garis), Triangles (Segitiga), Triangle Strip (Segitiga Jalur), Quad Strip (Quad Jalur), Line Strip (Garis Jalur), Line Loop (Garis Looping), Quads (Quad), Polygon (Poligon), and Triangle Fan (Segitiga Fan).
Untuk menggambar geometris diatas, openGL menggunakan fungsi, yaitu :
Mengambar Titik
Menggambar titik menggunakan perintah GL_POINTS dengan glVertex3f(x, y, z), dimana kordinat x sumbu horizontal, y sumbu vertikal dan kordinat z kearah kita. Koordinat dimulai dari kiri bawah, seperti gambar di bawah ini.
Untuk mulai menggambar titik kita menggunakan perintah GL_POINTS seperti dibawah ini
glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();
Sintak program menggambarkan grafik dalam sumbu x,y dan z adalah
Atau dalam bentuk lain yaitu
Untuk Kode program lengkap dalam Editor CodeBlocks adalah
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
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(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Point”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Jalankan Program tersebut di CodeBlocks hasilnya seperti gambar di bawah ini
Gambar ini terdiri 6 buah titik berwarna putih.
Untuk menggambar geometris diatas, openGL menggunakan fungsi, yaitu :
- GL_POINTS
- GL_LINES
- GL_TRIANGLES
- GL_TRIANGLE_STRIP
- GL_QUAD_STRIP
- GL_LINE_STRIP
- GL_LINE_LOOP
- GL_QUADS
- GL_POLYGON
- GL_TRIANGLE_FAN
Mengambar Titik
Menggambar titik menggunakan perintah GL_POINTS dengan glVertex3f(x, y, z), dimana kordinat x sumbu horizontal, y sumbu vertikal dan kordinat z kearah kita. Koordinat dimulai dari kiri bawah, seperti gambar di bawah ini.
Untuk mulai menggambar titik kita menggunakan perintah GL_POINTS seperti dibawah ini
glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();
Sintak program menggambarkan grafik dalam sumbu x,y dan z adalah
Atau dalam bentuk lain yaitu
Untuk Kode program lengkap dalam Editor CodeBlocks adalah
#include <gl/glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
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(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Point”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Jalankan Program tersebut di CodeBlocks hasilnya seperti gambar di bawah ini
Gambar ini terdiri 6 buah titik berwarna putih.