PDA

View Full Version : Developers - How are the new SDKs from LW8 to develope for?



Ade
04-23-2004, 02:36 AM
I wouldnt mind hearing from the developers on how theLW8 SDks have improved to write for lw8.
We know Worley had a good talk to Newtek which I thought was constructive, and NT is in the biz of hearing from the developers which is excellent.

Small developers are as important to hear from as they make things Newtek is too busy to worry about yet need.

i.e Rounder, Renderfarm controller, edge tools..list goes on

Lightwolf
04-23-2004, 02:52 AM
Well, I've had a quick look, and the new SDK has only a few new features.
On of them is the Ring which makes it much easier for plugins to communicate with each other and send messages.
Also new if the ability to create geometry on the fly, much the way SDS and metaballs currently work.
I'm still missing a bunch of stuff, and I'd like to see the SDK go much deeper than it does at the moment, the UI libraries need a good wokr over as well imho.
I assume that we'll get more enchancments once the dust has settled and the 8.x releases appear (which should also have more support for worley's stuff).
Cheers,
Mike

Ade
04-23-2004, 04:21 AM
Lightwolf im no programmer but I have noticed one thing I do not like as behavioural, is that scripts windows do not allow realtime adjustments in some instances.

One that comes to mind is L Windows.. It is a window generator but once the dialog box is up, U CANNOT see the outcome till u press "done"..That means u are creating blindly and cannot see the window as its being created nor able to move it around in the planes. I wonder if LW8 improved this?

Lightwolf
04-23-2004, 05:07 AM
Hi Ade,
I've actually not written that much in LScript. I find, since the documentation is still a bit iffy, that I'm faster writing the stuff in C/C++.
Realtime feedback is an issue though, and even if you code in C you have to call some functions to make sure the feedback works.
Generally the whole evaluation/dependecies system in LW could use a complete overhaul, let's see what the future brings.
I think the team just got to grips with 8.0, and we're likely to see a lot more in the 8.x'es.
Cheers,
Mike

zarti
04-23-2004, 07:42 AM
I am the author of that Lscript and I would be very happy if Real-RT-Constructing is possible right now in LW8. This option would make possible many other useful microtools in Modeler, from many
other modelers which can spend time for other tasks.

PS.: but .............................. for some time I can;t buy it. ($$$orry)

zarti
05-26-2004, 09:32 AM
New version of LW_indows.


http://vbulletin.newtek.com/showthread.php?s=&postid=181615#post181615

art
05-26-2004, 03:15 PM
Question for Lightwolf (Edit: or anyone else who can answer),

Since you seem to have a fair amount of knowlege about plugin writting maybe you'll be able to answer my question. Im still learning c++ plugin creation for LW (I abandoned lscript for similiar reasons as you, and mainly for the lack of decent real time manipulation)

Now, my question. Can I save any additional (custom so to speak) information within the lwo and later have access to it in a layout plugin? I did not go too deeply into file format (yet) so I am not sure if there is any place for custom data, comments etc.

if not, would you suggest any workarounds? or simply writting to a custom file would be the best solution?

I want to write a modeler/layout plugin, but the layout plugin operation must be based on data created in modeler (which might be different each time), that's why I need additional info stored somewhere. I don't need full solution, just hints as to how to approach the problem.

Lightwolf
05-27-2004, 04:20 AM
Hi art,
well, vertex maps might be a good place to start, although you can only store a limited type of information there.
I seem to remember though that Layout kicks out unknown vertex maps when saving objects (not 100% sure here).
I guess though that a file alongside the object will be the best choice.
Cheers,
Mike

art
05-27-2004, 07:11 AM
Thanks for the vertex map idea. I thought something along these lines but was'nt sure. I'll probably end up using external files though, as you said.

Thanks!

Adrian Lopez
05-27-2004, 01:35 PM
You could create a CustomObjHandler (http://www.newtek.com/products/lightwave/developer/75lwsdk/docs/classes/custobj.html) plugin for Layout and have it store its data inside the scene file using the handler's save() (http://www.newtek.com/products/lightwave/developer/75lwsdk/docs/handler.html) callback function. It's not quite the same as having it in the LWO, but at least its one way of associating information with a particular object.

Lightwolf
05-27-2004, 02:52 PM
Originally posted by Adrian Lopez
You could create a CustomObjHandler (http://www.newtek.com/products/lightwave/developer/75lwsdk/docs/classes/custobj.html) plugin for Layout and have it store its data inside the scene file using the handler's save() (http://www.newtek.com/products/lightwave/developer/75lwsdk/docs/handler.html) callback function.
Well, he could, but he wants to use the object specific data in layout as well as modeler....
Another option for layout would be to use tags, or the new comring and a central master class plugin to store the data, depending on the needs...
Cheers,
Mike

art
05-27-2004, 03:16 PM
Well, first I need to master writting a single plugin before I can use any of the new features like comring :)

At least I have now some new ideas. Thanks again guys

Chong
05-27-2004, 09:19 PM
Hi all,

I m a LW plugin programmer ( the c++ sort... )... anybody have any idea what's with the LW8 SDK?

I thought I can find/use the LW8 SDK Docs through following this link in the help folder: SDKDocs.htm

But NOOOOO.... obviously it's a dead link! ( now I gotta put this into the complain email to Newtek, they gave a broken 3rd Party CD... )

So what gives? Are still to develope on the 7.5 version or what?

Anybody any ideas?

Thanks!
Chong

kmacphail
05-27-2004, 11:29 PM
Hey Chong,

The link works for me, but if memory serves me right the SDK is not part of the default install, but you can add it using the custom install (someone correct me if I'm wrong here).

Cheers

Kevin

WizCraker
05-28-2004, 01:49 AM
I noticed the documentation for the SDK is the from the old SDK with 7.5. I was hoping for some new docs that is one thing I hate the most is poorly written help files for SDKs.

rebelr6
05-28-2004, 08:32 AM
One slightly annoying change in the SDK is that in every include file, include references like this one

#include <lwserver.h>

have changed to this

#include <lwsdk/lwserver.h>

It would be OK if the SDK was actually installed to a directory called "lwsdk", but it's installed to "SDK", which means plugins don't compile properly without renaming this directory to "lwsdk" and adjusting the include path in Visual C++.

TyVole
05-28-2004, 09:07 AM
rebelr6,

I'm glad I'm not the only one who spotted this. Thought I might've done something stupid.

Fortunately, it's not wrong in every single header file -- just most of them. Perhaps someone could post the corrected headers and save everyone ten minutes of file editing. I would post mine if NewTek says it's okay.

rebelr6
05-28-2004, 09:16 AM
Originally posted by TyVole
rebelr6,

I'm glad I'm not the only one who spotted this. Thought I might've done something stupid.

Fortunately, it's not wrong in every single header file -- just most of them. Perhaps someone could post the corrected headers and save everyone ten minutes of file editing. I would post mine if NewTek says it's okay.

TyVole,

What I did was make a new directory inside the "include" directory called "lwsdk", and copy all the headers inside that. Then change the include path in the compiler to "WhereverLightwayIs/SDK/include"

It works fine now, and the key thing is, it doesn't require you to change any of the header files yourself, it should just work from then on. You'll have to change the includes in your own projects from

#include <lwgeneric.h> this style
#include <lwsdk/lwgeneric.h> to this style though, but that's hopefully not a lot of typing!
;)

TyVole
05-28-2004, 12:57 PM
Perhaps I'm wrong, but it seemed some of the includes didn't refer to the lwsdk subdirectory. That's why I edited the headers.

Lynx3d
05-30-2004, 11:15 AM
Has anyone already played with the custom polygon handlers?
Just tried the "spikeyplus" SDK sample.

I'm pretty amazed about the concept, but after a bit of playing with it i saw why no such plugin hasn't made it into LW8 yet...
Seems a bit buggy, and i couldn't find a way to convert them back to regular polygons or patches, or something like freezing them.

And the weirdest bug, Modeler crashes frequently when the plugin is active and you open the "edit plugins" window and try to move it :confused:
Don't ask me how that is related...but it happened 3 times!

Karmacop
05-31-2004, 08:14 AM
I saw the spikey plus thing, but have no way to compile it. Any chance you could upload it or something? Thanks.

Lynx3d
05-31-2004, 08:41 AM
See attachment...
I just realize that i linked it with the LW7.5 libserver.a :o

But the source files haven't changed in size, so i guess Newtek didn't touch them.

What's funny about the custom spikey polygons ist that they still behave like before and when you for example smoothift some the new faces have spikes too...

Karmacop
05-31-2004, 01:02 PM
Cool, thanks very much!

It's cool but it's dodgy .. I can't seem to bevel after I've made polys cpikey etc. I hope someone makes some cool plugins with this type of thing.