Langsung ke konten utama

Cara Membuat Gambar Bergerak atau Tweening di OpenGL


BELAJAR OPENGL - Halo teman, terimakasih telah berkunjung ke blog Cara Informatika yang sederhana ini, seperti biasa blog ini masih membahas tentang yang berhubungan dengan ilmu komputer, salah satunya adalah OpenGL, materi ini bisasanya kita pelajari di dalam perkuliahan jurusan komputer, yang dipelajari di dalam mata kuliah bernama Komputer Grafik atau Grafika Komputer, di dalam OpenGL kita belajar tentang bagaimana cara membuat Gambar 2D dan 3D menggunakan bahasa pemrograman C dan C++ yang mana pembelajaran ini adalah dasar dari pengembangan ilmu Komputer Grafis.

gambar bergerak twening opengl

Pada materi OpenGL kali ini, saya akan menunjukkan bagaimana cara membuat gambar bergerak di OpenGL menggunakan bahasa pemrograman C++, pergerakan atau perpindahan gambar di OpenGL ini dapat juga di Sebut Tweening, karna Tweening adalah mengubah bentuk, ukuran, atau tempat dalam artian disini adalah titik kordinat, dengan motion inbeetween (gerak perubahan antara awal dan akhir)

Sebelum saya menunjukkan dan menjelaskan koding yang di gunakan di dalam membuat gambar bergerak di OpenGL ini, disini saya memberikan sedikit informasi bahwa software yang saya gunakan untuk menulis dan menjalankan bahasa pemrograman C++ di OpenGL yaitu software bernama Codeblocks, yang mana software ini memiliki fungsi dan kegunaan yang sama dengan yang biasa di ajarkan di perkuliahan yaitu visual C++, atau visual studio, untuk menulis dan menjalankan bahasa pemrograman C++ dalam belajar OpenGL.

Alasan kenapa saya  menggunakan Codeblocks adalah karna laptop saya sedikit bermasalah ketika melakukan pemasangan glut pada Visual C++ atau Visual Studio, bagi yang tertarik atau memiliki masalah yang sama, Codeblocks dapat di pelajari dengan melihat di bagian menu blog ini yaitu OpenGL dan Dasar OpenGL.

Baiklah langsung saja kita akan membuat gambar bergerak menggunakan OpenGL, yang pertama saya sudah menyiapkan titik kordinat dan juga sebuah gambar mobil sederhana dengan OpenGL.
gambar mobil bergerak opengl

pada gambar titik kordinat di atas, dapat dilihat disana saya membuat dua buah poligon berwarna merah dan biru, dan juga dua buah lingkaran berwarna putih sebagai rodanya.

bagi kalian yang belum mengerti tentang lingkaran dengan OpenGL dapat di pelajari dulu di blog ini silahkan menuju Cara Membuat Lingkaran di Opengl

untuk warna di dalam OpenGL juga dapat di pelajari di sini pada Koding Warna di Opengl

Bagi teman-teman yang Ingin dibantu dalam pembuatan tugas OpenGL silahkan DM ke Instagram @mahara.kata atau silahkan hubungi admin di menu HUBUNGI ADMIN

Setelah gambar selesai dibuat dengan OpenGL, selanjutnya tinggal menambahkan koding gerak untuk OpenGL yang mana dapat dilihat di bawah ini:

Deklarasikan variabel gerak otomatis di bagian atas
//deklarasi gerakan otomatis
int gerak = 0;
bool atas = true;

Letakkan perintah Gerak di dalam Void Display atau lebih tepatnya di bagian sebelum pembuatan gambar Objek (diatas koding gambar mobil)
//perintah animasi
glPushMatrix();
glTranslatef( gerak, 0,0);
//contoh disini digambar sebuah mobil

Selanjutnya letakkan Koding dibawah ini di dalam Void Display di bagian bawah gambar Objek dibawah glFlush();
glPopMatrix();

Selanjutnya buatlah sebuah Void timer
void timer(int t)
{
    if (atas){
        gerak += 1;
    } else {
        gerak -= 1;
    }
    if (gerak > 20) {
        atas = false;
    } else if(gerak < -20){
        atas = true;
    }
 glutPostRedisplay();
//kecepatan mobil berbanding terbalik
//semakin besar nilai glutTimerFunc maka akan semakin pelan gerakannya
//ubahlah angka 50 agar mengerti
 glutTimerFunc(50,timer,0);

Terakhir di int main atau void main, panggil void timer
glutTimerFunc(1,timer,0);

mobil 2d opengl


Untuk koding lengkap membuat gambar bergerak di OpenGL, dapat di lihat di bawah ini :

#include<gl/freeglut.h>//glut terpasang di codeblocks
#include<gl/glut.h>//glut visual C++
//catatan untuk di atas kalian bisa hapus salah satu
//atau gunakan sesuai dimana glut.h kalian terpasang
#include<windows.h>
#include<math.h>//agar terpasang rumus matematika untuk lingkaran

//deklarasi pembuatan lingkaran
const double PI = 3.142857143;
int i,radius,jumlah_titik,x_tengah,y_tengah;

//deklarasi gerakan otomatis
int gerak = 0;
bool atas = true;

void display (void)
{
glClear(GL_COLOR_BUFFER_BIT);
//perintah untuk gerakan
glPushMatrix();
glTranslatef( gerak, 0,0);

//Untuk radius titik variabel disini saya menggunakan range 1-9 bukan 0.0-0.9
//silahkan sesualkan saja bila hasilnya sangat kecil atau sangat besar
//untuk mengatur besar kecil tampilan dapat diseting kembali di void main

glBegin(GL_POLYGON);// biru
glColor3f(0,0,1);
glVertex2f(-5,0);
glVertex2f(5,0);
glVertex2f(5,2);
glVertex2f(-4,2);
glVertex2f(-5,1);
glEnd();
glBegin(GL_POLYGON);// merah
glColor3f(1,0,0);
glVertex2f(-2,2);
glVertex2f(4,2);
glVertex2f(3,4);
glVertex2f(0,4);
glEnd();

glBegin(GL_POLYGON);//menggunakan polygon agar dalam lingkaran terisi
glColor3f(1,1,1);//warna lingkaran
radius = 100; //radius 1 dikali 100
jumlah_titik = 60;//semakin banyak titik semakin halus lingkarannya
x_tengah = -300;//tengah lingkaran -0.3 dikali 100
y_tengah = 0;//tengah lingkaran
for (i=0;i<=360;i++)
{
    float sudut=i*(2*PI/jumlah_titik);
    float x=x_tengah+radius*cos (sudut);
    float y=y_tengah+radius*sin (sudut);
    glVertex2f(x/100,y/100);
}
glEnd();

glBegin(GL_POLYGON);//menggunakan polygon agar dalam lingkaran terisi
glColor3f(1,1,1);//warna lingkaran
radius = 100; //radius 1 dikali 100
jumlah_titik = 60;//semakin banyak titik semakin halus lingkarannya
x_tengah = 300;//tengah lingkaran 3 dikali 100
y_tengah = 0;//tengah lingkaran
for (i=0;i<=360;i++)
{
    float sudut=i*(2*PI/jumlah_titik);
    float x=x_tengah+radius*cos (sudut);
    float y=y_tengah+radius*sin (sudut);
    glVertex2f(x/100,y/100);
}
glEnd();

glFlush();//untuk membersihkan
glPopMatrix();
}


void timer(int t)
{
    if (atas){
        gerak += 1;
    } else {
        gerak -= 1;
    }
    if (gerak > 20) {
        atas = false;
    } else if(gerak < -20){
        atas = true;
    }
 glutPostRedisplay();
//kecepatan mobil berbanding terbalik
//semakin besar nilai glutTimerFunc jika ingin mengganti kecepatan
//silahkan ganti angka 50 di bawah ini, misal 100 mobil akan semakin lambat
//dibawah 50 mobil akan semakin cepat
 glutTimerFunc(50,timer,0);
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(700,700);
glutCreateWindow("Mobil Bergerak");
//background warna putih
glutDisplayFunc(display);
gluOrtho2D(-20, 20, -20, 20);//mengatur tampilan agar terlihat seluruhnya
glutTimerFunc(1,timer,0);
glutMainLoop();
}

Baca Juga :

baiklah mungkin sampai disini dahulu pembajasan kali ini, lebih dan kurangnya saya mohon maaf, terimakasih telah berkunjung, bila teman teman butuh bantuan atau jasa dalam pembuatan OpenGL ini silahkan hubungi admin, dengan menekan menu HUBUNGI ADMIN , terimakasih

Komentar

Postingan populer dari blog ini

Coding Warna OpenGL

BELAJAR OPENGL - Dalam Membuat project OpenGL yang mana tidak terlepas dengan yang namanya gambar , nah gambar ini pasti memiliki warna dan dalam OpenGL yang mana untuk membuat warna diperlukan Koding, dan disini saya akan membahas warna opengl, sebelumnya Terimakasih bagi teman-teman yang sudah mengunjungi blog cara informatika yang masih sederhana ini, pada tulisan kali ini saya akan membahas tentang koding warna pada opengl atau bisa juga disebut sebagai pewarnaan pada opengl, koding pewarnaan pada OpenGL sebenarnya sangatlah lengkap dan kita sebenarnya dapat memberikan warna apapun yang kita mau, namun disini saya akan membagikan atau mengkategorikan kriteria warna agar dapat dengan mudah di pahami. Sebelum itu kita bahas sedikit tentang OpenGL, di dalam Belajar OpenGL kita dapat membuat Gambar 2D atau 3D menggunakan bahasa pembrograman C atau C++, biasanya opengl kita pelajari dalam perkuliahan contohnya jika kita mengambil jurusan Teknik Informatika atau jurusan komputer l...

Belajar OpenGL

OpenGL atau Open Graphics Library biasanya dipelajari dalam mata kuliah Komputer Grafik atau Grafika Komputer yang mana OpenGl adalah dasar dalam Pembelajaran Komputer Grafik untuk membuat Gambar 2D dan 3D menggunakan bahasa pemrograman C dan C++ dan untuk sebagai compiler atau software untuk pengkodingannya dapat menggunakan berbagai macam jenis software yang penting dapat menjalankan bahasa C atau C++ dan harus terpasang glut sebagai library nya. Nah langsung saja saya akan menuliskan langkah langkah nya agar teman teman bisa membuat gambar 2D dan 3D menggunakan OpenGL dengan Bahasa Pemrogranan C dan C++ Langkah Langkah Belajar OpenGL : Pertama kali teman teman harus sudah instal Compiler di laptop atau komputer, Compiler adalah software untuk membuat dan menjalankan koding program di komputer, contoh dari compiler yang biasanya digunakan untuk Belajar OpenGL menggunakan bahasa C dan C++ adalah Visual C++, Borland C++, Turbo C++, Visual Studio, Dev C++, codeblocks dan ...

OpenGL - Cara Instal dan Pemasangan Glut di Codeblocks

BELAJAR OPENGL - Halo Teman, terimakasih karna telah berkunjung di blog sederhana bernama cara informatika ini, dan semoga tulisan ini dapat bermanfaat bagi teman semua, baiklah pada tulisan kali ini masih seputar belajar OpenGL, saya akan menjelaskan tentang “ Bagaimana cara instal dan setting glut pada Codeblocks untuk  OpenGL “ dan saya juga akan menjelaskan alasan kenapa menggunakan Codeblocks, namun sebelum itu kita akan membahas kembali sedikit tentang apa itu OpenGL. Sebelum lanjut membaca dan mempelajari cara pemasangan glut di codeblocks, disini teman-teman bisa membaca bagian jika ingin tau cara menjalankan OpenGL dengan menggunakan Compiler lainnya. Bagi kalian yang sedang berkuliah atau mugkin besekolah, yang memilih jurusan yang berhubungan dengan komputer, sebagai contohnya saya berkuliah di jurusan Teknik Informatika, tentunya mungkin akan mempelajari OpenGL ini, biasanya dipelajari pada mata kuliah Komputer Grafik atau juga di matakuliah Grafika Komputer,...