While implementing JDK-8310109, noticed below behaviour in D3D pipeline:
1. In OpenGL we set GL_TEXTURE_MIN_FILTER as GL_LINEAR_MIPMAP_LINEAR
2. In Metal i am also planning to do the same. Set MIP_FILTER as well as MIN_FILTER to Linear
3. But in D3D what is see is we don’t set D3DSAMP_MIPFILTER at all for 3D Texture maps. We set only D3DSAMP_MINFILTER & D3DSAMP_MAGFILTER filters to D3DTEXF_LINEAR. If we don’t set D3DSAMP_MIPFILTER, default is D3DTEXF_NONE
We actually set D3DUSAGE_AUTOGENMIPMAP in D3DResourceManager.cc before creating the texture as described at https://learn.microsoft.com/en-us/windows/win32/direct3d9/automatic-generation-of-mipmaps
But we dont set any MIP filter. I think we need to do proper state management and enable MIP filter when we use diffuse and selfllum texture maps. I think currently we are not using mipmaps in case of diffuse and selfllum texture maps in D3D in case of minification.
1. In OpenGL we set GL_TEXTURE_MIN_FILTER as GL_LINEAR_MIPMAP_LINEAR
2. In Metal i am also planning to do the same. Set MIP_FILTER as well as MIN_FILTER to Linear
3. But in D3D what is see is we don’t set D3DSAMP_MIPFILTER at all for 3D Texture maps. We set only D3DSAMP_MINFILTER & D3DSAMP_MAGFILTER filters to D3DTEXF_LINEAR. If we don’t set D3DSAMP_MIPFILTER, default is D3DTEXF_NONE
We actually set D3DUSAGE_AUTOGENMIPMAP in D3DResourceManager.cc before creating the texture as described at https://learn.microsoft.com/en-us/windows/win32/direct3d9/automatic-generation-of-mipmaps
But we dont set any MIP filter. I think we need to do proper state management and enable MIP filter when we use diffuse and selfllum texture maps. I think currently we are not using mipmaps in case of diffuse and selfllum texture maps in D3D in case of minification.
- relates to
-
JDK-8324594 Add filtering modes to 3D textures
- Open