Alternative to Perlin Noise
Hey all,
I''m working on a realtime application that relies heavily on the Perlin Noise function to generate data that is being rendered on the screen (specifically procedural textures). I am making about 20000 calls to Noise3() per frame, and this accounts for about a third of the entire program execution time! I''m looking for one of two solutions...
1) Does anyone have a heavily optimized noise library that I could use as a replacement for the version Perlin wrote?
2) Are there any good "approximations" of the Perlin Noise function that are less computationally expensive?
Well, first I would try to pre-compute the texture, and stop re-computing it every time! Have several levels of detail or resolution, and switch as the player gets closer/further from the object.
As for alternatives, there is a sub-division algorithm that some programs use, but I don''t know if it''s faster of not. Take a look around.
"The world isn't run by weapons anymore; or energy, or money; it's run by little ones and zeroes, little bits of data -- it's all just electrons."
As for alternatives, there is a sub-division algorithm that some programs use, but I don''t know if it''s faster of not. Take a look around.
"The world isn't run by weapons anymore; or energy, or money; it's run by little ones and zeroes, little bits of data -- it's all just electrons."
cobra, he''s probably doing animated textures, so he''d have to precompute large 3d volumes which is probably inacceptable.
novalis, noise3() leaves a fair bit of room for optimization, especially if you''re using, say, an older version of MSVC++ (4.0 or 5.0), which had severe issues with floating point optimizations. you may want to look at the assembly code, until i started using intel c++4.5 my assembly version of noise3() was probably 10 times faster than the C one.
--
Float like a butterfly, bite like a crocodile.
novalis, noise3() leaves a fair bit of room for optimization, especially if you''re using, say, an older version of MSVC++ (4.0 or 5.0), which had severe issues with floating point optimizations. you may want to look at the assembly code, until i started using intel c++4.5 my assembly version of noise3() was probably 10 times faster than the C one.
--
Float like a butterfly, bite like a crocodile.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement