MojoWorld Plugins

The most significant improvement in MojoWorld 1.2 is the modular structure. This not only means that third party plugins can exist, but it also means that we don't have to wait for a whole new build to get bug fixes. I have some .dll files listed below which are in both categories - some are plugins which add new functionality and others are bug fixes in existing .dll files. These are only suitable for use with MojoWorld 1.2! Always save a copy of the old .dll file to another folder for those .dll's which replace existing ones, just in case!

To install, simply uncompress the file and put the resulting .dll file into the Plugins folder found in the same folder with your MojoWorld 1.2 executable.

ONE EXCEPTION: the mojo.dll file must go in the same folder with the MojoWorld 1.2 executable.

If you know C++ programming and are interested in creating your own MojoWorld plugins, the first thing you'll need to do is get the SDK. Hey, if I can do it, it can't be _that_ hard! If you only know a little bit of programming and just want to get an idea of what's involved in writing MojoWorld plugins, I have copies of the documentation available for your perusal:

 
DLL File Name
Last Updated
Description Download
mojo.dll
18 June 2002
This replaces the existing mojo.dll in order to fix three bugs. These bugs are:
  • Basis Function Cloning - all basis functions with parameters (save for Voronoi, which got fixed first) don't remember their parameters when cloned.
  • Curve Flipping - curves where two control points share the same the X value will be flipped incorrectly. Too many successive flips of such a curve can cause MojoWorld to crash.
  • NEW - the mojo.dll updated 18 June also fixes a bug where planet files containing complex graphs took a really long time to load and/or cloning objects that had complex graphs as part of their materials also took a very long time to complete.
NOTE! This file needs to be placed in the same folder with the MojoWorld 1.2 executable. All other plugins listed below will go into the Plugins folder!
Mac   Win
primitives.dll
20 May 2002
This replaces the existing primitives.dll in order to fix the "Saving Imported Objects to Libraries" bug. When imported objects are saved to library files (.mjl), their materials are not saved correctly, so when the library item is loaded into a new planet file, it has no material on it. Mac   Win
Calyxa's Plugins
MoNormal.dll
20 May 2002
The MoNormal plugin adds four new nodes to the Pro UI in the "Calyxa's Nodes" category. These nodes are:
  • Surface Normal - returns the value of the surface normal vector at the current world position.
  • Ray Direction - returns the direction of the vector between the camera eye point and the current world position.
  • Sun Direction - returns the direction of the vector from where the sunlight comes at the current world position.
  • Dot Product - calculates the dot product of two vectors.
This sample world file shows Doc Mojo's use of some of these new nodes.
Mac   Win
calydiffblend.dll
21 May 2002
A Pro-UI only node which provides a "difference" blend mode for colors. See the sample world file for an example. The function graph to look at is on the diffuse color of the material applied to the planet. Mac   Win
UndisplacedSlope.dll
01 June 2002
A coordinate space for non-heightfield textures that returns the slope of the planet before it has been displaced by any displacment materials. Mac   Win
UndisplacedSurfPos.dll
04 June 2002
Undisplaced Slope was so popular, I've added an Undisplaced Surface Position! If you think you know what it is, you'll want to get it! Mac   Win
objectdistance.dll
09 June 2002
This is really just a work-around for a bug. If the bug weren't there, this wouldn't really be needed, though it does simplify the graph by one node. It's a conglomeration of the Distance and Marker Position nodes. In the sample world file, I'm using it to create a gradient light. Check out the function graph attached to the color of the point light. Mac   Win
Krummen Hacker's Plugins
zfractals.dll
04 June 2002
Krummen Hacker's zfractals plugin creates the complex plane fractals of the Mandelbrot set, the Julia set and the Quartet set. The plugin adds a single node to the Pro UI in the "Hacker's Nodes" category. The "Complex Plane Fractal" will also show up in the fractals menu on any texture kickstand.

This sample world file shows the use of the plugin on a cloud layer (and on the terrain).

UPDATED: KH fixed the "doesn't show up in the distortion menu" problem, so now his Complex Plane Fractal can be used as domain distortion, yay! If you d/l this before 31 May 2002, you'll want to get it again.

UPDATED: KH added a work-around for the "choosing a plugin as displacement and then choosing a builtin as a displacement crashes MW" problem, so now his Complex Plane Fractal can be chosen as a distortion without MW crashing if you change your mind and pick something else, yay! If you d/l this before 04 June 2002, you'll want to get it again...

Mac   Win
quantum.dll
09 June 2002
KH's Quantum plugin is a custom special for Challenge #30 at the 3D Commune. This challenge world is for the week of June 9th through June 15th. I've got these here just in case there's a problem with the archive KH posts in the Free Stuff. KH's archive contains the Challenge #30 planet file and both the Mac and Win versions of the Quantum plugin. I also have the Challenge #30 sample world file for download, now that it's officially past the time when the challenge planet has been released! Mac   Win
BreakingWaves.dll
16 June 2002
To take a break from his big project, KH whipped up these lovely breaking waves! It's not completely obvious how to set this all up, even with the sample world, so KH also wrote a very helpful on-line tutorial to explain how to use his breaking waves plugin. Mac   Win
WaterDepth.dll
24 June 2002
This is a Pro-UI-only node which simplifies things when using the Breaking Waves plugin in conjunction with the Rivers plugin. This very brief tutorial shows how to use the Water Depth plugin. Mac   Win
Others' Plugins
antonio.dll
31 May 2002
Antonio, better known to the 3D Commune as "portuga", is the "slave student" of Manuel Gamito, a collegue of Doc Mojo's who is working on procedural breaking waves! Manuel had Antonio check out the SDK for us and Antonio wrote a set of three plugins similar to KH's Complex Plane Fractal. In this set, you'll find a Mandelbrot fractal, Julia fractal and Sinc function, all of which show up as nodes in the Pro UI in the "Antonio's fractals" category, as well as showing up on the fractal and distortion menus on any texture leaf kickstand. Mac   Win
[Home] -- [Vox Logs] -- [Plugins] -- [FAQ]