【问题标题】:OpenGL Interpolation algorithmOpenGL插值算法
【发布时间】:2018-01-14 16:56:48
【问题描述】:

我使用 OpenGL (LWJGL) 用 Ja​​va 编写了自己的 3D 游戏引擎。 我想编写一个在 CPU 上工作的 Raytracer,而不是在 GPU 上工作,因为我的 GPU 的内存是有限的,而且我使用的数据量可能比我的显卡上可用的内存大。

我做了一些光线-三角形相交的东西等等,但我需要知道如何像 OpenGL 那样在三角形中插入值。

我知道的是每个顶点的 x,y 和 z 坐标。

OpenGL 中通常使用什么算法来进行我所描述的插值。

【问题讨论】:

  • 为什么这是特定于 OpenGL 的?
  • 我没有看到其他使用这个的例子。
  • 只取顶点的加权平均值。
  • 这行不通,因为我的图形中左边的蓝点也会受到 value_2 的影响
  • 真的吗? 0.6 * value_1 + 0.0 * value_2 + 0.4 * value_3 = ...

标签: algorithm opengl interpolation


【解决方案1】:

借自gamedev.stackexchange.com

您只需将向量 AP 投影到向量 AB 上,然后添加 结果向量到点 A。

这是一种计算方法:

A + dot(AP,AB) / dot(AB,AB) * AB 这个公式适用于二维和 3D。事实上,它适用于所有维度。

在您的情况下,A = value_1,AB = value_3 - value_1 和 AP = value - value_1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    相关资源
    最近更新 更多