gpt4 book ai didi

graphics - 在不使用图形 API 的情况下编写 3d 游戏

转载 作者:行者123 更新时间:2023-12-01 00:40:34 24 4
gpt4 key购买 nike

正如标题所说,我想编写一个 3d 游戏(可能是 BattleZone 克隆),但不使用 OpenGL、DirectX 等 API。问题的核心是,我只想学习如何在屏幕上绘制基本的 3d 形状并对其进行操作。不要在乎它看起来像废话。我以前用OpenGL来达到类似的目的,但真的没有了解这些主题。

问题是,我不知道从哪里开始。我下载了 Doom 源代码,但这有点超出我的理解。尽管我已经编写了一些程序,但图形问题远远超出了我的理解范围。

如果有人可以提供可以帮助我实现目标的链接或代码(任何语言),我将不胜感激。

最佳答案

听起来像是一个令人兴奋的项目。我在 90 年代末做过类似的事情。在 OpenGL 和 DirectX 流行之前,有大量关于这个主题的好书。

从根本上说,你必须学会​​如何

  • 表示 3D 几何体
  • 变换几何体(平移和旋转)
  • 将该几何图形投影到 2D 屏幕上。

  • 这些主要主题中的每一个都有许多子主题(例如,可以从多个多边形构建复杂对象。您可能希望将多边形限制为仅由三角形构建,或支持其他多边形。您可能希望加载通用模型格式,例如 .obj 文件,以便您可以使用现成的工具创建模型)。

    这些主题太广泛了,无法在此处提供详细答案。整本书都是关于这个主题的,包括

    Black Art of 3D Game Programming (书,惊人的仍然可用)

    有关一般主题的良好介绍,请查看:

    http://en.wikipedia.org/wiki/3D_projection

    http://en.wikipedia.org/wiki/Orthographic_projection

    http://en.wikipedia.org/wiki/Transformation_matrix#Perspective_projection

    您已经看过的 Doom 使用了一种名为 heightfield rendering 的特殊优化。并且不允许渲染任意的 3D 形状(例如,在《毁灭战士》中你找不到可以走过去的桥)。

    关于graphics - 在不使用图形 API 的情况下编写 3d 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986928/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com