Soft Reflections shader [interface]
I'll be honest in saying that I'm very proud of this shader. It can produce some fantastic effects. Using a technique I call (because I don't know what the real term is - I never bought all those graphics textbooks) pseudo-sphere tracing (email me for an explanation), it allows you to have a great deal of control over the effect, and the quality. First, some images:

I've also provided some rather unusual features with this shader. Unlike LightWave's reflectivity, this shader will blend its reflection with the surface, instead of simply adding it on. Where LightWave's method tends to "blow out" reflections, this shader won't do that. Don't worry, the old style is always available as an option. There are also features to change the surface's reflectivity and transparency based on the brightness of the reflection. For example, the monitor below only reflects the bright window, and not the darker wall around it:


Shadow Blend [interface]
The purpose of this plug-in is to make compositing easier. Quite often, if you've got some CGI that has to appear within the LightWave scene, you'll use a front-projection mapped polygon to get shadows that match the image. However, you need to have luminosity way up to get the surface that's front-projection mapped to match the background. And if you want it to receive shadows, you need to have some level of diffuse. But, there just isn't a way to get a really good combination of the two, and you'll usually end up with some sort of "seam" in your image, where the edge of your front-projection mapped surface meets the background image. It looks kind of like this:



Lighter [interface]
This plug-in is very new. In fact, it's so new that I hadn't even conceived it by the time I was at SIGGRAPH! This plug-in is one of the most advanced lighting engines available for LightWave 3D, bar none. It allows selective inclusion and exclusion of lights, phase-shifting the light (which moves the terminator closer to or farther from the light), and changing the contrast of the surface's terminator. You can tell a surface to "transmit" light - that is, to have light that's on the other side of it illuminate the surface (like a sheet of paper). You can scale a light's effect on a surface, and you can define a custom specularity for the selected lights - intensity and color! Not only that, but you can define a custom ambient color for each surface! And it's fast - almost as fast as the default LightWave renderer, but a lot more flexible! Here's an absolutely hideous example. The plane below the cow is white - it looks green because there's a green light in the scene. However, the cow (which is also white) does not appear green because I excluded that light. It also has a custom specular color - there are no red lights in the scene :
To begin with, you're probably wondering why this particular shader is worth anything, when there are already other Fresnel shaders on the net for free (heck, there's one elsewhere on my own page!). The reason is that this shader has much greater flexibility than any of the free ones.
Before I tell you about that flexibility, let me explain what a Fresnel shader is, in case you don't know. (You can skip this paragraph if you do.) Essentially, the Fresnel effect is that the angle between a surface and the viewer can make the surface look different. Say, for example, you're looking at a glass building. The windows facing you may be partially transparent, and you may be able to see the offices inside. The windows on the side of the building, though, aren't transparent at all, and all you see is the reflected sky. The surfaces facing you are called "normalized". That means that the camera is pointing almost directly opposite the surface normal. Have you ever used transparent or opaque edges? The effect is extremely similar to that, except that it can be applied to the Diffuse, Luminosity, Specularity, Transparency, or Reflectivity of your surface.
The first features that gives this shader its flexibility are the set of contrast and bias controls. Other Fresnel shaders simply spread the two values you supply (glancing and normal) from 0 to 90 degrees. But, what if you want to have a sharper transition? The contrast control in this shader lets you have it. Additionally, you can move the effect on the surface. For example, if you turn up the contrast, you'll get a sharp transition at a certain point on the surface. What if you want that transition to happen when the surface is more edge-on? Why, change the bias control, of course!
The next way this plugin gives you flexibility is
in its blending options. Most Fresnel shaders simply replace the
surface values in whatever channel you pick, but this may not be quite
what you want. The RealiTools Fresnel shader can modify the surface
four ways. Refer to the images below for examples.
![]() |
![]() |
![]() |
![]() |
|
|
|
|
|
Finally, there's one more feature the Fresnel Shader has that you won't find anywhere else, and that's value limiting. As you're probably aware, LightWave will let you set the values of a surface well beyond 0-100%. Sometimes, though, this doesn't look quite right. Transparency, for example, will tend to...well...tweak (for lack of a better word) anything behind it if you go above 100%. Since you may not want this, the RealiTools Fresnel Shader allows you to "cap off" the values at 0% and 100%. The example below is a sphere that has the Fresnel Shader applied to its transparency value. To get a sharper transition, the contrast was increased. However, contrast formulas tend to send values way beyond what they probably should be. So, turn on limiting and you're set!

Just recently, I discovered another use of the Fresnel Shader, and that is to create pen-and-ink style drawings. Features like cel-look edges go a long way to making things look hand-drawn, but because the lines are always the same width, they don't always give you the effect you want. By applying the Fresnel Shader to the luminosity and turning up the contrast, you can create images that look much more like they were done by hand. If you leave the surface white, you'll get a plain ink effect. If you change the surface color, you'll get a "TV cartoon" look, with simple, solid colors. By adding specularity, you can even get a great "comic-book" effect! This will work in conjunction with the Super Cel Shader, but I've found that it generally doesn't look very good. Here's a sample image:
Video Lines / Video Noise [Lines interface] [Noise interface]
These are actually two separate plug-ins, but I've found they work very well together. The video lines lets you overlay horizontal or vertical lines on top of your image. I'm sure you've seen the way some display screens (mostly old televisions, not today's computer monitors) have lines that run the width of the image. I've seen quite a few requests for this effect on the LightWave mailing list, which kind of surprised me for such a simple effect. Up until now, the only way to do it was to overlay a hand-drawn image of those lines. Images like that tend to be annoying to create, and if you want to try a wider line, you've got to open up your image editing program again, and redo it.
Now, you can simply activate a plugin and there are your lines! You can choose from horizontal or vertical, as mentioned before. You can choose how wide the lines are. You have the option of inverting the lines, or even softening their edges! Finally, you can set how dark the lines are. You can even make the areas that don't have lines brighter! Here's an image with the effect applied:

Comic Shader [Shader interface] [Image Filter interface]
This was a plug-in (actually, there are three that make up the Comic Shader) that I originally developed for BlueSky. The goal was to make it possible to apply the same kind of shading to an image that you'd see if it were drawn by hand, by applying custom lines over the top of an image. The plug-in lets you mix lined and regular objects in a scene, lets you customize how sharply the lines fall off, where they fall on the surface, and even apply a custom ambient color! (Though, if you just need a custom ambient color and no lines, use the Lighter plug-in.) Not only can you apply this to LightWave objects, but recent additions I've made let you take any image and turn it into a "hand shaded" version of itself. Here's an example of what the Comic Shader does. This was originally a photo, but the effect is the same for rendered objects:

This plug-in lets you apply a brightness and contrast pass to your image at render time (instead of having to do a separate pass in Photoshop or Premiere or the like). Not only that, but the effect can be keyed to a nullObject, so it's totally animatable! So you could, say, render a fade-to-black straight out of LightWave or have your scene get "washed out" when a nuclear explosion happens!
There seems to be a lot of interest in this
plug-in. Its operation is actually very simple. Instead of
some strange camera motion trick, you just make a polygon big enough to
cover the screen, apply the plug-in, turn on "Unseen by rays", and render!
You'll get a full 360-degree view of your scene that'll work great in a
QTVR (or QTVR-like) program.
I should also clarify here about the LightWave plug-in
rendering system. The reason that plug-ins like QTVR Panorama, OrthoVU,
and FTSView (see below) are surface shaders is because it's the only place
available for a plug-in to bypass the LightWave renderer. The raytrace
function needed is only available there and in pixel filters. But,
pixel filters only get applied after the scene is rendered.
In these kinds of applications, we don't really care about the camera's
perspective on the scene. So, the only way to get first crack at
rendering is to put the plug-in on a surface that will get rendered before
anything else. I've suggested to Allen Hastings and Bob Hood a straight
"render" plug-in type, so maybe in the future it'll be possible that these
plug-ins can be just stand-alone and not require objects.
Ortho-VU is another surface shader plug-in that lets you render isometric views of your scene. It does this through a bit of a trick with the surface normal. To use it, you create a flat polygon and place it so that if it were extruded out into the scene, it would enclose whatever you need the isometric view of. I know it seems strange, but it's actually much easier than it sounds. When you render, you'll have a totally perspective-less image on that polygon! Note that this doesn't need to be completely covering the camera's viewport if you don't want it to. However, for uses like making textures for low-polygon models, you will probably want it to.
Front/Top/Side View [interface]
This plug-in lets you quickly render a view from the front, top, or side of your scene. You just choose an object to use as your viewport, and render away! It even has an advantage over the default LightWave viewports in that it takes into account the position of the object you're referencing. This means that if an object you want to look at would normally be obscured in the side view by another object, you can put your viewport object between the two objects and just see the object you're interested in!
Layout Distance Tools [Object Distance interface] [Light Distance interface] [Camera Distance interface]
There are three plug-ins in RealiTools that let you measure the distance between two objects, between a light and an object, or between an object and the camera! Perfect for setting Depth-of-Field, light falloff, etc...
Object Replacement [interface]
Finally, a useful object replacement plug-in! With this, you have a great deal of control over your object replacement. Before, you either had a fixed sequence, or you had to go and hack a text file whenever you wanted to change the object replacement order, speed, etc. Now, by parenting the effect to an object, you can easily control it without ever leaving LightWave!
Using the Vistapro script read plug-in, you can turn a Vistapro 4.0 camera motion into a LightWave motion file, enabling you to put your LightWave objects into Vistapro scenes much more easily. Also, by exporting the Vistapro landscape as a DXF, you can use ShadowBlend to make the effect totally seamless. The output plug-in was made before I found out that you can't import scripts into Vistapro 4.0. Oh well, maybe they'll add that in a patch...
Parent to Object [interface]
If you've got a bone that you need to parent to an object, this is a way to do it. It's no "Lock and Key", but it sure does the trick!
The one and only Modeler plug-in RealiTools has, this lets you connect a series of points with 2-point polygons. Gone are the days of selecting two points, pressing "p", deselecting them, selecting two more, etc. Now, with a single command, you can chain them all at once! Useful for lightning, hair, etc...