We get it. We use ad blockers too. But GameDev.net displays them so we can continue to be a great platform for you.
Please whitelist GameDev.net and our advertisers.
Also consider a GDNet+ Pro subscription to remove all ads from GameDev.net.
Jump to content
Caveman (C) 2000-2014 Rockland Software Productions
Improved tall grass using the new generic random map.
I tweaked the hue of the two grass textures used to make it a bit more bluegrass in color.
The basic spacing is still the same, at one grass plant every 5 feet (5 d3d units).
The grass plant meshes are unchanged: 8 quads, 4 in the center tilted out, and 4 tilted way out very near to the ground.
Everything else is controlled by the new "generic random map" in the game. I found a repeating need for 2d arrays of random values for things like what ground texture tile to draw, what scale a plant should be, etc. So i created a "generic random map", a 100x100 2d array of random integer values from 0 through 100. this map is generated once at game start. Functions / methods are then written that access the random map to return values. For example, the x,z location of a grass plant is modded by 100 to map to the 2d 100x100 array and return a value 0-100. this is then multiplied by a scaling factor (such as 0.02f) and then added to a base scaling value (such as 1.5f) to determine the final size of the plant at that location.
The generic random map is used by various functions to determine:
* grass plant scale
* grass plant texture
* grass plant jitter (offset from base location every 5 feet)
* grass plant rotation
The generic random map is also used for other parts of the game, such as the basis for a double interpolated heightmap for canyons.
But most of the game (rocks, trees, scrub plants, fruit trees, berry bushes, ground textures, etc) still uses the original four random "plant maps" in the game.
|Original File Size||73870|
|Sections Found||ANY_TAG, IFD0|
|HTML Sizes||width="800" height="450"|
|Byte Order Motorola||TRUE|
GameDev.net™, the GameDev.net logo, and GDNet™ are trademarks of GameDev.net, LLC.