Successive Calls to MeshDrawer.set_budget Create Dead GeomNodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Panda3D |
Fix Released
|
Undecided
|
rdb |
Bug Description
At least on Windows 7 using Panda3D versions from 1.9.1 to 1.9.3, each call to set_budget() of MeshDrawer causes it to abandon its original GeomNode and create a new one without removing the original from the drawer's NodePath. This means resetting the budget higher or lower as needed will quietly create dead GeomNodes that build up until explicitly removed.
Forum Topic: http://
Example Code:
from direct.
from panda3d.core import MeshDrawer, NodePath
class Test(ShowBase):
def __init__(self):
self.drawer = MeshDrawer()
self.time = 0
def update_task(self, task):
self.time += globalClock.
# Test that setting budget does not increase number of geomnodes.
# At least on Windows 7 it adds a new GeomNode with each call,
# without deleting the old one.
print '# of geoms- ', self.drawer_
return task.cont
test = Test()
test.run()
Changed in panda3d: | |
milestone: | none → 1.9.4 |
status: | Fix Committed → Fix Released |
Thank you. This is now fixed; set_budget() reuses the existing GeomNode.