我正在使用Haxe + Away3D编写一个小型行星生成器,将其部署到HTML5/WebGL上。但当我渲染云层时遇到了一个奇怪的问题。我有一个行星网格和一个略大的云网格在同一位置。
我使用Perlin噪声函数来生成行星特征和云形成,将它们写入位图并将位图应用为纹理。现在,奇怪的是,当我将其部署到iOS或C++/OSX上时,它完全按照我的预期呈现:
现在,当我部署到WebGL时,它会生成相同的漫反射贴图,但呈现为:
云在那里,边缘看起来不错,薄而半透明。但内部是不透明的,似乎被以不同的方式呈现(每个像素的颜色相同,只有alpha通道改变)
我意识到这可能与代码在Haxe中最终编译/生成的方式有关,但我希望这只是一些简单的渲染设置或混合模式我没有设置。但是,因为我甚至不确定发生了什么,我不知道该去哪里找答案。
以下是生成的漫反射贴图。我将其叠加在红色上,以便可以查看云:
我使用Perlin噪声函数来生成行星特征和云形成,将它们写入位图并将位图应用为纹理。现在,奇怪的是,当我将其部署到iOS或C++/OSX上时,它完全按照我的预期呈现:
现在,当我部署到WebGL时,它会生成相同的漫反射贴图,但呈现为:
云在那里,边缘看起来不错,薄而半透明。但内部是不透明的,似乎被以不同的方式呈现(每个像素的颜色相同,只有alpha通道改变)
我意识到这可能与代码在Haxe中最终编译/生成的方式有关,但我希望这只是一些简单的渲染设置或混合模式我没有设置。但是,因为我甚至不确定发生了什么,我不知道该去哪里找答案。
以下是生成的漫反射贴图。我将其叠加在红色上,以便可以查看云: