diff --git a/panda/src/grutil/shaderTerrainMesh.cxx b/panda/src/grutil/shaderTerrainMesh.cxx index 8aac5f0e9a..8c9c7bd9b6 100644 --- a/panda/src/grutil/shaderTerrainMesh.cxx +++ b/panda/src/grutil/shaderTerrainMesh.cxx @@ -52,6 +52,18 @@ ConfigVariableInt stm_max_views "with. Each camera rendering the terrain corresponds to a view. Lowering this " "value will reduce the data that has to be transferred to the GPU.")); +ConfigVariableEnum stm_heightfield_minfilter +("stm-heightfield-minfilter", SamplerState::FT_linear, + PRC_DESC("This specifies the minfilter that is applied for a heightfield texture. This " + "can be used to create heightfield that is visual correct with collision " + "geometry (for example bullet terrain mesh) by changing it to nearest")); + +ConfigVariableEnum stm_heightfield_magfilter +("stm-heightfield-magfilter", SamplerState::FT_linear, + PRC_DESC("This specifies the magfilter that is applied for a heightfield texture. This " + "can be used to create heightfield that is visual correct with collision " + "geometry (for example bullet terrain mesh) by changing it to nearest")); + PStatCollector ShaderTerrainMesh::_basic_collector("Cull:ShaderTerrainMesh:Setup"); PStatCollector ShaderTerrainMesh::_lod_collector("Cull:ShaderTerrainMesh:CollectLOD"); @@ -148,8 +160,8 @@ void ShaderTerrainMesh::do_extract_heightfield() { } else { _heightfield_tex->set_format(Texture::F_r16); } - _heightfield_tex->set_minfilter(SamplerState::FT_linear); - _heightfield_tex->set_magfilter(SamplerState::FT_linear); + _heightfield_tex->set_minfilter(stm_heightfield_minfilter); + _heightfield_tex->set_magfilter(stm_heightfield_magfilter); _heightfield_tex->set_wrap_u(SamplerState::WM_clamp); _heightfield_tex->set_wrap_v(SamplerState::WM_clamp); }