THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/03/2009 at 18:13, xxxxxxxx wrote:
Cinema 4D Version: 10.1+11
Platform: Windows ; Mac OSX ;
Language(s) : C++ ;
in my generator object, in GetVirtualObjects() I retrieve the LOD value from the HierarchyHelp:
Real LOD = hh- >GetLOD();
That works fine... you would think.
But here's a problem:
I attach a display tag to my object and set the LOD to 10%. When I start an external rendering in the Picture Manager now, my object's GetVirtualObjects() is called two times! The first time, I get the LOD value from the tag (0.1) and the second time, I get the value 1.0.
The object then renders with full geometry detail, so it seems the 1.0 value is used for the rendering. Anyway, the first value also seems to be used. In another plugin object that I have, I create clones on the geometry. And those clones are distributed like on the low-detail geometry.
My cloning plugin is not the problem. When I delete it from the scene, my generator object's GetVirtualObjects() is still called twice. First time with low LOD, second time with full LOD.
When I go into the Render Settings and enable the option "Use Display Tag LOD", the object is only called once, and - of course - with the correct LOD of 0.1.
+ + +
So what is this it all about with calling the object's GetVirtualObjects() twice? How can I prevent that? It's totally annoying that the object renders with full detail, but all objects that refer to my object's geometry seem to get the low-detailled version.
This problem happens in R10.1, R10.5 and R11.
Thanks for any help!
On 30/03/2009 at 14:58, xxxxxxxx wrote:
Anybody? Noone has an idea why generator plugins are called twice with different LOD values for rendering?
On 31/03/2009 at 01:23, xxxxxxxx wrote:
You partly answered your question yourself. Only with the 'Use Display Tag LOD' enabled the Display tags's LOD is used for rendering. I don't know why GetVirtualObjects() is called twice either, but why do you care?
On 31/03/2009 at 04:08, xxxxxxxx wrote:
The problem is, as I wrote, when 'Use Display Tag LOD' is disabled, the object (a landscape generator) renders with full detail (good) but all other objects that refer to my object (e.g. if my object is linked in them using a link field) seem to refer to the low detail geometry (bad).
Maybe the problem is also my cloning object which creates clones on the landscape. I simply perform a CSTO on the linked geometry (in this case the landscape object), maybe this is not enough? When the landscape object has a Display tag with low LOD setting, CSTO always gives me the lowpoly geometry, even when 'Use Display Tag LOD' is disabled.
On 02/04/2009 at 03:47, xxxxxxxx wrote:
Is there no tip what to do in order to get the full detail result out of a Generator when rendering? There has to be something.
On 02/04/2009 at 04:31, xxxxxxxx wrote:
From what I understand so far the problem is this:
You have two generators, A und B. Generator B links to generator A. Generator A has a display tag. In generator's B GetVirtualObjects() you do a CSTO on the linked generator A. This will not give you the full detail because of the display tag, right? I suppose you do the CSTO on a copy of generator A. Why don't you just get rid of the display tag of generator's A copy?
On 03/04/2009 at 02:07, xxxxxxxx wrote:
Correct, Generator A and B.
Well, maybe the user just wants to use a display tag, because Generator A generates 1.000.000 Polygons with the settings the user made. A display tag makes sense to speed up editor display.
Always getting rid of the display tag on generator A's copy (I guess you mean creating a clone of it without tags) would mean that Generator B *always* gets the HighPoly geometry, even in the Editor. That would cause another performance loss, I guess.
Hm, you think it would be a good idea to check if an external rendering is currently in progress? And only if that is the case, remove the display tag from Generator A's clone? But then the render option "Use Display Tag LOD" wouldn't work any more.
For example, what does MoGraph do, when I have a landscape object with Display tag (LOD setting active) attached, and I use the MoGraph Cloner to put trees on the landscape? The Cloner won't possibly use the LowPoly geometry in external rendering, right? Does the cloner also create a clone of the landscape object and removes the display tag? Under which conditions does it remove the tag?