Nama : Muhammad Ramadhan Rizky Akbar NPM : 011180207 MatKul : Grafika Komputer Tugas Pertemuan 3 1. Buatlah Resume mengenai Open GL - OpenGL (Open Graphic Library) merupakan library yang terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah atau beberapa objek 2 dimensi dan 3 dimensi. Library-library ini mendefinisikan sebuah cross-bahasa, cross-platform API (antarmuka pemrograman aplikasi) untuk menulis aplikasi yang menghasilkan komputer 2D dan 3D grafis. Bahasa pemrograman yang digunakan pada umumnya adalah pemrograman C/C++, namun dapat pula menggunakan Java. OpenGL merupakan library yang digunakan untuk melakukan pemrograman grafik; Graphic Programming. Untuk mempelajari pemrograman grafik ini, diharapkan kita dapat menguasai persamaan matematika, terutama operasi matriks. Karena, di dalam melakukan pemrograman grafik, akan dihadapkan mengenai pembuatan shading, shape, transform (rotate, translation, scaling). OpenGL dikembangkan oleh Silicon Graphich Inc pada tahun 1992 dan digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Dalam industri game, OpenGL juga sangat berperan dalam hal grafik. Pesaingnya adalah DirectX atau Direct3D yang berjalan di platform Microsoft Windows. 2. Software apa saja yg dibutuhkan untuk membuat sebuah project grafis (contoh: menggambar garis/kotak/lingkaran dll) yang menggunakan dukungan OpenGL. - Atom, Borland C++ Builder, Eclipse, Delphi, Dev C++, Ms Visual Studio, Netbeans 3. Carilah referensi contoh project yg menggunakan OpenGL sebagai library-nya (include source code) - Membuat lingkaran dengan OpenGL Terdapat 4 parameter pada fungsi tersebut, yaitu: Jari-jari: untuk menentukan jari-jari lingkaran jumlah_titik : untuk menentukan jumlah titik yang akan dihubungkan pada lingkaran. Semakin banyak titik, maka akan menjadi lingkaran sempurna. Apabila jumlah titiknya 5, maka akan menjadi segilima. x_tengah dan y_tengah : untuk menentukan titik tengah lingkaran. Namun pada penerapan program proses penentuan titik koordinat pada lingkaran dapat kita kembangkan seperti kode program di bawah ini : float x=x_tengah+jari2*cos(sudut); float y=y_tengah+jari2*sin(sudut); di mana letak posisi koordinat lingkaran berasal dari penambahan titik tengah lingkaran yang telah ditentukan sebelumnya. BERIKUT CONTOH SOURCE CODE MEMBUAT LINGKARAN SEDERHANA #include <stdlib.h> #include <glut.h> #include <math.h> const double PI = 3.141592653589793; int i; void lingkaran(int jari2, int jumlah_titik, int x_tengah, int y_tengah) { glBegin(GL_POLYGON); for (i=0;i<=360;i++){ float sudut=i*(2*PI/jumlah_titik); float x=x_tengah+jari2*cos(sudut); float y=y_tengah+jari2*sin(sudut); glVertex2f(x,y); } glEnd(); } void renderScene(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0); //merah lingkaran(30,70,-200,0); glColor3f(0.0, 1.0, 0.0); //hijau lingkaran(30,70,200,0); glColor3f(0.0, 0.0, 1.0); //biru lingkaran(100,100,0,0); glFlush(); } void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); glutInitWindowSize(640, 480); glutInitWindowPosition(100, 100); glutCreateWindow("Lingkaran"); gluOrtho2D(-320., 320., -240., 240.); glutDisplayFunc(renderScene); glutMainLoop(); } 4. Apabila disuruh memilih untuk aplikasi mana yg akan digunakan sebagai Compiler/IDE/Editor/Builder untuk mata kuliah Grafika Komputer, Aplikasi mana yg menjadi pilihan anda? Sertakan alasan atau perbandingan dengan aplikasi lain (contoh : Atom, Borland C++ Builder, Eclipse, Delphi, Dev C++, Ms Visual Studio, Netbeans) - Saya lebih baik memilih Atom untuk digunakan sebagai Builder. Di karenakan tampilan GUI ini sangat memanjakan mata, sehingga jadi semangat buat ngoding. Apalagi Atom sudah mempunyai Fitur auto complete sangat membantu programmer yang sering lupa coding dan juga ada feature split layar juga, alias kita bisa ngoding sambil buka 2 file, ada kiri/kanan atau atas/bawah.