Material Draw called too often???



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/03/2004 at 06:49, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.207 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    I have a problem with MaterialData.
    What I do:

    1. Go in material manager, create a new material ( in this case my own one )
    2. Create an object and attach the material to it. If you move the object in the editor, the Draw function of the material is called for every movement...ok so far
    3. Create a second object, attach the material to it ( not needs to be the same one, I even tried it with two materials ). After attaching it by mouse drop, dont do anything, keep the object selected, and try to move it within the view...then the Draw function is called for both objects, the one that you move, and the first one.
    4. Now click within the object manager, so that NONE of both objects is selected. Then select one of the objects and move it in the editor...et voila, the Draw function is only called for the object you are moving.
      Is there a reason for the different behaviour of 3) and 4)??? I do alot of stuff within the Draw function, the behaviour of 3),  its not too dramatic with only 2 objects, but it I try it with 50 objects, Draw is called for ALL the 50 objects, leading to a real sluggish performance. Again, if I delselect all objects, and reselect one object again, then the behaviour is ok, only directly after attaching the material its not ok.....


  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 06/04/2004 at 00:00, xxxxxxxx wrote:

    I can only confirm this with Software Shading, not OpenGL shading (using 8.503 btw). With OpenGL shading it's even worse, all draw functions are called all of the time, perhaps because I have a weak OpenGL card.
    Presumably this has to do with when C4D decides that it can use two layer redraw. Whether the behaviour is intended (for example because in the first case no previous buffer can be used, while in the second case the buffers needed are already there, for some reason) or it's a bug is hard to tell, but I suspect there's not much you can do.
    I'll post it as a bug; thanks for reporting!



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 06/04/2004 at 00:47, xxxxxxxx wrote:

    Yes, seems that the cache for redraw is built too late, thanks for reporting!



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 06/04/2004 at 02:15, xxxxxxxx wrote:

    Sorry, but this isn't a bug. When adding objects/materials etc. C4D sometimes puts more objects into the active plane than necessary. The reason is that it simply doesn't know which cross-dependencies (e.g. expressions) there are. When doing a clean "Deselect all" and selection afterwards only the right object is in the active plane.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 06/04/2004 at 02:26, xxxxxxxx wrote:

    No problem, just wondered if there is a reason for it. Maybe we can solve it within our project, we have a message plugin "watching" our objects, which handles some basic events we do not get within the objects. So if the user adds a texture tag to the objects, we can save the selection, deselect the objects, and reselect them afterwards....I will try to do so if I find some extra time, but extra time is a foreign word in our actual project plan ;)


Log in to reply