【问题标题】:Mapping Heightmap to "Chunks" of Quadrilateralized Spherical Cube将高度图映射到四边形球面立方体的“块”
【发布时间】:2014-05-30 10:03:27
【问题描述】:

我正在开发一个程序行星生成器,我的设置是我设置了一个四叉树,将立方体的六个面分成更小的、可管理的四边形。当相机接近地形时,这些四边形会分裂,当它远离它们时,地形四边形会“塌陷”——就像任何其他四叉树地形系统一样。问题是,目前,为了置换地形的顶点,我使用 3D 脊形多分形计算顶点高度,并且必须使用算法的输出直接置换顶点。相反,我想生成一个比四叉树叶节点中的顶点分辨率更高 的高度图。也就是说,高度图中的纹素必须比行星四边形中的顶点多得多。每个四边形的顶点密度为 17x17(总共 289 个顶点),而高度图纹理的分辨率为 192x192 纹素(总共 36,864 纹素)。我什至不知道我将哪些位置插入到脊状多分形算法中以生成不会映射到任何顶点的纹素的颜色(因为我插入顶点位置以生成所有高度)。更不用说,我不太明白如何阅读高度图,以便高度正确映射到顶点。我需要高度图具有如此高分辨率的唯一原因是因为我还将它们用于法线贴图。

【问题讨论】:

  • 你可能想去堆栈交换的其他 CS 分支之一(例如compsci)。这不是一个技术编程问题,更侧重于 CS 结构而不是编程。

标签: mapping heightmap


【解决方案1】:

作为起点,请查阅有关四边形球面立方体 (QLSC) 的 Wikipedia 文章,该文章由 F. K. Chan(分析师)和 E. M. O'Neill(程序员)在 1973-1974 年期间首次提出。这篇删节的文章基于 1975 年计算机科学公司为美国海军准备的报告,该报告在该 Wikipedia 文章中被引用。 QLSC 是一种数学构造,用于通过从内接立方体的六个平面正方形上的等面积单元进行适当的(非线性)变换,将球体上的六个球形正方形划分为等面积单元。单元分辨率是可选的(用户指定),并且基于与四叉树结构一致的正方形的层次划分。单元在“反向 Z 模式”二进制位串中串行串在一起。通过屏蔽掉串行单元地址中的偶数位或奇数位,得到单元在平面正方形上的x或y坐标。

1977 年,海军将 QLSC 用于气象应用。1989 年,美国宇航局也将其用于宇宙背景探测器 (COBE)。天文学家和天体物理学家已将其用于全天星图测绘和辐射编目。由于数据归档和检索的效率,大气和海洋科学家将其用于数据库结构。它在地理信息系统 (GIS) 中用于高光谱数据处理以及地形数据的大地测量。

现有的原始海军报告只有几份。但是,可以(通过亚马逊)从弗吉尼亚州斯普林菲尔德的国家技术信息服务 (NTIS) 获得重印。 Chan 在马里兰州格林贝尔特 (Greenbelt) 的 NASA/GSFC 第五届年度飞行力学/估计理论研讨会论文集上发表了一篇 25 页的论文“A Quadrilateralized Spherical Cube Earth Data Base”。 Stack Overflow 中的一些文章可以通过使用关键字 Quadrilateralized Spherical Cube 搜索(通过 Google)获得。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多