Blender Cycles OSL: Color Turbulence

Hi every body. Today I'm going to show you a color turbulence material:


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

Eugenio Pignataro ha dicho que…
Espectacular tu trabajo!
Eduardo Maldonado Malo ha dicho que…
¡Muchas gracias Eugenio!
Javier DL ha dicho que…
Hola Eduardo!
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
Eduardo Maldonado Malo ha dicho que…
Hola Javier. Puedes usarlos sin ningún problema.

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.
Patricia Witwort ha dicho que…
Estoy escribiendo esto con alegría y felicidad en mi corazón, fui curado del herpes por un gran hombre. al principio pensé que estaba a punto de ser engañado y luego me aseguró que todo estaría bien si me adhería estrictamente a sus palabras e instrucciones. Vivo en Nueva York y me diagnosticaron HSV1 y 2 hace tres años. He buscado cualquier solución posible, pero todo fue en vano. hasta que entré en contacto con el Dr. Okigbochie, él salvó mi vida y me liberó de la enfermedad. puede contactarlo a través de su correo electrónico drokhigbochieharbalcure @ outlook. Creo firmemente que él puede curarte de cualquier enfermedad y virus.

Entradas populares de este blog

Santa Alejandra

Stucco Material III

Blender Cycles: Vector Transform for Texturing (New Feature in Blender 2.69)