Skip to content

Commit 1458265

Browse files
yaRnMcDonutsscenemax3d
authored andcommitted
Add MipMaps to PBRTerrainAdvancedTest.java (#2289)
This test case has some noisey rendering that are due to not setting mipMaps on the TextureArray. So I added the MinFilter.Trilinear to fix this issue, and also added MagFilter.Bilinear.
1 parent b3fba6d commit 1458265

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

jme3-examples/src/main/java/jme3test/terrain/PBRTerrainAdvancedTest.java

+12-4
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
import com.jme3.texture.Image;
5353
import com.jme3.texture.Texture;
5454
import com.jme3.texture.Texture.WrapMode;
55+
import com.jme3.texture.Texture.MagFilter;
56+
import com.jme3.texture.Texture.MinFilter;
5557
import com.jme3.texture.TextureArray;
5658
import java.util.ArrayList;
5759
import java.util.List;
@@ -279,10 +281,10 @@ private void setUpTerrainMaterial() {
279281
TextureArray metallicRoughnessAoEiTextureArray = new TextureArray(metallicRoughnessAoEiMapImages);
280282

281283
//apply wrapMode to the whole texture array, rather than each individual texture in the array
282-
albedoTextureArray.setWrap(WrapMode.Repeat);
283-
normalParallaxTextureArray.setWrap(WrapMode.Repeat);
284-
metallicRoughnessAoEiTextureArray.setWrap(WrapMode.Repeat);
285-
284+
setWrapAndMipMaps(albedoTextureArray);
285+
setWrapAndMipMaps(normalParallaxTextureArray);
286+
setWrapAndMipMaps(metallicRoughnessAoEiTextureArray);
287+
286288
//assign texture array to materials
287289
matTerrain.setParam("AlbedoTextureArray", VarType.TextureArray, albedoTextureArray);
288290
matTerrain.setParam("NormalParallaxTextureArray", VarType.TextureArray, normalParallaxTextureArray);
@@ -430,6 +432,12 @@ private void setUpTerrain() {
430432
rootNode.attachChild(terrain);
431433
}
432434

435+
private void setWrapAndMipMaps(Texture texture){
436+
texture.setWrap(WrapMode.Repeat);
437+
texture.setMinFilter(MinFilter.Trilinear);
438+
texture.setMagFilter(MagFilter.Bilinear);
439+
}
440+
433441
private void setUpLights() {
434442
LightProbe probe = (LightProbe) assetManager.loadAsset("Scenes/LightProbes/quarry_Probe.j3o");
435443

0 commit comments

Comments
 (0)