Minggu, 06 Desember 2020

Cara menggambar objek 2 dimensi menggunakan OpenGL C++ dengan Visual studio

dalam kesempatan kali ini kita akan membuat sebuah objeck atau bentuk 2 dimensi menggunakan visual studio dan bahasa pemrograman C++. Visual studio yang digunakan bisa dari versi berapa saja, namun disini saya menggunakan Visual C++ 2008 Express Edition karena saya memalkai laptop kentang hehehe. akan tetapi visual studio yang saya guanakan masih sangat berguna dan sangt bisa sekali digunakan untuk menggambar objek 2 dimensi bahkan 3 dimensi skalipun dan mungkin bisa juga sebagai alternatif teman-teman yang masih menggunakan laptop kentang. hehe.

langsung saja kita mulai dengan mencoba membuat inisial nama dengan menggunakan objek dan gradiasi warna

silahkan coba ketikkan

#include <stdio.h>

#include <glut.h>

#include <string.h>

#include <stdarg.h>

 

void persegi(void)

{

      glClear    (GL_COLOR_BUFFER_BIT);

     

      //Huruf H kiri

      glBegin    (GL_POLYGON);

      glVertex2f (-0.9, -0.5);

      glColor3f  (0.0, 1.0, 1.0);

      glVertex2f (-0.9, 0.5);

      glColor3f  (1.0, 0.0, 1.0);

      glVertex2f (-0.8, 0.5);

      glVertex2f (-0.8, -0.5);

      glEnd();

 

      //Huruf H kanan

      glBegin    (GL_POLYGON);

      glVertex2f (-0.6, -0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.6, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.5, 0.5);

      glVertex2f (-0.5, -0.5);

      glEnd();

 

      //Huruf H tengah

      glBegin    (GL_POLYGON);

      glVertex2f (-0.8, -0.05);

      glColor3f  (1.0, 5.0, 1.0);

      glVertex2f (-0.8, 0.05);

      glColor3f  (0.5, 5.0, 0.0);

      glVertex2f (-0.6, 0.05);

      glVertex2f (-0.6, -0.05);

      glEnd();

 

      //Huruf o kiri

      glBegin    (GL_POLYGON);

      glVertex2f (-0.4, -0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.4, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.3, 0.5);

      glVertex2f (-0.3, -0.5);

      glEnd();

 

      //Huruf o atas

      glBegin    (GL_POLYGON);

      glVertex2f (-0.3, 0.4);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.3, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.1, 0.5);

      glVertex2f (-0.1, 0.4);

      glEnd();

 

      //Huruf o bawah

      glBegin    (GL_POLYGON);

      glVertex2f (-0.3, -0.4);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.3, -0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (-0.1, -0.5);

      glVertex2f (-0.1, -0.4);

      glEnd();

 

      //Huruf o kanan

      glBegin    (GL_POLYGON);

      glVertex2f (-0.1, -0.5);

      glColor3f  (0.5, 1.0, 0.0);

      glVertex2f (-0.1, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (0.0, 0.5);

      glVertex2f (0.0, -0.5);

      glEnd();

 

      //Huruf L berdiri

      glBegin    (GL_POLYGON);

      glVertex2f (0.1, -0.5);

      glColor3f  (1.0, 0.5, 0.5);

      glVertex2f (0.1, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (0.2, 0.5);

      glVertex2f (0.2, -0.5);

      glEnd();

 

      //Huruf L Tidur

      glBegin    (GL_POLYGON);

      glVertex2f (0.2, -0.5);

      glColor3f  (1.0, 0.5, 0.5);

      glVertex2f (0.2, -0.4);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (0.4, -0.4);

      glVertex2f (0.4, -0.5);

      glEnd();

 

      //Huruf L berdiri

      glBegin    (GL_POLYGON);

      glVertex2f (0.5, -0.5);

      glColor3f  (1.0, 0.5, 0.5);

      glVertex2f (0.5, 0.5);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (0.6, 0.5);

      glVertex2f (0.6, -0.5);

      glEnd();

 

      //Huruf L Tidur

      glBegin    (GL_POLYGON);

      glVertex2f (0.6, -0.5);

      glColor3f  (1.0, 0.5, 0.5);

      glVertex2f (0.6, -0.4);

      glColor3f  (1.0, 1.0, 0.0);

      glVertex2f (0.8, -0.4);

      glVertex2f (0.8, -0.5);

      glEnd();

 

      //code yang memastikan program dapat berjalan

      glFlush();

}

 

int main(int argc, char **argv)

{

      glutInitWindowPosition (0,0);

      glutInitWindowSize (640,640);

      glutInit(&argc, argv);

      glutCreateWindow("nama");

      glutDisplayFunc(persegi);

      glutMainLoop();

      return 0;

}


Jika sudah coba jalankan program, jika berhasil maka program akan jadi seperti gambar dibawah ini


itu saja dari saya, silahkan mencoba dan terimakasih sudah berkunjung

Untuk Referensi bisa menggunakan Modul disini


Tidak ada komentar:

Posting Komentar