Hi,
I have Been taking the sdk for a spin. The Exposure tonemap example compiles & works perfectly and I've been able to replace the tonemapping code in MExpTmo::onTonemap with other code that works in Picturenaut. Cool!
Question 1:I've been running into problems in getting a dll file of my own to work with picturenaut. I started out by modifying the MExpTmo project, class & filenames & project properties to generate a different dll file.
However, it simply doesn't show up in Picturenaut Tonemapper's list. To trace what's happening, I added a bunch of printfs that show the function names in the plugin-class functions & captured what it wrote to STDOUT by re-directing to a text file
Here's the output i got in the sequence of functions as my DLL file loaded up in Picturenaut-
Code:
in getPlugInName
Trying to initPlugin
in constructor of tmofactory
Looks ok- tmofactory built
In getTonemapFactoryHandle
In getTonemapClassName
In getTonemapClassName
So the dll seems to seems to run ok till it encoutners getTonemapClassName
Now - looking @ the example MExpTmo code - here's this function returns as the tonemap class name "pn::PNExpTMO". I couldn't find this function name referred to anywhere else in the code :-(
so what is the function & what should go in here in a customized tonemap dll? My guess is this is where i'm getting stuck.
Here's the full function -
Code:pn_pcchar
MExpTmoPlugIn::getTonemapClassName() const {
return pn_text("pn::PNExpTmo");
} // MExpTmoPlugIn::getPlugInName
Question 2: In the plugin code, I found a static global tonemapping plugin object called expTmoPlugIn getting created that doesn't seem to be referred to anywhere else in the code.
Could you tell me what role does this object play & could it be related in any way to not being able to load a different dll? Here's the code...
Code:
static MExpTmoPlugIn expTmoPlugIn;
Question 3:In the poster, it's mentioned that "unless specified" picturenaut serves imagebuffers in tiles to enable multithreaded operation. Is there a way to turn this off & get the full image at a go?
Potential addition to DocumentationWhile compiling my dll, i found that the MExpTmo by default has the exported functions at these ordinals while mine didn't for some reason.
Specifying it in the def file like this seemed to solve the problem of having the functions at the right ordinals.
Code:
getPlugInHandles @1
getPlugInClass @3
getPlugInVersion @2
Tonemap dialog feature request: It would be great to have a way for a tonemap plugin to specify default settings for things like "Automatic lum", "Automatic contrast" and "Gamma" that work best for the plugin. This would give a good "initial" picture to the user who could change it as he wants. I've seen this affect the "initial" picture from some of the existing plugins as well
Regards
Srinath