Forum

Author Topic: Difference between StandAlone Delighter and "Remove Lighting" from MetaShape?  (Read 15611 times)

JohnyJoe

  • Jr. Member
  • **
  • Posts: 62
    • View Profile

Hello
I would like to know whats the difference between the standalone (free) aplication "Agisoft Delighter" and the "in-built" tool/feature named "Remove Lighting" in Agisoft Metashape...?
Both "tools" seem quite different (in agisoft delighter you have to directly pain in the model), in agisoft metashape "Remove Lighting" feature you dont have to paint on the model (or to be precise- you CANNOT even if you wanted)).

So... What are the differences? Why have two "different tools", why not include delighter "painting" directly in agisoft metashape please?

Thank you

JohnyJoe

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
For example, i read the tutorial for delighter that is here:

https://www.agisoft.com/index.php?id=71

But when i downloaded and run Delighter it seems that the tutorial is made for some "older" version, since the one i downloaded (1.6.4) seems to have additional feature for removing lighting.

While the version in tutorial has "Parameters" under its control "Tab" window. The version i downloaded seems to have two separate "features" under its control tab (right side), and not just one as the tutorial describes. These are "Remove Cast Shadows" (which is quite self explanatory) and "Remove Shading" (with AO "tickable" option). My questions are:

1) What is this new feature "Remove Shading"?
2) The version of Delighter in the tutorial didnt yet have this feature? (or did you take the original process and splitted it into two separate functions?)
3) This "RemoveShading" feature doesnt requite you to draw on the model, right?

simiyutin

  • Newbie
  • *
  • Posts: 13
    • View Profile
> 1) What is this new feature "Remove Shading"?

"Remove Shading" feature is basically the same as "Remove Lighting" from Metashape with minor tweaks. It removes shadows using local orientation of the surface (consider a lit cube with each face having different brightness corresponding to face normal and direction to light source).
Cast shadows are often not supported by surface normal (e.g. flat ground with cast shadow from object not represented in mesh at all) therefore they become invisible to "Remove Shading".

"Remove Cast Shadows" ignores geometry and leverages user input to classify texture points as lit and shadowed based on texture color.

Usually if there are hard cast shadows on model texture it is reasonable to run "Remove Cast Shadows" first and optionally "Remove Shading" later to make brightness more uniform. If only shading and AO are present it's better to use "Remove Shading" instead.


> 3) This "RemoveShading" feature doesnt requite you to draw on the model, right?

Drawing is not required but you can specify mask using cyan color brush. For example, considering a typical "rock on ground" scene, using mask to separate ground from the rock will prevent color leaks between them.



> 2) The version of Delighter in the tutorial didnt yet have this feature? (or did you take the original process and splitted it into two separate functions?)

Yes, the tutorial is a bit outdated and doesn't cover new functionality.

JohnyJoe

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
thank you for reply

Is there any reason why full functionality of Deligter (including removing cast shadows and painting on geometry) is not defaultly present right in Metashape itself too?

Also, even though you say remove shading from Delighter is something like the remove lighting feature directly in Metashape; Remove Lighting in metashape offers you an option to use AO map (that you have to bake in other application like Xnormals for example)... "Remove Shading" in Delighter doesnt have the option to choose an ambient occlusion map. But i noticed somewhere in the info/console displayed information that during processing it says something like "calculating" Ambient Occlusion... So... do i understand it correctly that Delighter actually computes its own AO map on the fly and uses it for deligting...? Thus its "easier" to use then Remove lighting in Metashape since there you have to use and external aplication (Xnormals) to bake the AO map? When in comparison Delighter computes the AO map "in-house", internally?



Thank you
« Last Edit: August 28, 2020, 01:07:02 PM by JohnyJoe »

simiyutin

  • Newbie
  • *
  • Posts: 13
    • View Profile
> Is there any reason why full functionality of Deligter (including removing cast shadows and painting on geometry) is not defaultly present right in Metashape itself too

Separate app is simpler to deliver as a free tool. Plus, brush functionality needs some specific user interface so it is easier and cleaner to be implemented in a separate window

> do i understand it correctly that Delighter actually computes its own AO map on the fly and uses it for deligting...?

Yes, De-Lighter uses in-house AO baking algorithm introduced in Metashape 1.6

JohnyJoe

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Thanks

Two additional questions :-):

1)Is the removl of lighting only single threaded? Regarding the CPU, it uses only one core (and not all available cores)?
2) Is there a way to export the AO map the program automatically generates ("in the background") while delighting?

simiyutin

  • Newbie
  • *
  • Posts: 13
    • View Profile
1) Most parts of algorithm are parallelized. Some intermediate computations left single threaded but should take only fraction of total processing time. If this is not the case you could share sample dataset if it's alright
2) Delighter currently does not offer such functionality, however it uses the same AO baking algorithm as Metashape and AO maps export is available from there