Page 1 of 2
ISL shader nodes
Posted: Fri Nov 27, 2009 1:21 pm
by fused
hey, ive been working two Indigo Shader Language nodes(namely ISL nosie, for perlin and fbm, and ISL blend, for blending multiple ISL shaders) for c4d so you can use ISL without actually having to write a single line of code.
Here are a few shots:
- displacement with ISL fbm
- im1259234744.png (705.46 KiB) Viewed 6862 times
- blend of fbm and perlin
- im1259282952.png (986.02 KiB) Viewed 6863 times
- the noise shader looks like this in c4d, not too many options currently :)
- noise.jpg (58.92 KiB) Viewed 6860 times
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 1:37 pm
by psor
I love the displacement stuff. Good work fused!
take care
psor
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 3:10 pm
by fused
gradient shader node
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 5:01 pm
by Stromberg
Realy nice
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 8:48 pm
by zeitmeister
Geilgeilgeil... wie ich mich darauf freu!
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 8:56 pm
by fused
well... dont get too excited.... currently you can only do 2 color gradients with linear interpolation, because multi colored with non linear (c4ds gradients can be non linear) are a bit tricky (espacialy if the number of color varies).
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 9:01 pm
by zeitmeister
Naja dann: MaGucknMaGucknMaGuckn.
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 9:59 pm
by pixie
One step close to perfection! Thanks fused!
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 10:40 pm
by iacx
Thanks Fused
!
Re: ISL shader nodes
Posted: Fri Nov 27, 2009 10:59 pm
by juan_irender
Very promising, Fused! Well, for doing proper multi-color interpolation, an spline data-type added to ISL (a la Renderman) would be very useful.
Re: ISL shader nodes
Posted: Sat Nov 28, 2009 4:04 am
by Zom-B
First try to get a ISL generated Mountain done. Controle via direct Shader is 10000 times more comfy then tweaking the ISL code
I hope for more advanced tests over the Weekend... now its time for "Weihnachtsmarkt" *prost*
- ISL Mountain v01.jpg (105.3 KiB) Viewed 6753 times
Re: ISL shader nodes
Posted: Sat Nov 28, 2009 4:12 am
by zeitmeister
Oh, da sachste was... gleich wirds ja ernst. *hicks*
Re: ISL shader nodes
Posted: Sat Nov 28, 2009 5:45 pm
by fused
hey ZomB, you will be able to create MUCH better mountains with the next version
circular gradient and fbm. note that ALL the shader code is generated by Cindigo and you dont have to write a single line
- better mountains!!!!!!!!!!!!!!!!
- better mountains.jpg (88.27 KiB) Viewed 6704 times
the shader code:
Code: Select all
<material>
<name>Indigo Material_mid0</name>
<diffuse>
<albedo>
<constant>
<rgb>
<rgb>0.800000 0.800000 0.800000</rgb>
<gamma>2.200000</gamma>
</rgb>
</constant>
</albedo>
<displacement>
<shader>
<shader>
<![CDATA[def Vec3ToReal(vec3 v) real : ((doti(v) + dotj(v) + dotk(v)) / 3.0)
def noise01(vec3 v) real : ((noise(v) + 1.0) * 0.5)
def noise01(vec2 v) real : ((noise(v) + 1.0) * 0.5)
def noise01(real r) real : ((noise(r) + 1.0) * 0.5)
def fbm01(vec3 v, int oc) real : ((fbm(v,oc) + 1.0) * 0.5)
def fbm01(vec2 v, int oc) real : ((fbm(v,oc) + 1.0) * 0.5)
def fbm01(real r, int oc) real : ((fbm(r,oc) + 1.0) * 0.5)
def mulCompVec2(vec2 a, vec2 b) vec2 : vec2(doti(a) * doti(b), dotj(a) * dotj(b))
def mulCompVec3(vec3 a, vec3 b) vec3 : vec3(doti(a) * doti(b), dotj(a) * dotj(b), dotk(a) * dotk(b))
def eval() real: (Vec3ToReal(lerp(vec3(1.00000, 1.00000, 1.00000), vec3(0.00000, 0.00000, 0.00000), length(vec2(0.5,0.5) - getTexCoords(0)) * 2.0 )) * 1.00000 + 0.25000 * fbm01(mulCompVec2(getTexCoords(0) * 10.0, vec2(1.00000, 1.00000)),8)) * 1.50000]]>
</shader>
</shader>
</displacement>
</diffuse>
</material>
Re: ISL shader nodes
Posted: Sat Nov 28, 2009 5:55 pm
by fused
added some perlin to make it more random!
- better mountains2.jpg (111.86 KiB) Viewed 6701 times
Code: Select all
<material>
<name>Indigo Material_mid0</name>
<diffuse>
<albedo>
<constant>
<rgb>
<rgb>0.800000 0.800000 0.800000</rgb>
<gamma>2.200000</gamma>
</rgb>
</constant>
</albedo>
<displacement>
<shader>
<shader>
<![CDATA[def Vec3ToReal(vec3 v) real : ((doti(v) + dotj(v) + dotk(v)) / 3.0)
def noise01(vec3 v) real : ((noise(v) + 1.0) * 0.5)
def noise01(vec2 v) real : ((noise(v) + 1.0) * 0.5)
def noise01(real r) real : ((noise(r) + 1.0) * 0.5)
def fbm01(vec3 v, int oc) real : ((fbm(v,oc) + 1.0) * 0.5)
def fbm01(vec2 v, int oc) real : ((fbm(v,oc) + 1.0) * 0.5)
def fbm01(real r, int oc) real : ((fbm(r,oc) + 1.0) * 0.5)
def mulCompVec2(vec2 a, vec2 b) vec2 : vec2(doti(a) * doti(b), dotj(a) * dotj(b))
def mulCompVec3(vec3 a, vec3 b) vec3 : vec3(doti(a) * doti(b), dotj(a) * dotj(b), dotk(a) * dotk(b))
def eval() real: ((Vec3ToReal(lerp(vec3(1.00000, 1.00000, 1.00000), vec3(0.00000, 0.00000, 0.00000), length(vec2(0.5,0.5) - getTexCoords(0)) * 2.0 )) * 1.00000 + 0.35000 * fbm01(mulCompVec2(getTexCoords(0) * 10.0, vec2(1.00000, 1.00000)),8)) * 1.50000 + 1.00000 * noise(mulCompVec2(getTexCoords(0) * 10.0, vec2(0.25000, 0.25000)))) * 1.00000]]>
</shader>
</shader>
</displacement>
</diffuse>
</material>
Re: ISL shader nodes
Posted: Sat Nov 28, 2009 6:19 pm
by fused
bigger, closer. 13.000.000 tris.