gpt4 book ai didi

c++ - 地震 2 md2 文件格式(理论)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:52 26 4
gpt4 key购买 nike

我正在尝试在 opengl 中加载 md2 文件,但我注意到大多数示例程序只使用一个

法线的预编译列表。像这样的……

//table of precalculated normals  
{ -0.525731f, 0.000000f, 0.850651f },
{ -0.442863f, 0.238856f, 0.864188f },
{ -0.295242f, 0.000000f, 0.955423f },
{ -0.309017f, 0.500000f, 0.809017f },
...
...

好吧,这听起来有点傻,但我认为每个模型都是由不同的三角形组成的,那么你怎么可能使用一组预编译的法线来渲染所有模型呢?这看起来有点奇怪,任何想法都会受到赞赏。

最佳答案

您可以使用预编译的法线表,并使用查找表来选择对特定情况“足够好”的法线。每个三角形都在一个不同的平面上,并且是该平面具有法线,而不是三角形本身。

例如,假设我们有一个观点。出于本次讨论的目的,将该点扩展为一个球体,使其在概念上更容易理解。如果您在 y 轴上围绕该球体绘制一个完美的圆,然后每次在 x 轴上将该圆旋转 1 度,您将得到 360 度的圆。如果您沿着每个圆圈以 1 度为间隔取法线,您将得到 360 ** 2 点。从那里开始,您的法线是从球体中心到球体上该点的 vector ,并且它是与球体上的点相切构造的平面的法线。如果你为那个球体上的每个点计算这两个,你最终得到的是一个预先计算的法线表,这几乎肯定对大多数情况来说足够好。现在您只需要为该数据设计一个查找方案(平面 -> 正常)。

关于c++ - 地震 2 md2 文件格式(理论),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759397/

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