Tampilkan postingan dengan label Photoshop. Tampilkan semua postingan
Tampilkan postingan dengan label Photoshop. Tampilkan semua postingan

Selasa, 02 Juni 2015

Membuat Tekstur TGA 32 Bit

Dari depan laptopku, hari masih pagi dan matahari belum muncul...

Pagi semuanya...
Artikel kali ini tidak akan membahas tentang pemrograman, tetapi ke arah tutorial untuk membuat file TGA 32 bit. File TGA 32 bit bisa dijadikan tekstur untuk objek 3D dan aku sudah pernah menulisnya di artikel sebelumnya. 

Singkat kata kita langsung saja membuat file TGA 32 bit, dan  untuk membuat file ini aku menggunakan Photoshop versi 7.0 (versi jadoel karena laptop ogut juga jadoeeellll).

Pertama jalankan Photoshop di komputer rekan-rekan, hingga tampil seperti gambar di bawah ini.


Tekan Ctrl+N untuk membuat file baru, tentukan lebar dan tinggi tekstur TGA 32 bit.  Lebar dan tinggi harus kelipatan dari 2 pangkat n pixel (32, 64, 128, 256 atau 512). Pada contoh ini ogut memilih 256 pixel. Pilih Transparent lalu klik tombol OK.


Klik Custom Shape Tool, lalu pilih sebuah objek (contoh daun).


Lalu klik , tahan dan geser mouse Anda (drag and drop) di tempat yang telah Anda buat sebelumnya, hingga daun akan tampak seperti gambar di bawah ini.


Sekarang simpan file tersebut caranya, klik menu File lalu pilih Save As.


Tentukan folder tempat file akan disimpan, ketik nama file, pilih format file TGA, lalu klik tombol Save.


Langkah terakhir akan tampil Targa Options, pilih 32 bit lalu klik tombol OK.


Selesai sudah tutorial untuk membuat file TGA 32 bit, selamat mencoba rekan-rekan.


Heriady
heriady.yoh@gmail.com


Artikel terkait
Program tekstur TGA 32 bit
Membuat file bitmap 24 bit

Sabtu, 30 Mei 2015

Tekstur TGA 32 bit untuk Objek 3D

Pagi hari yang mendung, hujan dari semalem tidak berhenti-henti...padahal hari ini hari libur


Selamat Pagi rekan-rekan sekalian yang ganteng-ganteng dan yang cantik-cantik...
Hari ini aku akan memberikan contoh tesktur yang lain dari sebelumnya, pada artikel sebelumnya aku membahas tentang file bitmap 24 bit yang dijadikan tekstur. Kali ini aku akan memperkenalkan file TGA 32 bit yang akan dijadikan tesktur.


Pada gambar di atas rekan-rekan bisa melihat pagar dan daun, pagar dibentuk dari 1 (satu polygon) dan diberi tekstur TGA 32 bit. Tetapi ada bagian dari pagar yang transparan, sehingga objek 3D (pohon) di belakangnya akan tampak. Tekstur TGA 32 bit banyak digunakan untuk objek 3D seperti pagar dan daun, tujuannya untuk memudahkan pemrograman serta menghemat jumlah polygon. Objek 3D pohon adalah contoh objek 3D yang bisa digunakan untuk game 3D karena hanya menggunakan sedikit polygon (pohon dibuat dengan menggunakan 3ds max).


File TGA 32 bit bisa dibuat dengan bantuan software pengolah citra seperti Photoshop (gambar di atas).
Untuk membuat tekstur TGA 32 bit diperlukan fungsi load dan jangan lupa untuk menambahkan dua baris perintah berikut ini.

----------------------------------------------------
//untuk TGA tekstur
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0);
----------------------------------------------------

bool LoadTGA(unsigned int &TeksturID, char *filename)
{
    unsigned char    standard_tga_header[12] = { 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

    unsigned char    *tga_Data;
    unsigned int    tga_width;
    unsigned int    tga_height;

    unsigned char    Load_tga_header[12];
    unsigned char    tga_header_6bytes[6];

    unsigned int    byte_per_pixel;
    unsigned int    tga_image_size;
    unsigned int    temp_tga_Data;
    int i;


    FILE *file = 0;
    errno_t err;

    if ((err = fopen_s(&file, filename, "rb")) != 0)
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("Load TGA Error"), MB_OK);
        return false;
    }

    //load tga header dari file tga,   
    if (fread(Load_tga_header, 1, sizeof(Load_tga_header), file) != sizeof(Load_tga_header))
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("Fail to Read TGA Header"), MB_OK);

        fclose(file);
        return false;
    }

    //bandingkan header file TGA dengan standard TGA header   
    if (memcmp(standard_tga_header, Load_tga_header, sizeof(standard_tga_header)) != 0)
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("Not TGA Format"), MB_OK);

        fclose(file);
        return false;
    }

    //load 6 bytes tga header (penting)
    if (fread(tga_header_6bytes, 1, sizeof(tga_header_6bytes), file) != sizeof(tga_header_6bytes))
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("Fail to Read 6 byte TGA Header"), MB_OK);

        fclose(file);
        return false;
    }

    tga_width = tga_header_6bytes[1] * 256 + tga_header_6bytes[0];
    tga_height = tga_header_6bytes[3] * 256 + tga_header_6bytes[2];

    if (tga_header_6bytes[4] != 32)
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("data not 32 bit"), MB_OK);

        fclose(file);
        return false;
    }

    byte_per_pixel = tga_header_6bytes[4] / 8;
    tga_image_size = tga_width * tga_height * byte_per_pixel;

    tga_Data = (unsigned char *)malloc(tga_image_size);

    if (tga_Data == NULL)
    {
        MessageBox(NULL, _T("Error open file TGA"), _T("Fail to allocate memory"), MB_OK);

        fclose(file);
        return false;
    }

    if (fread(tga_Data, 1, tga_image_size, file) != tga_image_size)
    {
        if (tga_Data != NULL)
            free(tga_Data);

        MessageBox(NULL, _T("Error open file TGA"), _T("Fail to Creat image data"), MB_OK);

        fclose(file);
        return false;
    }

    //rubah dari BGR ke RGB
    for (i = 0; i < (int)tga_image_size; i += byte_per_pixel)
    {
        temp_tga_Data = tga_Data[i];
        tga_Data[i] = tga_Data[i + 2];
        tga_Data[i + 2] = temp_tga_Data;
    }

    //start to generate texture
    glGenTextures(1, &TeksturID);

    glBindTexture(GL_TEXTURE_2D, TeksturID);

    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);

    gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, tga_width, tga_height, GL_RGBA, GL_UNSIGNED_BYTE, tga_Data);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tga_width, tga_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, tga_Data);

    fclose(file);

    //clear unused memory   
    free(tga_Data);

    //return tga_texture_ID;                                               
    return true;


Sampai Jumpa lagi di artikel berikutnya, maju terus pemrogramman tanah air.


Heriady
heriady.yoh@gmail.com


Download program tekstur TGA 32 bit tinggal Anda klik link ini, ngak usah repot-repot ngetik lagi capek.


Artikel terkait
Program tekstur bitmap 24 bit

Minggu, 24 Mei 2015

Membuat Tekstur Mask

Masih subuh, ditemani oleh Green Day 'Wake Me Up When September Ends' dan kopi, ayam tetangga belum bangun rupanya...mungkin semelem habis malem mingguan ama pacarnya...hehehehe

Salam Sukses selalu rekan-rekan...

Postingan kali ini tidak akan membahas tentang program (rekan-rekan jangan kecewa ya), tapi akan membahas tentang cara membuat tekstur mask yang digunakan untuk teknik masking. Seperti yang telah aku jelaskan di artikel sebelumnya tekstur untuk teknik masking menggunakan file bitmap 24 bit dengan warna latar belakang putih sempurna dan hitam sempurna.


Untuk menyamakan istilah aku memakai nama tekstur mask untuk  yang berlatar belakang putih sempurna dan tekstur image untuk yang berlatar hitam sempurna, seperti yang terlihat pada gambar di atas.

Banyak program pengolah citra / image yang bisa dipakai untuk membuat tekstur, tapi kali ini aku hanya akan membahas cara menggunakan Photoshop versi 7.0 untuk membuat tekstur (maaf ya Photoshop nya versi jadul banget, karena laptop ogut ngak sanggup jika pakai versi terbaru).

Ok kita langsung saja ya....

Langkah pertama jalankan Photoshop 7.0 di komputer Anda hingga tampak seperti gambar di bawah ini.


Tekan Ctrl+N untuk membuat file baru dengan ukuran lebar 100 pixel dan tinggi 100 pixel, lalu klik tombol OK.


Setelah tampil canvas baru dengan ukuran 100X100 pixel, klik Custom Shape Tool hingga tampil daftar gambar Shape yang dapat kita pilih. Pilih sebuah gambar, pada contoh ini aku memilih gambar seorang laki-laki.


Klik pada canvas tahan tombol mouse, lalu drag dan lepaskan tombol mouse, hingga terbentuk sebuah gambar seperti di bawah.


Langkah berikutnya kita harus mengubah warna gambar dengan cara klik pada Set foreground color hingga tampil window Color Picker, pilihlah warna sesuai dengan selera Anda, lalu klik tombol OK.


Tekan tombol Alt+Backspace untuk mengganti warna objek, tetapi pastikan dahulu layer yang hendak diganti sedang aktif.


Langkah berikutnya kita akan mengganti warna Background menjadi warna hitam sempurna. Klik layer Background, lalu klik Set foreground color, hingga tampil window Color Picker.


Berikutnya pilih warna hitam sempurna dengan menggerakkan mouse ke bagian kiri bawah hingga nilai R=0, G=0, dan B=0, lalu klik tombol OK.


Selanjutnya tekan tombol Alt+Backspace, untuk mengganti warna Background menjadi warna hitam sempurna.


Save canvas di atas dengan nama Texture_Image.psd, lalu Save As dengan format bitmap dan beri nama Texture_Image.bmp (pilih Depth=24 bit).

Sampai dengan langkah di atas Anda telah berhasil membuat sebuah file bitmap yang akan kita pakai sebagai tekstur image. Berikutnya kita harus membuat file bitmap yang nantinya akan dipakai sebagai tekstur mask.

Jangan tutup hasil akhir dari pekerjaan Anda sebelumnya, sebab langkah berikutnya merupakan kelanjutan dari pekerjaan sebelumnya.

Save As kembali pekerjaan Anda dengan nama Texture_Mask.psd. Kita akan mengubah warna Background menjadi warna putih sempurna. Klik pada layer Background, lalu klik pada Set foreground color, hingga tampil window Color Picker.


Gerakkan mouse ke kiri atas, perhatikan nilai dari R=255, G=255, dan B=255, lalu klik tombol OK.


Tekan Alt+Backspace untuk mengganti warna Background menjadi putih sempurna.


Sekarang kita akan mengubah warna objek orang menjadi warna hitam sempurna. Klik pada layer Shape1, lalu klik Set foreground color hingga tampil window Color Picker.


Pilih warna hitam sempurna dengan cara seperti yang telah diterangkan sebelumnya lalu klik tombol OK, dan terakhir tekan Alt+Backspace untuk membuat warna objek menjadi hitam sempurna.


Save canvas di atas, lalu Save As dengan format bitmap dengan nama Texture_Mask.bmp (pilih Depth=24 bit).

Setelah proses di atas selesai secara keseluruhan Anda akan mempunyai dua buah file bitmap yang dapat digunakan untuk membuat tekstur image dan tekstur mask.

Selesai deh tekstur mask dan tekstur image dan rekan-rekan bisa menggunakan kedua tekstur tersebut untuk membuat program teknik masking.

Salam Sukses rekan-rekan dan selamat mencoba...


Heriady
heriady.yoh@gmail.com


Sumber
Artikel ini bersumber dari Darfo Step By Step Belajar Membuat Game Sendiri (halaman 26 s/d 34) karangan Heriady












Artikel terkait

Jumat, 22 Mei 2015

Membuat File Bitmap 24 Bit

Dari depan laptop, sudah mau sore lagi rupanya,  sambil minum teh hangat

Sore rekan-rekan...gimana kabar...? Saya berharap rekan-rekan sekalian dalam keadaan baik.

Kali ini aku akan menerangkan cara untuk membuat file bitmap 24 bit, file ini berguna untuk membuat tekstur pada pemrograman grafik 2D maupun 3D.

Untuk membuat file bitmap 24 bit caranya sangat mudah rekan-rekan bisa mengggunakan Paint, software bawaan windows yang disertakan jika rekan-rekan menginstall windows di komputer rekan-rekan.

Ok langsung saja ya, contoh pada gambar di bawah ini sebuah file image yang di load dengan Paint.


Untuk membuat file image bitmap 24 bit, rekan-rekan tinggal Save As file yang telah di load oleh Paint.


Setelah muncul kotak dialog Save As, pilihlah jenis file image yang akan di simpan (Bitmap 24 bit) seperti gambar di bawah ini.


Dan langkah terakhir klik tombol Save untuk menyimpannya. Jadi deh file bitmap 24 bit.


File bitmap 24 bit akan ogut gunakan untuk membuat tekstur makanya ogut ajarin supaya rekan-rekan ngak bingung, kalo rekan-rekan bingung kan ogut juga yang dosa...hehehehe


Selamat Belajar Rekan-rekan


Heriady
heriady.yoh@gmail.com


Artikel terkait
Warna putih dan hitam sempurna
Program tekstur OpenGL 2D
Program teknik masking OpenGL 2D

Warna Putih dan Hitam Sempurna

Sudah makan siang dan siap ngetik lagi...

Selamat Siang...

Kali ini aku akan menerangkan tentang warna yang banyak dipakai untuk teknik masking. Warna di komputer ditentukan dari tiga nilai yaitu R (Red), G (Green) dan B (Blue). Contoh warna hijau seperti gambar di bawah ini ditentukan dari nilai R=34, G=201 dan B= 101.



Lalu apa yang dimaksudkan dengan warna putih sempurna? Untuk lebih jelasnya perhatikan gambar di bawah ini. Di lingkaran merah rekan-rekan bisa melihat warna putih dengan nilai R, G dan B sebesar 255.


Perhatikan juga warna putih pada gambar berikut ini. Warna putih berikut ini bernilai R=251, G=250 dan B=249. Dari kedua contoh di atas terdapat perbedaan nilai RGB nya tetapi warnayang dihasilkan  sama yaitu putih. Yang dimaksud dengan warna putih sempurna adalah warna putih yang nilai RGB sebesar 255.


Lalu bagaimana dengan warna hitam sempurna? Sama saja dengan warna putih sempurna tetapi nilai RGB untuk warna hitam sempurna adalah 0 (nol). Rekan-rekan dapat melihat contoh warna hitam sempurna pada gambar di bawah ini.


Warna hitam yang tidak sempurna dengan nilai RGB tidak 0  (nol) contohnya seperti gambar di bawah ini.


Selesai deh urusan warna putih dan hitam sempurna. Gimana masih bingung, tentu tidak karena sederhana sekali yah. Warna putih dan hitam sempurna banyak dipakai untuk teknik masking, sedangkan teknik masking banyak digunakan untuk membuat game 2D.


Salam Hangat selalu


Heriady
heriady.yoh@gmail.com


Artikel terkait
Membuat File Bitmap 24 bit
Program tekstur untuk objek 2D
Program dengan teknik masking