|
I'm releasing my C++ wrappers for the LWSDK. The current release has only some inline documentation. Better documentation will come soon. Plugin Classes Supported to date:
NOTE: You'll need the LightWave SDK to use this. Click here to download the thing. Why? Why did I do it? Well, just as an example, here's the entire listing for the RGB dots plug-in under my wrapper:
#include "LWClass/LWPShader.h"
class SillyTexture : public LWPShader
{
public:
ShaderStuff(SillyTexture, "SillyTexture");
SillyTexture() { name = "SillyTexture"; flags = LWSHF_COLOR; }
void evaluateSurface(Access * sa)
{
// create squiggly disturbance
double sc = 10.0;
sa->color[0] = cos(sa->oPos[0] * sc * 0.53733 - 136346.0)
+ cos(sa->oPos[1] * sc * 0.43467 - 134634.0)
+ cos(sa->oPos[2] * sc * 0.62567 - 753456.0);
sa->color[1] = cos(sa->oPos[0] * sc * 0.57255 - 125754.0)
+ cos(sa->oPos[1] * sc * 0.62356 - 1323464.0)
+ cos(sa->oPos[2] * sc * 0.42234 - 4632656.0);
sa->color[2] = cos(sa->oPos[0] * sc * 0.56436 - 124743.0)
+ cos(sa->oPos[1] * sc * 0.65471 - 846467.0)
+ cos(sa->oPos[2] * sc * 0.46775 - 475245.0);
sa->color.max(1.0);
sa->color.min(0.0);
}
} sillyTexture(0);
Stick that in a .cpp file, compile it, and you get this: ![]() Enjoy! |