Jump to content

Toon Ink Shader Possible?


Recommended Posts

I'm in heavy need for toon ink shader, just like xsi's toon ink or vray toon or max ink'n paint or at last good not flickering wren. Nothing fancy.

Is it possible to create such thing using vex? I don't know but probably not since vex operates on points only?

How one could start with planning such shader?

I never wrote anything apart from vb or jscripts for xsi, but I need a simple toon ink for work, so I'd like to know if it is possible to write one not being a C++ guru and if yes, where to begin.

Perhaps this kind of shader is already present somwhere.

Wren is nice but have NO options and flickers.

Thanks

Link to comment
Share on other sites

Do a search - I think there are quite a few resources both on odforce and out there in the wild. I suppose this would make a good wiki page.. hmm - anyone?

Also, don't forget that you can use SOPs to do some interesting things. Check out HK Toon for ideas.

http://odforce.net/codex/index.php?sec=rendering

23806[/snapback]

HK toon is great, I looked it through and back. Clear and simple idea, shader side has many advantages though.

I did some research and found your Escher style renderings :) amongst other, but nothing really of what I searched, I'll go on but thought somebody has some experience in this so trivial subject.

Link to comment
Share on other sites

If you look in the Advanced Renderman book you'll find plenty of info on this. Basically you render various passes like normals and constant shaders of different colors for each object then do a trace in cops. Add to this something like the two tone shader (there a vop for it) and comp the results together.

That's the basics.

You can also do things like clamping an edgefalloff function. I think there is a vop for edgefalloff, using this method you don't get consistent line widths but sometimes that is nicer as it looks more stroke like.

After that it's all about how you set up your geometry so that you create edges where you want them.

Easy enough. I know what you mean about Wren it's terrible.

Link to comment
Share on other sites

I know about walkarounds but I want a shader, for fast result.

In Advanced renderman there is an example of edge drawing based on color difference.

Perahps it'd be possible in vops to turn normal colours to edges?

Maybe after some color correction we'd have internal lines also.

"If contrast differnce exceeds some value draw a point"

Argh... too many of things to try :angry:

Link to comment
Share on other sites

Thank you very much, Simon this shader is very close but fails on hardedged geometry which is my main concern.

I need something like wren but with more options, or exactly like xsi or vray toon or many others.

Even simple: draw a line whenever angle between primitives exceeds certain value (or primitives intersect), alter it's width based on distance from camera. Add a silhouette and a few more options.

It doesn't look easy. perhaps I should make it in post but thats not very clean and introduces further problems.

Link to comment
Share on other sites

<snip> I'll go on but thought somebody has some experience in this so trivial subject.

23829[/snapback]

Everything is trivial when someone does it for you :)

Simplest solution (that doesn't involve some coding): Create the outlines in one of the other packages that have what you want, then comp it in with whatever you generate in Houdini.

Link to comment
Share on other sites

Everything is trivial when someone does it for you :)

True, but with houdini it's a bit different. How could I know to put "id ID vector" (as in Simons example) to deep raster params when it's not even included in the drop down menu.

There are many attributes not mentioned anywhere apart from occasionaly.

There are lot's of well hidden gotchas in this software.

Thanks

Link to comment
Share on other sites

How could I know to put "id ID vector" (as in Simons example) to deep raster params when it's not even included in the drop down menu.

23982[/snapback]

The helpcard in the Mantra ROP says:

Variable name: The name of the global VEX variable (or export parameter) to use as the value of the plane.

It's "id" because that's the name of the parameter that he gave to his shader.

For the next parameter, the helpcard says:

File/plane name: The name of the plane to create. For file formats capable of storing deep rasters (Houdini .pic), this is the name of the plane. For "flat" file formats, this is the name of the image file to save the plane data into.

It's "ID" because that's the the arbitrary plane name that then gets output to COPs.

The next parameter the helpcard says:

Variable type: The data type of the VEX variable.

It's "vector" because that's the type Simon put for his variable.

Hope this helps.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...