Bir parça gölgelendiricide, here bulunan Gürültü işlevini kullanarak süper basit Perlin gürültü bulutları oluşturmaya çalışıyorum.Pürüzsüzleştirici düşük oktav perlin gürültüsü
Düşük oktavlarda çıktım, daha iyi bir kelime istemek için 'blobby'. Bu blobi alanları düzeltmek ve düzgün bir gürültüye sahip olmak isterdim ama sadece bir oktavdan biraz daha detaylı.
Fragment shader:
#ifdef GL_ES
precision mediump float;
#endif
uniform float time;
uniform vec2 resolution;
// Noise related functions go here ..
float surface3 (vec3 coord) {
float frequency = 4.0;
float n = 0.0;
n += 1.0 * abs(cnoise(coord * frequency));
n += 0.5 * abs(cnoise(coord * frequency * 2.0));
n += 0.25 * abs(cnoise(coord * frequency * 4.0));
return n;
}
void main(void) {
vec2 position = gl_FragCoord.xy/resolution.xy;
float n = surface3(vec3(position, time * 0.1));
gl_FragColor = vec4(n, n, n, 1.0);
}
Canlı örnek:
http://glsl.heroku.com/e#1413.0
Sol şu anda ne var. Doğru görüntü ile daha fazla satır içi bir şeye nasıl ulaşabilirim?
Teşekkür Ilmari sonucudur. Çözümünüzü düşündüm ve sadece bir oktav gürültü kullandım, ancak sonuç hala oldukça göz kamaştırıcı görünüyor. Ayrıca siyah ve beyaz alanlar arasındaki yüksek kontrastı çok sevmiyorum. Anladığım kadarıyla ek oktavlar ekleyerek detaylar ekledik ama sonuçta (http://libnoise.sourceforge.net/tutorials/tutorial4.html#octaves'e göre) kontrastı da azaltıyordum. Makul muyum? –
Ahh, tamam, şimdi ne demek istediğini görüyorum. Cevabı düzenledim. –
Güzel, bu hile yaptı - teşekkürler! –