Perbincangan pengguna:Izaty 85

Kandungan laman tidak disokong dalam bahasa lain.
Daripada Wikipedia, ensiklopedia bebas.

Maklumat[sunting sumber]

Salam Wikipedia pengguna Izaty 85, setiap kali anda memuat naik gambar, fail atau imej ke Wikipedia, anda MESTI mengemukakan lesen, jika tidak, Wikipedia boleh memadamkannya. Harap maklum, sila rujuk Wikipedia:Dasar penggunaan imej untuk maklumat lanjut.--Smim90 (bincang) 10:33, 21 November 2011 (UTC)[balas]

Draw multiple randomly generated points in OpenGL (Melukis Titik Secara Rawak dalam OpenGL)[sunting sumber]

#include <stdlib.h> 
#include <GL/glut.h>
#define Height 400
#define Width 400

void display(void)
{
 int x, y;
 glColor3f(1, 0, 0);
 x = rand() % Width; 
 y = rand() % Height; 
 glBegin(GL_POINTS);
 glEnd();
 glFlush();
}

static void reshape(int w, int h)
{
 glMatrixMode (GL_PROJECTION);
 glLoadIdentity ();
 glOrtho(0, Width, 0, Height, -1.0, 1.0); 
}
 
int main(int argc, char **argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_SINGLE);
 glutInitWindowSize(Width, Height);
 glutCreateWindow("Example 1.1.point.c: randomly generated points");
 glutReshapeFunc(reshape); 
 glutDisplayFunc(display);
 glutIdleFunc(display);
 glutMainLoop();
}

Penerangan Koding

#include <stdlib.h> 

// dalam semua program grafik, ia memerlukan fail utama(header file) untuk OpenGL perpustakaan utama(core library).

#include <GL/glut.h> 

//adalah antaramuka GLUT (OpenGL Utility Toolkit) perpustakaan utiliti yang menyediakan platform antara muka pengguna bebas .

#define Height 400
#define Width 400

//arahan untuk memberi nama yang bermakna tetap(malar) dalam program

void display(void)
{
int x, y;

//mengisytiharkan integer x dan y

glColor3f(1, 0, 0);

//nyatakan warna : merah

x = rand() % Width; 
y = rand() % Height;

// Membina titik secara rawak untuk menentukan koordinat x dan y

glBegin(GL_POINTS);

//Nyatakan titik untuk memulakan

glVertex2i (x,y);

//memberi ruang untuk membina point yang lain

glEnd();

//tidak memberi apa-apa nilai.memberitahu openGL selesai menakrifkan titik

glFlush();
}

//kod ini untuk output(gambar) muncul pada skrin untuk memproses kesemua rutin OpenGL secepat mungkin

static void reshape(int w, int h)
{

// Fungsi ini dipanggil apabila saiz tetingkap berubah

glMatrixMode (GL_PROJECTION);

//Kod ini menyatakan kordinat pada tertingkap menetapkan mod matriks semasa.

glLoadIdentity ();

// fungsi menggantikan matriks dengan matriks identiti.

glOrtho(0, Width, 0, Height, -1.0, 1.0); 
}

// darab matriks semasa dengan matriks fungsi menerangkan matriks perspektif yang menghasilkan unjuran selari. bermakna bahawa x, y dan z purata dari -1 hingga 1 dipaparkan di tertingkap OpenGL

int main(int argc, char **argv)
{
glutInit(&argc, argv);

//memulakan(initialize) kawasan lukisan dan tertingkap. Fungsi permulaan boleh memproses mana-mana ayat arahan(arguments)tetapi tidak memerlukan parameters untuk contoh program pertama.

glutInitDisplayMode(GLUT_SINGLE);

//kita boleh mengubah posisi dan saiz. Kita juga boleh mengeset nombor pilihan lain untuk memaparkan window(display window)

glutInitWindowSize(Width, Height);

//Digunakan untuk mengeset pixel awalan lebar dan tinggi untuk paparan tingkap(400 x 400)

glutCreateWindow("Example 1.1.point.c: randomly generated points");

//Menyatakan bahawa paparan tingkap adalah untuk dicipta pada skrin dengan pemberian tajuk.

glutReshapeFunc(reshape); 
glutDisplayFunc(display);

//Memanggil semula fungsi(event callback functions)

glutIdleFunc(display);

//Untuk spesifikkan kandungan tingkap

glutMainLoop();
}

//Ini diperlukan untuk menyempurnakan tingkap-pemprosesan operasi dan pelaksanaan penyataan tersebut, kesemua paparan tingkap yang dicipta termasuk kandungan grafik akan diaktifkan.(memulakan gelung acara tingkap)


Output

416×435px 416×435px