secondsen 发表于 2011-12-5 09:45:20

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。。这样的话,岂不是两帧 才响应一次键盘输入?

shawind 发表于 2011-12-5 14:25:14

用glut作demo的很多,正式作游戏的非常少。
原本的glut在1998年就停止开发了,2011-1998,算算看,多少年没人维护了?
实在想用glut风格的框架,你可以用
http://openglut.sourceforge.net/
http://freeglut.sourceforge.net/
这两个都是mit协议,比glut原来的协议更自由宽松一些。


你测的是键盘的连击速度,这个可以在控制面板里设置的。

键盘的控制方面,人类的极限反应速度大于0.1秒,也就是100ms以上。
就操作性而言,一般游戏30帧就已经手感很好了。60帧,更多的是为了格斗游戏的撮招而已。

就现在的键盘硬件性能而言,对付格斗游戏是没有问题的。(指响应速率,多键同按这方面,键盘不行,还是得手柄)

tzwtangziwen 发表于 2011-12-5 17:00:00

我推荐glfw,zlib协议更宽松。帧数这样计算。。貌似不妥吧。

secondsen 发表于 2012-3-2 20:38:50

恩恩。。。用glfw了。研究中。。真是轻量级,没有多余的东西
页: [1]
查看完整版本: opengl做游戏,有用glut的不?