Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > OpenGL- şeklin oluşumu???
Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
15.05.2009-01:38 #59876
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);
}






Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
15.05.2009-21:24 #59892
Çok uğraştırdım sizi detongue kusura bakmayın tongue

Ben cevabı buldum da yazayım belki bi gün birinizin işine yarar.

Render fonksiyonun kapanan blok parantezinden önce glflush(); fonksiyonunu çağırmak gerekiyor...





Yazar
ilker


avatar
Istanbul
Kayıt: 24.10.2009
26.10.2009-23:20 #64172
Merhaba,

open gl kurmak istiyorum, tavsiye edebileceğiniz bir yer var mıdır kurulum paketini indirebileceğim?

Teşekkürler.





Yazar
serseru


avatar

Kayıt: 12.07.2009
26.10.2009-23:59 #64179
bende basketbol oyunu yapmaya çalışıyom, potadaki fileyi texture ile değilde hareketli bi şekilde yapmak istiyom, gerçek oyundaki gibi top geçtiğinde sallanmasını filan istiyom, yapabilir miyim?





Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
27.10.2009-00:30 #64180
ilker yazdi
 
Merhaba,

open gl kurmak istiyorum, tavsiye edebileceğiniz bir yer var mıdır kurulum paketini indirebileceğim?

Teşekkürler.


http://www.cs.uiowa.edu/~cwyman/classes/common/howto/winGLUT.html





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb