- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 Quake 2
源代码,用于学习,获得经验,只是为了纯粹的乐趣。有一个入口点——经典的代码块——Windows msg 循环。这是它的样子:
while (1)
{
// if at a full screen console, don't update unless needed
if (Minimized || (dedicated && dedicated->value) )
{
Sleep (1);
}
while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
{
if (!GetMessage (&msg, NULL, 0, 0))
Com_Quit ();
sys_msg_time = msg.time;
TranslateMessage (&msg);
DispatchMessage (&msg);
}
do
{
newtime = Sys_Milliseconds ();
time = newtime - oldtime;
} while (time < 1);
...
Qcommon_Frame (time);
oldtime = newtime;
}
我对上面的代码有一些疑问:
GetMessage
的行是什么功能:
if (!GetMessage (&msg, NULL, 0, 0))
Com_Quit ();
不应该只是
if (msg.message == WM_QUIT)
Com_Quit ();
???
do
{
newtime = Sys_Milliseconds ();
time = newtime - oldtime;
} while (time < 1);
?
最佳答案
!GetMessage
相当于检查 msg.msg==WM_QUIT
关于c++ - Quake 2 中的 Windows 消息循环实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63540451/
什么技术用于供电Quake Live ? 具体来说,您如何创建一个在浏览器中如此广泛使用 3D 的 Web 应用程序?该服务需要您下载并安装插件才能播放。你如何创建这样一个插件,它是如何与网站交互的?
许多资料都描述了计算平方根倒数的“神奇”方法,显然可以追溯到 Quake 游戏。维基百科上有一篇很好的文章:https://en.wikipedia.org/wiki/Fast_inverse_squ
John Carmack 在 Quake III 源代码中有一个特殊函数,它计算 float 的平方根倒数,比常规 (float)(1.0/sqrt(x)) 快 4 倍,包括奇怪的 0x5f3759d
我一直在研究 Quake 3 BSP 加载程序。但是我无法正确渲染这些面孔。 这是 map 的顶点。这是我在 map 上渲染人脸时发生的情况。 这是渲染代码: void bsp::render() {
我很好奇在 Quake 中使用 CreateEvent() 函数。 我们在 WinMain() 定义的 c 文件中有以下全局变量: static HANDLE tevent; 在 WinMain()
过去几周我一直在研究(旧)3D 渲染技术,并且认为我现在对 Doom 中 3D 渲染的工作方式有了相当的了解。 它使用光线转换来渲染 3D 场景,使用对象的 Sprite ,因此不是“真正的”3D。
我正在学习 Quake 2源代码,用于学习,获得经验,只是为了纯粹的乐趣。有一个入口点——经典的代码块——Windows msg 循环。这是它的样子: while (1) {
我在查看 Quake 1 GPL 代码时遇到了各种类似的头文件,我似乎不明白它们的目的或用途。它们看起来像某种表格,结构如下 {1, 0}, {1, -1}, {1, -2}, {1, -3}, {1
我已经通读了源代码,并尝试在线研究它,但我在完全理解它方面遇到了瓶颈。 我的意思是,它与区域分配有何不同? “zone”是否用于小内存,而“hunk”用于模型等较大的东西? 谢谢 最佳答案 是的,hu
我正在查看 Quake II 源代码,发现它们阻止用户以 root 身份运行游戏。 : /* Prevent running Quake II as root. Only very mad mi
我正在学习各种网络技术,特别是 UDP 和 TCP 协议(protocol)。 我读过很多次像 Quake 这样的游戏使用 UDP 的原因是,“如果你错过了导弹等的位置更新数据包也没关系,因为下一个数
好吧,我想知道 math.h 平方根与其中包含神奇数字的那个(因 Quake 而出名,但由 SGI 制作)相比有多快。 但这对我来说是一个受伤的世界。 我首先在 Mac 上尝试了此操作,其中 math
这只是为了满足我自己的好奇心。 是否有这样的实现: float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x;
我在这里使用 JQuery 终端:http://terminal.jcubic.pl/ 我正在尝试创建一个控制台样式终端(类似 Quake 的控制台),如本页示例 2 中所述:http://termi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
这只是为了满足我自己的好奇心。 是否有这样的实现: float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x;
我正在将 Quake 2 的 MSVC 内联汇编代码移植到 MASM,然后最后移植到 GAS(用于 MinGW)。有问题的具体代码是针对皮肤绘图的(R_PolysetCalcGradients 对于那
我想做一个像地震一样的控制台:http://klickverbot.at/blog/2011/02/quake-style-terminal-on-osx/quake4-console.png 当你按
我想知道是否有人知道如何将装配好的动画角色的几何体/纹理导出为 Quake MD2?我正在为移动设备开发一个应用程序,我发现 MD2 非常适合轻量级 OpenGL 渲染。我有几个动画角色,我想将它们从
我是一名优秀的程序员,十分优秀!