Senin, 25 Mei 2015

Objek Meja 3D Wire dan Solid

Masih pagi benar, dari depan laptop acer ku yang agak sedikit berdebu. jam segini internet nya ngebut banget...



Pagi rekan-rekan sekalian, mungkin rekan-rekan masih pada bobok...

Pada kesempatan kali ini aku tidak akan membahas tentang pemrograman, aku hanya akan menunjukan kepada rekan-rekan sekalian tentang pentingnya objek 3D balok yang telah kita pelajari bersama. Oops maaf bagi rekan-rekan yang baru bergabung, jika belum mempelajari cara membuat balok 3D wire dan balok 3D solid bisa klik di link yang telah ogut sediakan.


Hasil dari program kali ini adalah meja 3D yang dibuat dengan balok 3D, gimana keren kan, hanya dengan memanfaatkan objek balok, rekan-rekan bisa berkreasi seperti yang ogut contohkan.


Untuk membuat meja ini ogut tidak akan membahas tentang pemrogramannya lagi, karena emang udah ogut jelaskan di artikel sebelumnya, rugi donk jelasin lagi, takut rekan-rekan bosan...hehehehe...

Pertama load balok yang dibutuhkan untuk membuat meja.

bool Load_Data_Meja()
{
loadBalok(1.5f, 0.1f, 1.0f, Vertex_Balok1);  //atas meja
if (cek_error_load == false)
return false;
load_Balok_TextureKoordinat(1.5f, 0.1f, 1.0f, 3.2f, 1.0f, 0.1f, 0.35f, 1, T_Koordinat2d_1);

loadBalok(0.05f, 0.1f, 0.7f, Vertex_Balok23); //penyangga kaki
if (cek_error_load == false)
return false;
load_Balok_TextureKoordinat(0.05f, 0.1f, 0.7f, 3.2f, 1.0f, 0.0f, 0.0f, 1, T_Koordinat2d_23);

loadBalok(1.2f, 0.1f, 0.05f, Vertex_Balok45); //penyangga kaki
if (cek_error_load == false)
return false;
load_Balok_TextureKoordinat(1.2f, 0.1f, 0.05f, 3.2f, 1.0f, 0.0f, 0.0f, 1, T_Koordinat2d_45);

loadBalok(0.1f, 0.7f, 0.1f, Vertex_Balok6789); //kaki
if (cek_error_load == false)
return false;
load_Balok_TextureKoordinat(0.1f, 0.7f, 0.1f, 3.2f, 1.0f, 0.0f, 0.0f, 1, T_Koordinat2d_6789);

return true;
}

Siapkan juga teksturnya.

//load file bitmap 24 bit
bool Load_Texture()
{
glEnable(GL_TEXTURE_2D);

if ((texture = Create_Texture("Bmp_Files/text_merah.bmp")) == NULL)
return false;

if ((texture2 = Create_Texture("Bmp_Files/texture_meja2.bmp")) == NULL)
return false;

return true;
}

Lalu display dah meja wire dan meja solid ke layar monitor.

void Meja_Wire()
{
glPushMatrix();
glTranslatef(0.0f, 0.1f, 0.0f);
balok_wire(Vertex_Balok1);
glTranslatef(0.0f, -0.1f, 0.0f);


glTranslatef(-0.625f, 0.0f, 0.0f);
balok_wire(Vertex_Balok23);

glTranslatef(1.25f, 0.0f, 0.0f);
balok_wire(Vertex_Balok23);

glTranslatef(-0.625f, 0.0f, 0.325f);
balok_wire(Vertex_Balok45);

glTranslatef(0.0f, 0.0f, -0.65f);
balok_wire(Vertex_Balok45);

glTranslatef(0.55f, -0.30f, 0.075f);
balok_wire(Vertex_Balok6789);

glTranslatef(-1.1f, 0.0f, 0.0f);
balok_wire(Vertex_Balok6789);

glTranslatef(0.f, 0.0f, 0.5f);
balok_wire(Vertex_Balok6789);

glTranslatef(1.1f, 0.0f, 0.0f);
balok_wire(Vertex_Balok6789);
glPopMatrix();
}

void Meja_Solid()
{
glPushMatrix();
//atas meja
glTranslatef(0.0f, 0.1f, 0.0f);
balok_solid(Vertex_Balok1, T_Koordinat2d_1, 0);
glTranslatef(0.0f, -0.1f, 0.0f);

//2 balok penyangga kaki (kiri kanan)
glTranslatef(-0.625f, 0.0f, 0.0f);
balok_solid(Vertex_Balok23, T_Koordinat2d_23, 1);

glTranslatef(1.25f, 0.0f, 0.0f);
balok_solid(Vertex_Balok23, T_Koordinat2d_23, 1);

//2 balok penyangga kaki (atas bawah)
glTranslatef(-0.625f, 0.0f, 0.325f);
balok_solid(Vertex_Balok45, T_Koordinat2d_45, 1);

glTranslatef(0.0f, 0.0f, -0.65f);
balok_solid(Vertex_Balok45, T_Koordinat2d_45, 1);

//4 kaki meja
glTranslatef(0.55f, -0.30f, 0.075f);
balok_solid(Vertex_Balok6789, T_Koordinat2d_6789, 1);

glTranslatef(-1.1f, 0.0f, 0.0f);
balok_solid(Vertex_Balok6789, T_Koordinat2d_6789, 1);

glTranslatef(0.f, 0.0f, 0.5f);
balok_solid(Vertex_Balok6789, T_Koordinat2d_6789, 1);

glTranslatef(1.1f, 0.0f, 0.0f);
balok_solid(Vertex_Balok6789, T_Koordinat2d_6789, 1);
glPopMatrix();
}

Selesai tugas ogut kali ini, kode program secara lengkap tidak ogut sertakan, tapi project lengkap tentang meja 3D dapat rekan-rekan download pada link di bawah.

Salam Sukses selalu


Heriady
heriady.yoh@gmail.com


Download project meja 3D, dibuat menggunakan Visual Studio 2013 Express.


Sumber
Artikel ini bersumber dari buku Pemrograman Grafik 3D menggunakan C & OpenGL, karangan Heriady (halaman 66 s/d 67)












Artikel terkait
Membuat balok 3D wire
Membuat balok 3D solid