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! |