opengl做游戏,有用glut的不?
RT...附带一个问题,glut的unsigned __int64 cpucycle;
FILE* fp;
__declspec (naked) unsigned __int64 GetCpuCycle( void )
{
_asm
{
rdtsc
ret
}
}
void keyboard(unsigned char key,int x,int y)
{
if (cpucycle != 0)
{
cpucycle = GetCpuCycle() - cpucycle;
fprintf(fp,"%I64d\n",cpucycle);
}
cpucycle = GetCpuCycle();
}
void setup(void)
{
fp = NULL;
fp = fopen("test.txt", "a");
if (fp == 0)
exit(0);
cpucycle = 0;
glClearColor(0, 0, 0, 0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-400, 400, -300, 300, -100, 100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
问一个问题。
我的cpu是 T2300 双核 1.66GHZ 那么 一秒钟时间戳 差值 是 1 660 000 000 没错吧?
那么这个程序 执行起来之后 ,我按住“A”键,没有其他任何操作.
写进文本的数字 都是在 55 000 000左右。。
换算一下大概30ms。。。如果我想让游戏 60帧 那么 每帧应该间隔 大概 17或16ms。。这样的话,岂不是两帧 才响应一次键盘输入? 用glut作demo的很多,正式作游戏的非常少。
原本的glut在1998年就停止开发了,2011-1998,算算看,多少年没人维护了?
实在想用glut风格的框架,你可以用
http://openglut.sourceforge.net/
http://freeglut.sourceforge.net/
这两个都是mit协议,比glut原来的协议更自由宽松一些。
你测的是键盘的连击速度,这个可以在控制面板里设置的。
键盘的控制方面,人类的极限反应速度大于0.1秒,也就是100ms以上。
就操作性而言,一般游戏30帧就已经手感很好了。60帧,更多的是为了格斗游戏的撮招而已。
就现在的键盘硬件性能而言,对付格斗游戏是没有问题的。(指响应速率,多键同按这方面,键盘不行,还是得手柄) 我推荐glfw,zlib协议更宽松。帧数这样计算。。貌似不妥吧。 恩恩。。。用glfw了。研究中。。真是轻量级,没有多余的东西
页:
[1]