PDA

View Full Version : درخواست رفع خطا



mg_mahyar
دوشنبه 07 اردیبهشت 1388, 03:21 صبح
شاید عنوانم مناسب نباشه ولی یک برنامه نوشتم.
وقتی راست کلید بزنم. و QUADS رو انتخاب کنم. باید یک QUADS رسم کنه. اما هیچ کاری نمیکنه. علتشو نمیدونم چون خطا نمیده. کد رو میزارم. همراه فایل کامل. کسی میتونه کمکی کنه؟




حالا نمیدونم چرا وقتی رست کلید کنم. این بخش از برنامه اجرا نمیشه..


void menu(int op) {
switch(op) {
case'Q':
case'q':
exit(0);
case'b':glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();glFlush();
}}

قسمت b رو اجرا نمیکنه.

pswin.pooya
دوشنبه 07 اردیبهشت 1388, 06:40 صبح
سلام
من برنامت رو خوندم. هر مورد case یه break لازم داره وگر نه switch درست اجرا نمیشه. سعی کن از یک متغییر سراسری برای علامت دهی استفاده کنی. مثلا هر وقت b فشار داده شد مقدار متغییر m_draw_quad رو یک کن. و تابع رسم رو به صورت زیر بنویس:
void draw()
{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

if (m_draw_quad)
{
glBegine(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();

}
/* render the scene here */
glutSwapBuffers();
}


بعد از هر تابع رسم نیازی به استفاده از glFlush نداری. کلا میتونی از این دستور تو کدت استفاده نکنی. همینطور نیازی به استفاده از دستور glClearDepth هم نداری. یه مطلب دیگه هم که باید بهش دقت کنی اینه که چون perspective رو انجام دادی تو حالت پیش فرض که دوربینت توی (0و0و0) قرار داری اجسامی که توی (0) هستن رسم نمی شن. پس از دستور glVertex به صورت زیر استفاده کن:
glVertex3f(1,-1,-4)

(یا هر عدد دیگه)

hitrax
دوشنبه 14 اردیبهشت 1388, 16:39 عصر
I'm new to opengl and I'm trying to do a small texture example but when I tried nehe's example it


با سلام:
من تازه شروع به کار کردن با opengl کردم.یه درس NEHE رو می خوام روی vs2005 به زبان c++ اجرا کنم . لینک های کتابخانه opengl32.lib ,glu32.lib , glaux.lib رو به پروژه اضافه کردم ولی باز error های زیرو میده....
Error 3 error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [29]' to 'LPCWSTR' c:\documents and settings\site\desktop\lesson06\lesson6.cpp 186
Error 2 error C2664: 'auxDIBImageLoadW' : cannot convert parameter 1 from 'char *' to 'LPCWSTR' c:\documents and settings\site\desktop\lesson06\lesson6.cpp 46


لطفا راهنمایی بفرمایید..