So yeah, I'm attempting to create a 2d game using quads with transparent textures, but everything look like expletive. What gives? It looks like there's severe aliasing issues, but i'm totally lost.
It looks ok if i switch to a debug state and get close with the camera, but even then the edges look horrible.
That's supposed to be a hexagon BTW.
Maybe you don't alpha blending turned on? I'm not sure if this is turned on by default for JME since it not that useful for 3d models.
What's alpha blending? Is there a setting somewhere? I have the Texture and Blend states set up correctly (I think):
Texture texture = TextureManager.loadTexture(
ChainState.class.getClassLoader().getResource(
"assets/Hex 512.png"),
Texture.MinificationFilter.Trilinear,
Texture.MagnificationFilter.Bilinear, Image.Format.GuessNoCompression, 0.0f, true);
TextureState ts2 = DisplaySystem.getDisplaySystem().getRenderer().createTextureState();
ts2.setTexture(texture);
ts2.setEnabled(true);
BlendState as = DisplaySystem.getDisplaySystem().getRenderer().createBlendState();
as.setBlendEnabled(true);
as.setSourceFunction(BlendState.SourceFunction.SourceAlpha);
as.setDestinationFunction(BlendState.DestinationFunction.SourceColor);
as.setTestEnabled(true);
as.setTestFunction(BlendState.TestFunction.GreaterThan);
as.setEnabled(true);
did u check dxt texture compression I think they call it, is suppose to be enabled by default
No Dice, I'm already passing Image.Format.GuessNoCompression when loading the textures, so setting TextureManager.COMPRESS_BY_DEFAULT = false; makes no difference.
You can try updateRenderState(), before rendering.
Nope, it's still looks identical. I'm using StandardGame, if that makes any difference.
DisplaySystem.getDisplaySystem().setMinSamples(4);
Still no change.
DisplaySystem.getDisplaySystem().setMinSamples(4);
:?
…
WOO! I fixed it!
I was using an incorrect blend state option. I Should have been using
setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha);