小编Daw*_*son的帖子

从高度图生成法线贴图?

我正在使用随机分形为视频游戏在程序上生成一些污垢.我已经使用中点位移算法生成了高度图并将其保存到纹理中.我有一些关于如何将其变成法线纹理的想法,但是一些反馈将非常受欢迎.

我的高度纹理目前是257 x 257灰度图像(高度值是为了可见性而缩放):

在此输入图像描述

我的想法是,图像的每个像素表示在256×256网格的格子坐标(因此,为什么有257 X 257的高度).这意味着坐标(i,j)处的法线由(i,j),(i,j + 1),(i + 1,j)和(i + 1,j + 1)处的高度确定. )(分别称为A,B,C和D).

因此,考虑到A,B,C和D的3D坐标,它是否有意义:

  1. 将四个分成两个三角形:ABC和BCD
  2. 通过叉积计算这两个面的法线
  3. 分为两个三角形:ACD和ABD
  4. 计算这两个面的法线
  5. 平均四个法线

......还是有一种我更容易丢失的方法?

c++ opengl graphics

34
推荐指数
4
解决办法
5万
查看次数

如何区分两个std :: set <string>的元素?

所以我们已经set<string> aset<string> b我们希望得到std::set<string> c哪些将包含可以代表的项目a - b(意味着a如果我们从中移除所有项目b,如果b包含多个a或不存在的项目,a我们希望保持它们类似于这样的简单数学数字:5-6 = 0while 3-2 = 1)

c++ string diff set

3
推荐指数
1
解决办法
8866
查看次数

标签 统计

c++ ×2

diff ×1

graphics ×1

opengl ×1

set ×1

string ×1