Selamat datang ke Wikipedia Bahasa Melayu!
Salam sejahtera Tiramukti! Terima kasih kerana mendaftar di Wikipedia Bahasa Melayu!
Berikut merupakan beberapa pautan yang dapat anda layari jika masih baru di Wikipedia:

Lihat juga tutorial dan meja bantuan Wikipedia. Untuk menandatangani pesanan anda pada laman perbualan, seperti laman ini, letakkan ~~~~ (empat kali tanda gelombang) atau klik butang Tandatangan dan cap waktu pada laman penyuntingan.
Semoga anda menikmati kunjungan anda di Wikipedia Bahasa Melayu. Selamat menyumbang! ...Aurora... (b) 16:01, 19 Oktober 2011 (UTC)Balas

Lawati b:Wikibooks:Rak_bahasa_pengaturcaraan. ...Aurora... (b) 16:01, 19 Oktober 2011 (UTC)Balas

Wikibooks

sunting

Saya cadangkan anda menyumbang di Wikibooks. Di sana anda boleh buka buku baru yang mengandungi contoh-contoh OpenGL. --Kurnia [ bual ] 10:15, 27 Oktober 2011 (UTC)Balas

Melakar segitiga dengan menggunakan OpenGL

sunting

contoh penuh coding OpenGL

sunting
    #include <GL/glut.h>
    void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(6.0, 1.0, 7.0);
    glBegin(GL_POLYGON);
    glVertex3f (0.50, 0.50, 0.0);
    glVertex3f (0.75, 0.25, 0.0);
    glVertex3f (0.75, 0.75, 0.0);
    glVertex3f (0.25, 0.75, 0.0);
    glEnd();
    glFlush ();}

    void init(void) 
{
    glClearColor (1.0, 0.0, 0.0, 0.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
    int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize (250, 250); 
    glutInitWindowPosition (100, 100);
    glutCreateWindow ("hello");
    init ();
    glutDisplayFunc(display); 
    glutMainLoop();

}

Penerangan coding di atas

sunting

Includes

sunting

glut.h adalah antara muka untuk GLUT (OpenGL utility Toolkit), satu lagi perpustakaan utiliti yang menyediakan antara muka pengguna bebas platform.

  #include <GL/glut.h>

Function

sunting

Fungsi display dengan parameter void

  void display(void){

Membersihkan semua pixels

  glClear(GL_COLOR_BUFFER_BIT);

Warna segitiga disetkan kepada 7.0, 2.0, 0.0 iaitu warna kuning

  glColor3f(7.0, 2.0, 0.0);

Melakar polygon (segitiga)

  glBegin(GL_POLYGON);
  glVertex3f (0.50, 0.50, 0.0);
  glVertex3f (0.75, 0.25, 0.0);
  glVertex3f (0.75, 0.75, 0.0);
  glVertex3f (0.25, 0.75, 0.0);

Melakar telah tamat.

  glEnd();

Pelaksanaan berkuat kuasa arahan GL dalam masa terhingga

  glFlush ();}

Fungsi init dengan parameter void

  void init(void) {

warna latar belakang disetkan kepada warna merah

  glClearColor (1.0, 0.0, 0.0, 0.0);

Nilai-nilai disetkan dan menentukan matriks yang matriks semasa

  glMatrixMode(GL_PROJECTION);

Menggantikan matriks dengan matriks identiti

  glLoadIdentity();

glOrtho menggambarkan transformasi yang menghasilkan unjuran selari. Matriks semasa (lihat glMatrixMode) didarab dengan matriks ini dan hasilnya menggantikan matriks semasa, seolah-olah glMultMatrix dipanggil dengan matriks berikut sebagai hujah.

  glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); }

Setiap program C mengandungi fungsi () utama, di sini adalah salah satu yang terdapat dalam kebanyakan program OpenGL. Fungsi utama adalah bertanggungjawab untuk:

1. Memulakan GLUT;

2. mewujudkan windows yang menggunakan GLUT;

3. Memulakan apa-apa struktur data yang diperlukan untuk melakar sesuatu;

4. memberitahu fungsi-fungsi GLUT yang akan mengendalikan acara-acara windows;

5. memberitahu GLUT untuk memulakan start waiting untuk acara-acara.

  int main(int argc, char** argv){

Fungsi ini juga disetkan GLUT library supaya ia mesti diadakan before apa-apa fungsi GLUT lain.

  glutInit(&argc, argv);

Warna paparan kami akan dinyatakan sebagai merah, hijau dan magnitud komponen biru (GLUT_RGBA).

  glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);

Tentukan ketinggian dan lebar mana-mana windows dicipta iaitu 250x250.

  glutInitWindowSize (250, 250); 

Window akan diletakkan pada sudut atas kiri skrin dengan 100,100.

  glutInitWindowPosition (100, 100);

Cipta satu windows dengan "hello"

  glutCreateWindow ("hello");

Fungsi user-defined.

  init ();

Setiap kali windows perlu dilakar semula, sistem akan memanggil display (pengguna ditakrifkan).

  glutDisplayFunc(display); 

Akhir sekali, memulakan windows dengan acara berulang-ulang, menunggu tekanan kekunci, mengukur saiz semula windows, dan melakar semula windows.

  glutMainLoop(); }