[SOLVED] Grass density map gets rotated 45 degrees

CheeseSucker

13-11-2009 11:59:01

I am not sure if this is a problem with Python-Ogre or PagedGeometry, so I will post it in both forums:
PagedGeometry forum: http://www.ogre3d.org/addonforums/viewtopic.php?f=14&t=11604

I have tried to create a grass map for a terrain, however, the density map appears to be rotated 45 degrees when PagedGeometry parses it.

Python-Ogre version: 1.6.4
Problematic module: ogre.addons.forests

Density map:


Result (wireframe mode):


Code used to create grass:

def createGrass(self):
# Grass
self.grass = forests.PagedGeometry()
self.grass.setCamera(self.camera)
self.grass.setPageSize(self.grassPageSize)
self.grass.addDetailLevelGrassPage(2000)

self.grassLoader = forests.GrassLoader(self.grass)
self.grass.setPageLoader(self.grassLoader)
self.grassLoader.setHeightFunction(self.HeightFunction, "getTerrainHeight")

grassLayer = self.grassLoader.addLayer("grass")

#grassLayer.setAnimationEnabled(True)
#grassLayer.setSwaySpeed(0.5)
#grassLayer.setSwayLength(0.05)
#grassLayer.setSwayDistribution(10.0)

grassLayer.setDensity(0.1)

#grassLayer.setColorMap("terrain_texture2_grass.jpg")
#grassLayer.setColorMapFilter(forests.MAPFILTER_BILINEAR)

grassLayer.setDensityMap("grassmap.png")
grassLayer.setDensityMapFilter(forests.MAPFILTER_NONE)

grassLayer.setMapBounds(self.foliageRect)

grassLayer.setMinimumSize(0.5,0.5)
grassLayer.setMaximumSize(10, 10)

#grassLayer.setFadeTechnique(forests.FADETECH_GROW)


Any way I can fix this?

CheeseSucker

13-11-2009 12:37:45

It appears the density map size has to be a power of two plus one just like the ogre terrain heightmaps.

513x513px and 257x257px worked fine, while 512x512px and 256x256px gave a distorted image.
400x400px simply crashed the program ...