class NoiseTexture(Texture):
  def __init__(self,sc = 1.0):
    self.noise = Perlin()
    self.scale = sc

  def value(self,u,v,p):
    #return Vec3(1.0,1.0,1.0) *0.5* (1+self.noise.turb(self.scale*p))
    #return Vec3(1.0,1.0,1.0) * self.noise.turb(self.scale*p)
    return Vec3(1.0,1.0,1.0) *0.5* (1+sin(self.scale * p.z + 10*self.noise.turb(p)))
예제 #2
0
class NoiseTexture(Texture):
    '''Texture generated by a custom Perlin noise generator'''
    def __init__(self, scale=1):
        self.noise = Perlin()
        self.scale = scale

    def value(self, u, v, p):
        return Color(1, 1, 1) * 0.5 * (
            1.0 + sin(self.scale * p.z + 10 * self.noise.turb(p))
        )  # Marble texture using Perlin noise