Blender Cycles OSL: Color Turbulence
Hi every body. Today I'm going to show you a color turbulence material:
This is the OSL code:
And here there is the node setup. I have used a HSV Color node to increase the color saturation and provide a result more vivid:
And this another example scene (hires version here).
I hope you like it.
Bye
This is the OSL code:
/* * Migrated from "http://glsl.heroku.com/e#8664.0" * By: elbrujodelatribu */ shader node_color_turbulence( vector Vector = P, float Scale = 0.2, float Time = 1.0, int MaxIterations = 64, output color Color = 0.8) { vector p = Vector * Scale;//surfacePosition; for(int i=1; i < MaxIterations; i++) { vector newp = p; newp[0]+=0.6/float(i)*sin(float(i)*p[1]+Time/20.0+0.3*float(i))+20.0; newp[1]+=0.6/float(i)*sin(float(i)*p[0]+Time/20.0+0.3*float(i+10))-5.0; p=newp; } Color = color(sin(Time+p[1]+p[0]-M_PI*color(0,2,4)/(4.0+sin(Time)))*0.3+0.5); }
And here there is the node setup. I have used a HSV Color node to increase the color saturation and provide a result more vivid:
And this another example scene (hires version here).
I hope you like it.
Bye
Comentarios
Antes que nada quisiera agradecerte por tu amable generosidad por compartir con todos nosotros tus fabulosos trabajos en éste medio de materiales. Y felicitarte por la misma razon.
Aparte de felicitarte y agradecerte queria tambien preguntarte: como puedo hacer para que el "Script node" tenga sockets?
Mas especificamente, estaba tratando de usar tu "Turbulence"
setup para unos dulces (candies) que quiero usar para un proyecto personal, pero siendo el
"rookie" que soy para estos asuntos de los "noodles" no tengo la menor idea de como hacer
para connectar el Script node a los otros nodes.
Ya cree el documento OSL, solo copié el contenido de la ventana en tu pagina del setup de Turbulence, y lo pegué en un documento txt, despues de salvarlo le cambié la extension a .osl Espero que sea asi como se hace.
Aparte de esto, necesito pedirte autorizacion para conservar un par de paginas que acabo de crear con el objeto de servir como "trampolin" y referencia a tus noodles. Estas paginas las cree para uso personal, para encontrar de manera rapida los materiales. Sobre todo mientras estoy aprendiendo. Espero no te moleste.
Un saludo desde Montreal, Canada.
Javier DL
Respecto a lo de crear inputs o outputs en el script se hace en los parámetros de la función shader. Los parámetros es lo que va entre paréntesis. Si pones sólo el tipo de dato son inputs, si pones además el comando "output" entonces erá de salida.
La programación es similar al lenguaje C, pero tiene sus peculiaridades.