Page 1 of 3

An introduction to ISL

Posted: Tue Feb 12, 2013 5:38 pm
by CTZn
for them not too shy.
Foreword wrote:The purpose of this booklet is to lead the novice, supposedly impressed by the notion of coding, into a guided first contact with the Indigo Shading Language (ISL).

As such, the reader is expected to have been through UV texturing and is now willing to use a different method to define materials in Indigo.

From there, the tutorial will try to conceal the technicity that ISL may involve by proceeding from one illustrated step to another. Sometimes in an imaged language, often at the price of technical accuracy. Theoretical insights will happen when required.
It was funny but now I'm aiming at a more polished result, let's screw with the deadline :D

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 1:26 am
by aleksandera
Lol, great! :D

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 3:20 am
by CTZn
:)

What's next:

1d noise, in U or V
noise01, a variant usefull in our case.
scaling of noise, with creation of an UI param control.
2d noise
stretched 2d noise

Then practical shading examples. Hopefully the level of complexity will be mainained at the lowest.

Obviously I meant to post in the tutorials forum *facepalm*

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 4:32 am
by wlf_alex
Super !
Will waiting for..

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 4:32 am
by Voytech
Been waiting for something like this but still getting lost without illustrations. Maybe a paragraph regarding the syntax would be helpful.

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 6:23 am
by CTZn
Thanks for the input Voytech.

I'm directing this paper to people who want to start using ISL but believe that it is entirely above their head. So far the introduction hereby is to demonstrate the contrary.

I have deliberately ignored confusing stuff, like data types and procedures definitions with this particular audience in mind. It may not be satisfying to intermediate audiences but I owed a thing to start with.

You can expect an update within the next 24h, with illustrations to clarify. I mean to have finished the tutorial by the next week.

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 6:52 am
by CTZn
In fact, my target audience is not even necessarily comfortable with the definition of UVs. I'm eluding explanations by a visual exposition of the parameters.

So I could put it this way: this first part already written is entirely meant to familiarize empirically the reader with the notion of U and V coordinates, by having him exposing them with ISL.

All it takes is replacing the value 0.1 by texi() - exposing U - or texj() - exposing V.

I want everybody into ISL, I'm on it :D

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 7:16 am
by LithiumDesign
Think this is a fantastic idea - seeing as I am one of those people that was intimidated by ISL - but I don't really understand where I need to add the texi() part?!

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 9:23 am
by Voytech
CTZn wrote:In fact, my target audience is not even necessarily comfortable with the definition of UVs. I'm eluding explanations by a visual exposition of the parameters.

So I could put it this way: this first part already written is entirely meant to familiarize empirically the reader with the notion of U and V coordinates, by having him exposing them with ISL.

All it takes is replacing the value 0.1 by texi() - exposing U - or texj() - exposing V.

I want everybody into ISL, I'm on it :D
Everything fine so far, until I input texj...... that causes indigo to crash instantly. Bug?

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 9:39 am
by CTZn
Released update 1. Polished the spoiled french humour a bit, added images that will clarify.

Voytech, Indigo should not crash. If it worked with texi() just hilight the "i" and type a "j" instead. Let us know about this.

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 10:48 am
by OnoSendai
Good stuff, I like the style :)

Re: An introduction to ISL

Posted: Wed Feb 13, 2013 10:59 am
by wlf_alex
Very useful, thanks !!!

Re: An introduction to ISL

Posted: Thu Feb 14, 2013 6:22 am
by CTZn
Great, thanks guys !

Update 2 is out.

Where the reader will apply a one dimensional noise to the surface, and scale it at will.

Re: An introduction to ISL

Posted: Fri Feb 15, 2013 2:17 am
by Voytech
The illustrations are what made it perfectly clear to me. Thanks. Keep going!

On a less happy note - Indigo crashes consistently when I use "texj()" in the syntax. It crashes as soon as I close the parenthesis. This is on IndigoRT 3.6.2 on OS X 10.8.2.

Re: An introduction to ISL

Posted: Fri Feb 15, 2013 4:48 am
by CTZn
texj() is a shortcut for e1( getTexCoords( 0 ) ) they are supposed to be interchangeable.

getTexCoords(0) -> first UV set
getTexCoords(1) -> second UV set
etc...

e1(getTexCoords(0)) -> second element of the first UV set. The first element (U aka texi()) is the element number zero: e0(getTexCoords(0)).

That's for a short explanation but honestly it seems more like an hardcoded bug. HopeFully Ono will catch it here or we will raise it where it belongs.
Voytech wrote:The illustrations are what made it perfectly clear to me. Thanks. Keep going!
I haven't done a thing today but I'm maintaining the schedule, the tutorial will be complete by the next week. That's very encouraging from you, thanks !