问题标签 [quake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
434 浏览

c - 包含原始数据的头文件的目的是什么?

决定检查我自己以外的一些代码,Quake I是不二之选。我点击的第一个文件只包含原始数据,唯一的注释是 GP​​L。我猜它是一个包含法线向量的数组?不管它的目的是什么,让我感到困惑的是它在头文件anorms.h中所做的事情。我想知道这样做的目的是什么?

另一个来源,实际代码,对我来说感觉相当复杂。作为一个新手程序员,我可能只需要花更多的时间在它上面。

0 投票
1 回答
350 浏览

c++ - 如何从源引擎 vmf 计算刷子的点数?

我正在尝试.vmf使用 OpenGL 从 C++ 中的源引擎文件渲染画笔。

.vmf实体画笔存储为一系列平面,我想用它们来计算每个画笔的点。.map我很确定这将与所有基于 Quake 引擎的文件完全相同。

基本上,画笔的每个点都是 3 个平面相交的点。我在 stackoverflow 上发现了一个与我类似的问题,解释是获取 3 个平面的单位法线,然后在此页面 mathworld.wolfram.com/Plane-PlaneIntersection.html 上使用公式 8。我的问题是我不知道如何实现

这是单个 6 面立方体形刷子的一些代码:

我真的不知道从哪里开始,任何帮助将不胜感激,谢谢。

0 投票
0 回答
78 浏览

linux - sdlquake 中的网络错误?

我正在尝试调试 SDL 地震的问题。当尝试通过 tcp/ip 连接到地震服务器时,我输入 ip 地址然后按 enter。机器挂起,我无法在通过 ssh 连接时退出、更改 tty 或运行命令。我跑了 strace 看看发生了什么,这是最后的输出:

然后系统挂起。除此之外,SDLquake 运行良好。运行 svgalib 作为视频驱动程序。

运行 Debian 4.0。(我知道,我知道。它很旧。Quake 1 也很旧。)

使用此处找到的 sdl 地震源: http ://www.libsdl.org/projects/quake/

0 投票
3 回答
637 浏览

c - 比 math.h 1/sqrt 函数慢的快速反演算法

我只想了解为什么快速反演算法比 math.h sqrt 函数慢。这是我的代码示例

代码试图演示比较慢反转和快速反转。在调试时,我看到慢速反转需要 1 秒,快速反转需要 4 秒。问题出在哪里?

0 投票
1 回答
792 浏览

opengl - 无法呈现 Quake 3 bsp 格式

我正在为我的 3D 引擎编写 *.bsp Quake 3 文件的加载器和渲染器。我支持格式版本 46 (0x2e)。在我使用非常简单的地图之前,一切都渲染得很好。简单地图的几何图形在我的引擎和我在 Internet 上找到的渲染器(位于http://www.paulsprojects.net/opengl/q3bsp/q3bsp.html)下都能正确渲染。这是屏幕截图:

在此处输入图像描述

我尝试使用我的渲染器和我发现的用于比较结果的渲染器渲染更复杂的地图(来自: http: //lvlworld.com/ )。并且两个渲染器都存在场景中存在孔洞的问题(这里和那里缺少三角形)。当我检查地图时,我不知道是什么导致了这些问题,它们都是相同的版本。有人遇到过这个问题吗?

在此处输入图像描述

编辑:一些非常复杂的地图可以正确渲染。它让我更加困惑:)。

0 投票
0 回答
139 浏览

c - nvidia opengl framebuffer对象强制垂直同步

基本上,我在基于 q3 的游戏中实现了 gamma 校正,以摆脱烦人的SetDeviceGammaRamp

我将 GL_EXT_framebuffer_object 用于后期处理顶点着色器。它工作得很好,只是它在 nvidia gpus 上有一些奇怪的行为:它强制启用 vsync,除非在控制面板中明确禁用它。如果我使用标准控制面板的设置并启用帧缓冲区,则强制垂直同步,但如果我删除帧缓冲区,它会恢复正常行为。

  • wglSwapIntervalEXT 什么都不做
  • 我在 nvidia 移动 GPU 上测试过,有人可以在桌面 GPU 上重现它
  • 我还测试了一个集成的 intel gpu 和两个不同的 amd gpu,它们都没有问题。

初始化:(我猜不相关)

在帧的开头:

在帧的末尾:

那么,还有什么可以导致启用 vsync 呢?

0 投票
1 回答
516 浏览

bsp - 地震地图刷

许多关卡编辑器,如 Quake 或 Source 游戏,使用隐式平面方程来表示刷边(3 个点)而不是简单的(nx ny nz d)。

这有什么原因吗?我知道它可以很容易地转换为任何形式,只是想知道他们为什么使用这种形式。它是一些浮点精度的东西吗?

0 投票
1 回答
230 浏览

assembly - 错误:EOL 出现垃圾,第一个无法识别的字符是 '('

我正在尝试从源代码编译 Quake 1 (QW),并在编译时遇到以下问题client/d_copy.sError: Junk at EOL, first unrecognised character is '('.

有问题的文件在这里(请原谅语法突出显示,pastebin 仅支持 NASM)。我正在尝试使用 GCC 进行编译(因为这是 GNU 汇编代码)并试图找出导致问题的原因。任何帮助将不胜感激。

0 投票
2 回答
131 浏览

c - 从 IDirect3DTexture9 反向移植后显示 IDirect3DTexture8 的问题

我正在尝试通过 ID 软件将 Quake 1 的 Direct3d9 端口反向移植到 Direct3d8,以便我可以将其移植到原始 Xbox(仅使用 D3D8 API)。

在进行更改以使用 Direct3d8 后,它会在屏幕上显示一些混搭的像素,这些像素似乎是小方块:/(参见图片)。

有谁知道这里出了什么问题?它与 D3D9 完美配合,是否有一些额外的参数需要我缺少对 D3D8 的要求,可能是矩形音高?

传入的数据是 Quake 1 .lmp 2d 图像文件。“它由两个整数(宽度和高度)后跟一​​串宽度 x 高度字节组成,每个字节都是 Quake 调色板的索引”

它被传递给 D3D_ResampleTexture() 函数。

任何帮助将非常感激。

使用 D3D8 输出图像

使用 D3D9 输出图像

编码:

0 投票
1 回答
1731 浏览

c++ - 无法编译 quake 3 arena 源代码

我需要帮助编译 Quake III Arena 的源代码。我正在使用 ID Software 的 Github 帐户 ( https://github.com/id-Software/Quake-III-Arena ) 提供的版本。我正在尝试在 VS2015 中编译它,有问题吗?它可以毫无问题地转换项目。但是,当我编译时,我得到的只是黑屏和混乱的配色方案。调试器告诉我问题出在这个函数中:

更准确地说,在行中mov programStack, esi。有任何想法吗?我正在尝试使用此引擎制作游戏,因为它基本上是当今所有 Fpses 的“母亲”:D 任何帮助表示赞赏。