【问题标题】:Terrain Height Map - C++/Vertex Shader has different values地形高度图 - C++/顶点着色器有不同的值
【发布时间】:2016-03-05 03:40:15
【问题描述】:

我一直在地形上工作,不得不完全停下来。我正在使用 C++、DirectX9 和 HLSL 编程来创建地形,但我也使用 BMP 格式的高度图。我正在从 C++ 端和着色器端的高度图中加载信息。在 C++ 方面,我使用 D3DXCreateTextureFromFile 和表面 (D3DXSaveSurfaceToFile) 来加载信息,而在着色器方面,我使用 tex2Dlod 来加载地形顶点的信息。这两个从高度图得到不同的值。经过进一步研究,我发现 tex2Dlod 函数利用 mip map(仍然不完全理解)来加载信息。

有人知道如何让这两个数字匹配吗?如果您需要更多信息(数字、图片或其他),请告诉我!

谢谢!

【问题讨论】:

    标签: c++ hlsl terrain mipmaps heightmap


    【解决方案1】:

    第一个问题是你为什么坚持使用DX9是什么原因?我至少会理解DX10。你能告诉我HLSL代码吗?

    tex2Dlod 是纹理采样函数,它有两个参数。 1. sampler2D 2. float4(纹理坐标)。

    实际上 tex2dlod 是执行纹理 mip 映射(纹理细节)和 texel 偏移的函数。但我完全不明白问题出在哪里?你能更具体一点吗?

    顺便说一句,整个功能至少只在着色器模型 3.0 中支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 2016-09-27
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多