Saturday, 4 April 2015

SDL2 : Dimulai dari Sebuah Titik (Piksel) #5


Tulisan ini merupakan lanjutan dari:

Sebuah titik saja tidak cukup, mari kita membuatnya dari garis karena hasil yang diperoleh akan lebih baik. Yang diperlukan adalah koordinat lama, kita namakan X2 dan Y2. Perhatikan kode berikut :
   
   ...
      int X2=0,Y2=0;
      for(int X1=0; X1 < Layar_Lebar; X1++){

         //Memperoleh derajat untuk Y , dimana 1 gelombang = 360 derajat
         int derajat = X1*((iPulse*360.0f)/Layar_Lebar);

         //setiap nilai X bernilai sekian derajat tergantung banyak iPulse
         int Y1 = (Layar_Tinggi/2) +
                  cos(derajat*PI/180.0)*iTinggi;

         // Jika salah satu dari dua titik berada pada dimensi layar,
         // maka selanjutnya membuat garis.
         if( ((X1 > 0 && X1 < Layar_Lebar) && (Y1 > 0 && Y1 < Layar_Tinggi)) ||
             ((X2 > 0 && X2 < Layar_Lebar) && (Y2 > 0 && Y2 < Layar_Tinggi)))
         {
            //proses drawing
            SDL_RenderDrawLine( gRenderer, X1, Y1, X2, Y2);

         }

         //Menyimpan titik terakhir pada (X2,Y2)
         X2 = X1;
         Y2 = Y1;
      }
   ...

Proses penggambaran terjadi jika X1 atau X2 lebih besar dari 0 (nol) begitu pula untuk Y1 atau Y2 > 0. Yang perlu diperhatikan adalah variabel X2 dan Y2. Karena kita melakukan inisialisasi dengan nilai 0 (nol), maka (X2,Y2) = (0,0) dan X1,Y1 berada di posisi tertentu. Sehingga hasilnya tidak sesuai yang diharapkan. Untuk memperbaikinya dapat mengisi nilai awal sama seperti X1 dan Y1 pada X2 dan Y2.

Fungsi SDL_RenderDrawLine( gRenderer, X1, Y1, X2, Y2), sangat mudah digunakan, parameter yang perlu diisi pun cukup jelas. Sampai disini SDL2 sudah menyediakan banyak fungsi basic untuk proses penggambaran primitif yang lebih baik dan pemanfaatan akselerasi Hardware yang lebih powerful. So, Happy Coding! .

- krofz

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top