View Single Post
  #4  
Old 04-13-2011, 10:21 AM
Zhi Zhi is offline
Member
 
Join Date: Mar 2011
Posts: 49
I do not use any shell technique. I simply found a very nice seamless grass texture (as attached) and applied it to the ground. To get rid of the regular pattern due to the repeated tiling of the grass patch (which gives a strong linear perspective cue). I 'blend' the detailed grass ground with a huge noise texture surface. The visual effect of such a grass field looks pretty good, even though it is still 2D textured. Here is the code:

grass = viz.addTexture('Grass.jpg') #Create the detailed grassland with about 100 m in diameter
for x in range(-51, 52, 2):
for z in range(-51, 52, 2):
if (x*x + z*z) < 52*52:
ground = viz.addTexQuad()
ground.setScale([2,2,1])
ground.setPosition([x, 0, z])
ground.setEuler([0, 90, 0])
ground.texture(grass) # Wrap texture on quad

BK = viz.addTexture('Noise.jpg') #Blend the detailed grassland with a low frequency noise map 100 m x 100 m
BKGrnd = viz.addTexQuad()
BKGrnd.setScale([100,100,1])
BKGrnd.setPosition([0, 0, 0])
BKGrnd.setEuler([0, 90, 0])
BKGrnd.texture(BK)
BKGrnd.zoffset(-1)
BKGrnd.alpha(0.2)
Attached Thumbnails
Click image for larger version

Name:	Grass.jpg
Views:	25596
Size:	1.05 MB
ID:	416   Click image for larger version

Name:	Noise.JPG
Views:	2031
Size:	768.7 KB
ID:	417  
Reply With Quote