orache
سه شنبه 03 اردیبهشت 1392, 13:32 عصر
سلام من وقتی تو opengl یک برنامه میسازم و یک چیز حرکتی توش باشه یک خورده افت فریم داشت البته تو 2 بعدی تو 3 بعدی دیگه اصلان نمیشه تحملش کرد
برای مثال الان یک کد ساده نوشتم وقتی صفحه اپدیت میشه مدل لرزش داره و همینطور افت فریم و پرش صفحه چیکار باید بکنم راستی یک زمان هم براش گذاشتم ولی باز هم عمل نکرد
ممنون
#include <freeglut.h>
int time = 100;
void deltatime()
{
while (time > 0 )
{
time -= 0.01 ;
}
if (time <= 0 )
{
glutPostRedisplay();
time = 100 ;
}
}
void init()
{
glOrtho(100,100,100,100,100,100);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0,0,0,0);
glColor3f(1.0,0.0,0.0);
glRotatef(1,1,1,1);
//glutPostRedisplay();
deltatime();
glutSolidSphere(1,50,50);
glFlush();
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(200,200);
glutCreateWindow("orache");
init();
deltatime();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
برای مثال الان یک کد ساده نوشتم وقتی صفحه اپدیت میشه مدل لرزش داره و همینطور افت فریم و پرش صفحه چیکار باید بکنم راستی یک زمان هم براش گذاشتم ولی باز هم عمل نکرد
ممنون
#include <freeglut.h>
int time = 100;
void deltatime()
{
while (time > 0 )
{
time -= 0.01 ;
}
if (time <= 0 )
{
glutPostRedisplay();
time = 100 ;
}
}
void init()
{
glOrtho(100,100,100,100,100,100);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0,0,0,0);
glColor3f(1.0,0.0,0.0);
glRotatef(1,1,1,1);
//glutPostRedisplay();
deltatime();
glutSolidSphere(1,50,50);
glFlush();
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(200,200);
glutCreateWindow("orache");
init();
deltatime();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}