Well, as usual, this is a quite busy time for me therefore it took a bit longer but here we go:
Download Dom's Interface PlugIns for 3DVIA Virtools
The Zip file currently includes builds for 3.5, 4.0 and 4.1. So what's new beside some bug-fixes?
HTMLView has 3 new commands that allows to put text into the clipboard of windows. With Patrick (aka Hightree) we had, some years ago, the idea to somehow unify shader codes for that sharing and mixing would be easier. Maybe some of you remember suggestions we also put on the forum about having some kind of shader-fragments library built into the editor or having tools that convert a standard material to a shader (like 3ds max is able to do). We also suggested node-based shader authoring like one can now experience in ShaderFx, MentalMill or the Unreal Engine. Unfortunately I wasn't able to focus on shaders and only from time to time I deal with them. I have a little lib of shaders from past projects but nothing is unified. Mixing, reusing is not effective. Patrick recently referred to an article how one could split up things in separate files. I wasn't aware that HLSL function get inlined, so this approach is indeed interesting!
Anyways, having HLSL fragments ready to use might help too and now HTMLView can be used for this task. You can setup a special HTML page that contain your HLSL fragments. By clicking links you either set the complete clipboard text or you add text to the one of the clipboard. So, not only you can have a place for a code skelett but also mix fragments within a few clicks.
I have no idea if this is really works well – as setting up the HTML page takes some time etc – but it's there, you can give it a try! The commands are
SetClipboardText, AddClipboardText, ClearClipboard
Unfortunately you have to use \t and \n for indicating tabs and newlines inside your fragments. There is also a new button which opens a file named "HTMLViewShaders.html" from the Virtools root directory. You can use that as your code fragment repository. There is already a file for demo purpose but this isn't how you should do it. That page mainly contain one-liners and I don't think this is how to do it. Better would be to mix code blocks instead of one-liners.
Additional information about how to setup commands can be found in the HTMLView.html page. Briefly, here is how a simple link command can look like:
dev://AddClipboardText#float4 MatDiffuse : DIFFUSE;\n
In case you are teaching or doing some kind of presentations, you can use these commands to have i.e. VSL code much quicker available for pasting. It takes less space on the page as the code is hidden behind a link and no longer needs to be displayed entirely or be in IFrames.
Yesterday I wrote a new little helper that I included in these builds, too. Fast Cam Switcher is actually doing something that was already possible via HTMLView and it's 'activateCam' commands. When I have to switch a lot between camera views, I really don't enjoy using that drop down list from the 3DLayout. With this new little floating dialog, you can assemble a little list of your favorite cameras quickly. By clicking on (and releasing) any of the names, the view is activated. This is much faster – it only saves a few clicks but I think it does matter. Each click matters! Hehehe …
I am trying to catch events like RESET in order to check for deleted objects, but I noticed that it doesn't work very well, yet. So please be careful if you use any dynamic objects in any of my tools. In some cases there is a refresh button that helps.