TLHPro - WIP Thread


#121

:bounce: Hey - I’m very glad you like it :slight_smile:

So this will be the content of the TLHPro Tools. I think I have showed them all now.
If I don’t stumble upon some more interesting helper functions that is :slight_smile:
Some of the old tools in the free plugin will be also present (some of them in more compact and powerful form and all updated with the latest SDK) so you don’t need to install both (but you can if you want). This makes for 16 Tools in total:
[ul]
[li]TLHPro: BiasGain (old, updated, combines Bias and Gain in one node)
[/li][li]TLHPro: Channels (old)
[/li][li]TLHPro: Color (new, simply gives you an animateable color when you don’t need a full gradient)
[/li][li]TLHPro: Distance (measures Distances in several ways)
[/li][li]TLHPro: Doublesider (texture the front of polygons different than the backsides)
[/li][li]TLHPro: EasyGlass (makes the setup of simple glass objects extremely easy - no more doublesided objects needed)
[/li][li]TLHPro: EasyMath (allows you to stack up to 10 mathematical functions in a row so you don’t have to clutter your shaderflow with multiple of my older math nodes)
[/li][li]TLHPro: Merger (28 PS-like layer modes for your combining pleasure :wink: )
[/li][li]TLHPro: HSVtoRGB (old)
[/li][li]TLHPro: RayType (switch between different materials for camera, reflection, refraction, GI and custom rays)
[/li][li]TLHPro: RGBtoHSV (old)
[/li][li]TLHPro: ShowValues (a helper I use for development - shows the min, max and average of values and colors that go through it. It doesn’t do anything to the values)
[/li][li]TLHPro: SplineCurve (use the messiah graph editor as an superfine spline editor for textures)
[/li][li]TLHPro: SuperStep (old updated, Clamp, Step and Smoothstep in one node)
[/li][li]TLHPro: Thickness (measures Thickness in various ways)
[/li][li]TLHPro: Time (allows you to use time as part of the shaderflow - with multiple options for intervals etc.)
[/li][/ul]

Cheers :bowdown:


#122

Remember the image I told I was working on…hit a real snag in the image-bump-translucency department. Now I am in crash city and no way out. Real shame too…model is done and everything.


#123

I coded a new tool today and updated the list above: TLHPro:Time. :slight_smile:
While you can already animate values of shaders just fine over time and can even drive stuff with expressions, this latest node of mine allows you to go one step further:

You can set a Start and an End time (optional), Offset the time and Scale it.
Additionally, I created 10 different “Interval Functions” for easy setup of blinking stuff, or - since you can use the output on virtually everything - repeated scaling, rotating or other value changes.
And sure you can use the output with the u-input of a gradient and the new repeat-functions in 2.1 to go colorcycle crazy.
The Interval is setting the length of an On/Off cycle, while the Up-Down Ratio determines how long something is On in relation to Off. If you use Pulse for example, 0.5 means equal length of the two phases while 0.25 would mean that a quarter of the interval the pulse is off while 3 quarters it is on… You get the picture.
Since the other cycles are smooth, I called it Up-Down Ratio rather than On-Off Ratio :slight_smile:
If you are into synthesizers you will know that as pulse modulation…

But really cool is this node because you can drive it with the inputs: Change the Ratio with another node to get different cycles over a surface. A texture in the Interval input gives you different “blinking” speeds over the surface.

I made the following testmovie to maybe give you an idea:

TLHPro:Time Testmovie (Windows Media, 800Kb)

An AoN:Grid procedural with the Random Checks texture selected drives the on/off cycles of the white rectangles in a quasi random manner. Make it slower, and you can do the “skyscraper windows in the evening” effect, make it fast and visualize some hectic data flow. Use it together with custom made maps and make animated displays etc…

So much for today, I hope you like this latest addition :slight_smile:

Cheers! :bowdown:


#124

Thomas_Helzle,

My jaw just drops every time I see your new updates.
Very awesome!!!
If I had time to use the MS renderer more Id defiantly invest in your tools.

Kick@ss

:buttrock:


#125

Aw crap… Now I AM going to have to buy TLHPro! :wink:

This and the easyglass shader will be extremely useful. Good work Thomas!

Rich


#126

Hey guys - I am very happy that you like my ideas :bounce:

It seems that every tool I write spawns two new ideas in my head. I have to force myself into stopping now and start with the docs - but I sure will add some more cool stuff in later updates…

BTW. I still have problems with the wireframe. It seems that messiah does some internal optimizations that break bumpmapping when I use the internal UVs to calculate the wire-width and gradient. I fear I have to use my older and much slower code for now. But as soon as pmG can clear that problem I will do an update with the - hopefully - much faster solution.

I wish you all some nice christmas days and a cool start into 2005.
This should become a cool year for messiah users :thumbsup:

Best regards! :bowdown:


#127

Thomas,

Any chance you could stick in a blur filtering node? Something I could use to blur texture maps, particularly HDRI maps as well as procedural textures.

Cheers,


#128

For HDRIs use HDRshops Gaussian Blur. For other textures use Photoshop. Blur at rendertime is extremely inefficient, it has to be done for every surface point over and over again.

I have for instance multiple versions of all my HDRIs with different blur amounts…

For Procedurals: The only way to blur them is to subsample multiple points and interpolate between them - something like the reflection blurring technique. And this is very slow, can create noise and therefore is something I would avoid by all means.

What do you need the blur for?

A bit more explanation on this: The way almost all render engines work is rather stupid in some regards. One pixel is rendered after the other and each pixel has to work on its own, without knowing about it’s surrounding. Procedurals just get the coordinates of a point in space and have to deliver a value.
Blur on the other hand works by combining several pixels to reduce the contrasts. But the sample point in space knows nothing about whats going on to the left or right.
Look at bump mapping: To find out in which direction the surface is tilted, two additional points are sampled and the difference in brightness is made into a direction… this takes almost three times as long as without bump…
So everything that is a matter of splitseconds in Photoshop is superslow while rendering. This is why 2D and post stuff is used for so many things.

Cheers,


#129

Awesome stuff Thomas! I can’t wait to get my hands on TLH pro. :thumbsup:


#130

I just can’t help myself - while writing the docs for all the shaders is cool, writing new shaders is so much more fun :wink:
The newest addition is TLHPro: Occlusion. I’m still struggling with the undocumented SDK and some weird errors, but here is one first example that I found very interesting and promising:

This piece is using no antialiasing and a special directional mode of the occlusion detection that produces this kind of “pencil style”. The length of the occlusion rays is set rather high to get more area covered, but sure you can do classical small-feature occlusion detection too.

I am not sure if I can get it finished for the initial release of TLHPro, but if not, it will be a free update as soon as the SDK problems are solved…

What do you think?

Best regards :bowdown:


#131

And an antialiased version with a bit different settings:

Now the raylength is 1 meter so it covers almost all surfaces but the ceiling.
Like in the image above, this is Ambient Occlusion ONLY, no light, no GI etc. The shader is used to colorize a 100% luminous, 0% diffuse material.
11 rays are used per evaluation (this is a linear value, 11 means 11 rays while messiahs GI uses GI Samples squared if I understand it correctly, so a setting of 3 means actually 9 rays…)
Rendertime for 1024x768 with AA Enhanced, Level 2, Threshold 0.015, RG, 1.5 was 9.5 minutes.

:bowdown:


#132

Dude! Looks great!
That actually looks a lot like the Poser sketch shader, which is one of my favorites. If you could push the direction around (I believe they do this based on procedurals laid out on ‘force fields’ - contour / incidence angle based something-or-others)

At any rate: NPR here we come!

Contour shader anyone?


#133

Maybe use a null to drive direction?

At any rate, thats a great render!


#134

Looks kinda sketchy to me … hehe. Very nice natural media look about it, Thomas. As David said, maybe something to help change the line directions a tad. Splendid work as always. :slight_smile:


#135

heheheh - don’t you ever think about anything else but NPR David? :wink:

The angle comes from me feeding the random number generator with the screen pixel coordinates (x + y). You will be able to feed it with whatever values you want, but remember that this isn’t exactly an NPR module, but an Ambient Occlusion shader with some extended modes :slight_smile:

I am currently looking for the best, fastest and least grainy way of calculating AO. The lines are the result of one test I did, it seems that a static lookup with just some jitter gives the smoothest image - pure randomness is nothing but noise, even with lots of rays (100+).
The SDK doesn’t allow detailed access to the internal noise/jitter functions, so once more, I have to reinvent the wheel here.

I’ll keep you posted on the progress

Cheers!


#136

Looks nice :). Would be cool to see how the pattern ‘behaved’ during an animation of some kind.


#137

Sure… Hair!
I can’t say I like the anisotropic node right now. Which is why I’m doing dev for my film in LW. If only there were a friendly hair shader (hint, hint).


#138

hahaha :slight_smile:

I will not do anything hairlike for messiah in the forseeable future so don’t count on me. :wink:

Cheers!


#139

Since you’re only one person, that’s entirely understandable. But your shaders still rock :slight_smile:

You’ve basically become pmG’s version of Darf (one of the contributors to Cinema’s Smells Like
Almonds shader pack).

:smiley:


#140

I have lost connection to Cinema 4D long ago when I switched to Lightwave in 1999/2000.
But in fact my first plugins were written for version 5 of C4D where the C.O.F.F.E.E. scripting language was introduced.
I did the first object based cellshader and the first volumetric cloud and haze shader as well as an displacement plugin that created the impact of a droplet on a (water) surface. :slight_smile:

I got annoyed by the limited animation and modeling capabilities in C4D 5 though, version 6 development took forever (~2 years) and when it was delivered, it wasn’t even to my taste.
LW was much more sexy at that time and soon after buying LW, I started using the project:messiah plugin for LW to improve the character options.

Now it seems to be time to move on once more.
LW is okay but has fallen back and messiah is still developing very slowly, some parts of the app don’t seem to improve at all (Softbodies, Dynamics, Compose and lots of other little things…).
The messiah SDK has huge holes that can’t be filled from the outside and although pmG is basically willing to improve it, implementing new options takes a very long time.

This is why I plan to concentrate on XSI development after TLHPro is finished.

I don’t intend to abandon messiah though, just move the main focus to a more integrated and complete/mature app. My plan is to develop new stuff for XSI and then see what can be ported back to messiah. The internal structure of shaders for instance is very similar, so AoN:XSI is already in the works… :slight_smile:

Best regards!