- Joined
- Apr 30, 2016
- Messages
- 1
- Reaction score
- 0
I think starmade actually looks pretty good. But this look is broken, if you get near blocks and see their pixels. I switched to the highest texture pack resolution available cause of this. This is why I'd suggest activating linear magnification filtering (smooth textures so you don't see pixels anymore) by default instead of just offering a graphics option. People not liking it could just disable it.
Also I noticed, that when looking at blocks at a steep angle, they look really blurred. This sometimes destroys starmades high quality high-tech feeling and can be pretty annoying if looking at shield capacitors for example. This is caused by activated mipmapping forcing the gpu to use smaller textures for small surfaces. It will for example use the 4x4 texture for drawing on a polygon that appears as 4x64 on the screen. To solve this, I'd suggest implementing anisotropic filtering.
Anisotropic filtering - Wikipedia, the free encyclopedia:
Here's an example I captured in Starmade by setting my gpu to use 16x anisotropic filtering disregarding the applications preferences. You can see the difference quite good when looking at the blue lines surrounding the power capacitors at a high distance.
Whilst on the left at the top you just see green and blue lines, on the right there is still a pattern of salvage and normal cannons indentifiable.
This makes you able to distinguish blocks also at high angles.
Also it would be easy to implement cause I think the game is using lwjgl 2 as far as I saw from the libraries folder.
I think with both options enabled, the game looks a lot more polished and uses the full potential of its already awesome graphics.
Also I noticed, that when looking at blocks at a steep angle, they look really blurred. This sometimes destroys starmades high quality high-tech feeling and can be pretty annoying if looking at shield capacitors for example. This is caused by activated mipmapping forcing the gpu to use smaller textures for small surfaces. It will for example use the 4x4 texture for drawing on a polygon that appears as 4x64 on the screen. To solve this, I'd suggest implementing anisotropic filtering.
Anisotropic filtering - Wikipedia, the free encyclopedia:
Here's an example I captured in Starmade by setting my gpu to use 16x anisotropic filtering disregarding the applications preferences. You can see the difference quite good when looking at the blue lines surrounding the power capacitors at a high distance.
Whilst on the left at the top you just see green and blue lines, on the right there is still a pattern of salvage and normal cannons indentifiable.
This makes you able to distinguish blocks also at high angles.
Also it would be easy to implement cause I think the game is using lwjgl 2 as far as I saw from the libraries folder.
Code:
//after loading a texture and generating mipmaps for it
if(anisotropicFiltering)
{
if(GLContext.getCapabilities().GL_EXT_texture_filter_anisotropic)
{
float amount = Math.min(4f, glGetFloat(EXTTextureFilterAnisotropic.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT));
glTexParameterf(GL_TEXTURE_2D, EXTTextureFilterAnisotropic.GL_TEXTURE_MAX_ANISOTROPY_EXT, amount);
glTexParameterf(GL_TEXTURE_2D, GL14.GL_TEXTURE_LOD_BIAS, 0f);
}
else
{
Log.debug("Anisotropic filtering is NOT supported!");
}
}