我正在使用随机分形为视频游戏在程序上生成一些污垢.我已经使用中点位移算法生成了高度图并将其保存到纹理中.我有一些关于如何将其变成法线纹理的想法,但是一些反馈将非常受欢迎.
我的高度纹理目前是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坐标,它是否有意义:
......还是有一种我更容易丢失的方法?
所以我们已经set<string> a和set<string> b我们希望得到std::set<string> c哪些将包含可以代表的项目a - b(意味着a如果我们从中移除所有项目b,如果b包含多个a或不存在的项目,a我们希望保持它们类似于这样的简单数学数字:5-6 = 0while 3-2 = 1)