有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JMonkey过滤器着色器获取片段的世界位置

我正在通过编写一个过滤器类和带有顶点和碎片着色器的适当JME材质定义来实现魔兽/帝国时代风格的“战争之雾”

我能很容易地弄明白,例如,我现在可以给整个屏幕着色

但我现在又被困在计算中,一个给定的片段位于世界的哪个位置

那么,如何做到这一点呢

我之所以需要这个,基本上是因为我有一个纹理(32x32),可以根据纹理的alpha通道在特定位置使世界变暗

纹理中的0,0对应于世界中的0,0,0。给出一张100100大小的“世界地图或地形”


共 (1) 个答案

  1. # 1 楼答案

    这并不能回答如何在过滤器中使用的着色器中获取片段的世界位置的问题,但无论如何:

    有人向我解释说,对游戏中对象使用的所有着色器实施战争雾会更明智,因为它更容易,也更容易扩展(可以在单个对象或材质上切换FOW效果)

    答案是添加一个名为“worldPos”的新varyingvec2,并在顶点着色器中将其设置为worldPos = g_WorldMatrix * vec4(inPosition, 1.0);

    就这些。但这不适用于过滤器