POV-Ray : Newsgroups : povray.general : Infinite (tiled) Heightfields : Infinite (tiled) Heightfields Server Time
12 Aug 2024 19:36:06 EDT (-0400)
  Infinite (tiled) Heightfields  
From: The Crazy Mule
Date: 22 Jan 1999 20:07:45
Message: <36A92132.37B0AC27@paradise.net.nz>
I had this idea, it's not particularly inspired (seemed fairly logical to me),
and i was just wondering what other ppl thought of it...

Currently, to create a decently size landscape, even a regular repeating one,
you have to make a really big heightfield or make copies, translated, of a
smaller one and bear the glitches running along the edges of each section - And
even then you have to make heaps of copies.  Anyway, it seems to me that by
making the bounding volume the intersection of two planes (ie, an infinite
"slab"), using modulus arithmetic, you could implement infinitely tiling
heightfields quite simply.

I shall refer to the bounding volume as the bounding slab, and the single
repeating heightfield unit as a tile...

If we say a function RayHits finds out where, if anywhere, the ray hits on a
single hf tile, then we can use the following recursive wrapper function to
extend functionality to infinitely tiled:

Function RayHitsHF(Ray) {	
	Modulus the ray origin or entry point to find where on a single tile it
enters/starts
	If (RayHits) then return hitpoint
	else {
		If(Ray Exits Top or bottom) then return no intersection
		Else RayHitsHF(ray_exitpoint translated to the opposite edge of the tile
bounding box)
	}
}

Some method of preventing endless loops would also probably be needeed

What do you think?
-- 
Sam Minnee
    mailto:smi### [at] paradisenetnz
    http://www.geocities.com/SiliconValley/Horizon/4152/

Ignorance is bliss - And don't you go telling me otherwise!


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.