Terrain Problem

I am just messing around with terrain that I’m gonna change for my game, and I ran my program. When I change the camera view, I have this happen:

At the bottom it is very clear, and at the top it is very blurry. It changes around the terrain when i move the camera. Here is my code:

from direct.showbase.ShowBase import ShowBase
from panda3d.core import GeoMipTerrain

class App(ShowBase):
	def __init__(self):
		ShowBase.__init__(self)
		self.terrain = GeoMipTerrain("terrain")
		self.terrain.setHeightfield("height.png")
		self.terrain.setColorMap("grass.png")
		self.terrain.getRoot().setSz(100)
		self.terrain.getRoot().reparentTo(render)
		self.terrain.generate()

		z = self.terrain.getElevation(256, 256) * 40
		self.cam.setPos(256, 256, z)
		
		self.terrain.setFocalPoint(self.cam)
		self.taskMgr.add(self.updateTerrain, "update terrain")
	
	def updateTerrain(self, task):
		self.terrain.update()
		return task.cont

app = App()
app.run()

I don’t know if it’s the evelvation, updating the terrain, or image. My images are all clear though. Can somebody explain what the problem is?

I added this to the code:

filters = CommonFilters(base.win, base.cam)
		filters.setBlurSharpen(2.0)

so now it looks less blurry, but parts are still more blurry than others. How do I make it all one clear terrain?

Don’t use colour maps for texturing. Just use regular texturing. Colour maps store information in the vertex colours, which produces this effect if your terrain LOD settings are chosen poorly.

It works better now, Thanks!