Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
perlin/module_realistic.f90
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
84 lines (74 sloc)
2.49 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module module_realistic | |
implicit none | |
public | |
save | |
interface | |
subroutine realistic_perlin_noise(xx,yy,noise,dx,dy) | |
use module_globals | |
implicit none | |
real(DP),intent(in) :: xx,yy | |
real(DP),intent(out) :: noise | |
real(DP),intent(out),optional :: dx, dy | |
end subroutine realistic_perlin_noise | |
end interface | |
interface | |
function realistic_turbulence(x, y, noise_height, freq, pers, num_octaves, anchor) result(noise) | |
use module_globals | |
implicit none | |
real(DP), intent(in) :: x, y, noise_height, freq, pers | |
integer(I4B) :: num_octaves | |
real(DP),dimension(2,num_octaves),intent(in) :: anchor | |
real(DP) :: noise | |
end function realistic_turbulence | |
end interface | |
interface | |
function realistic_billowedNoise(x, y, noise_height, freq, pers, num_octaves, anchor) result(noise) | |
use module_globals | |
implicit none | |
real(DP), intent(in) :: x, y, noise_height, freq, pers | |
integer(I4B) :: num_octaves | |
real(DP),dimension(2,num_octaves),intent(in) :: anchor | |
real(DP) :: noise | |
end function realistic_billowedNoise | |
end interface | |
interface | |
function realistic_ridgedNoise(x, y, noise_height, freq, pers, num_octaves, anchor) result(noise) | |
use module_globals | |
implicit none | |
real(DP), intent(in) :: x, y, noise_height, freq, pers | |
integer(I4B) :: num_octaves | |
real(DP),dimension(2,num_octaves),intent(in) :: anchor | |
real(DP) :: noise | |
end function realistic_ridgedNoise | |
end interface | |
interface | |
function realistic_swissTurbulence(x, y, lacunarity, gain, warp, num_octaves, anchor) result(noise) | |
use module_globals | |
implicit none | |
real(DP), intent(in) :: x, y, lacunarity, gain, warp | |
integer(I4B) :: num_octaves | |
real(DP),dimension(2,num_octaves) :: anchor | |
real(DP) :: noise | |
end function realistic_swissTurbulence | |
end interface | |
interface | |
function realistic_jordanTurbulence(x,y,lacunarity,gain1,gain,warp0,warp,damp0,damp,damp_scale,& | |
num_octaves, anchor) result(noise) | |
use module_globals | |
implicit none | |
real(DP),intent(in) :: x, y, lacunarity, gain1, gain, warp0, warp, damp0, damp, damp_scale | |
integer(I4B),intent(in) :: num_octaves | |
real(DP),dimension(2,num_octaves),intent(in) :: anchor | |
real(DP) :: noise | |
end function realistic_jordanTurbulence | |
end interface | |
interface | |
function realistic_perlin_noise3D(xx,yy,zz) result (noise) | |
use module_globals | |
implicit none | |
real(DP),intent(in) :: xx,yy | |
real(DP),intent(in) :: zz | |
real(DP) :: noise | |
end function realistic_perlin_noise3D | |
end interface | |
end module module_realistic | |