Merhabalar,
Aşağıda çok basit sonuçta ekrana merdiven şeklinde A'lar çizmesi gereken bir kod var.kodu çalıştırdığımda öncelikle sadece içi boş bir pencere geliyor.Sonrasında pencereyi simge haline getirince ya da boyutunu büyültüp küçülttükçe 5-10 değişik denemeden sonra şekli elde edebiliyorum...
Q1:Şeklin oluşumunu bu kadar yavaşlatan şey nedir?
Q2:Kodun bi yerlerinde şekli elde edebilmem için pencereyi resize, refresh vs ye tabii tutmam söyleniyor da ben mi göremiyorum?
#include <windows.h> //letterA.cpp
#include <GL/glut.h>
int Width; /* window width */
int Height; /* window height */
void Render(void);
void Resize(int width, int height);
void main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(250, 200);
glutCreateWindow("Bitmapped letter A");
glutReshapeFunc(Resize);
glutDisplayFunc(Render);
glutMainLoop();
}
void
Render(void) /* A */
{
GLubyte letterA[] =
{
0xe0, 0x07, 0, 0, /* *** *** */
0xe0, 0x07, 0, 0, /* *** *** */
0xe0, 0x07, 0, 0, /* *** *** */
0xe0, 0x07, 0, 0, /* *** *** */
0xe0, 0x07, 0, 0, /* *** *** */
0xe0, 0x07, 0, 0, /* *** *** */
0xff, 0xff, 0, 0, /* **************** */
0xff, 0xff, 0, 0, /* **************** */
0xe0, 0x0e, 0, 0, /* *** *** */
0x70, 0x16, 0, 0, /* *** *** */
0x38, 0x38, 0, 0, /* *** *** */
0x1c, 0x38, 0, 0, /* *** *** */
0x1c, 0x78, 0, 0, /* **** **** */
0x0f, 0xc0, 0, 0, /* ********** */
0x0f, 0xc0, 0, 0, /* ******** */
0x01, 0xc0, 0, 0 /* **** */
};
GLint i;
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
for (i = 0; i < 10; i ++) {
glRasterPos2i(i * 15, i * 15);
glBitmap(16, 16, 0, 0, 0, 0, letterA);
}
}
void Resize(int width, int height)
{
Width = width;
Height = height;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, (GLfloat)width, 0.0, (GLfloat)height, -1.0, 1.0);
}
|