Forum: Poser - OFFICIAL


Subject: New Reality (lux render) Plugin over at Daz...time for Poser Plugin Update?

Ridley5 opened this issue on Jul 26, 2010 · 1724 posts


bagginsbill posted Wed, 25 August 2010 at 8:00 AM

Quote - i thought you guys are working together?

are you  3 now working seperate?

ice-boy, we are working together, and I'm using a lot of code that adp and odf wrote.

But we do not have a boss, and so we must make decisions by committee. I'm not used to that, and I have some peculiar demands in coding style. I can't stand typing a lot and I hate code that is less simple than it could be. Therefore, I decided to rewrite certain parts.

As a result, my exporter framework is much smaller and easier to follow than what adp wrote, and while his works, it doesn't work in a way that I find comfortable to modify.

Once adp and odf have a chance to look at what I've done, they can decide to use it, or keep going with some other approach. It's not a big deal either way.

But my setup already has the ability to pre-export data in preparation to use the GUI. adp's does not. This means that the exporters are "prepared", producing information (a lot of information) in bbml files which are passed to the GUI. This is necessary, for example, to allow you to browse all the materials and interactively override the shaders or shader parameters in the GUI. Then the GUI passes back all the choices (of which there are literally thousands). This information must then be given to the exporters to mediate what they do. I have all this implemented in very simple code. Writing an exporter no longer involves producing a class and writing multiple methods, each of which has to say self.parameters.get(...) a billion times. My exporters are "modules" not "classes". Further, the data of interest to the exporter module is already poked into its global name space, and already in real object format, not just strings. So an exporter wanting to know if xyzEnabled is true simply says:

if xyzEnabled

instead of

if self.globalParameters.get('xyzEnabled', 'false') != 'false'

There are other differences. Any one of these may be subtle, but when every single line of code ends up being 30 characters longer than it needs to be, I get irritated beyond belief.

This is no indictment against adp. Please don't misunderstand me. I have a unique style that requires that I write the smallest possible solution, and that I do not add anything unnecessary to a framework. So I felt I had to produce a new framework, or I'd go insane.

Believe me, once I have one of my frameworks set up the way I like, adding new things goes lightning fast.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)