]> git.mxchange.org Git - flightgear.git/commit
model paging patch from Till Busch
authortimoore <timoore>
Sat, 22 Mar 2008 09:31:06 +0000 (09:31 +0000)
committertimoore <timoore>
Sat, 22 Mar 2008 09:31:06 +0000 (09:31 +0000)
commitfd492a297aee6d40c58f71b1889847b6668af3fd
tree38def1b27575d271a0af78423eaf6e8400718a2a
parent662ea715e813a73053299c83aeeb7f6c5b496772
model paging patch from Till Busch

From Till:
i started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.

currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there

2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.

3. simplify mode-loading functions (avoid passing around fg_root)

4. avoid supurious MatrixTransform nodes in loaded models

5. fix some memory leaks
39 files changed:
src/AIModel/AIBallistic.cxx
src/AIModel/AIBallistic.hxx
src/AIModel/AIBase.cxx
src/AIModel/AIBase.hxx
src/AIModel/AICarrier.cxx
src/AIModel/AICarrier.hxx
src/AIModel/AIManager.cxx
src/AIModel/AIManager.hxx
src/AIModel/AIModelData.cxx [new file with mode: 0644]
src/AIModel/AIModelData.hxx [new file with mode: 0644]
src/AIModel/AIMultiplayer.cxx
src/AIModel/Makefile.am
src/AIModel/submodel.cxx
src/AIModel/submodel.hxx
src/ATC/AIEntity.hxx
src/ATC/AIMgr.cxx
src/ATC/AIPlane.hxx
src/Instrumentation/wxradar.cxx
src/Main/fg_os_osgviewer.cxx
src/Main/globals.cxx
src/Main/globals.hxx
src/Main/main.cxx
src/Main/renderer.cxx
src/Main/viewmgr.hxx
src/Model/acmodel.cxx
src/Model/model_panel.cxx
src/Model/model_panel.hxx
src/Model/modelmgr.cxx
src/MultiPlayer/multiplaymgr.cxx
src/MultiPlayer/multiplaymgr.hxx
src/Network/multiplay.hxx
src/Scenery/SceneryPager.cxx
src/Scenery/SceneryPager.hxx
src/Scenery/scenery.cxx
src/Scenery/scenery.hxx
src/Scenery/tileentry.cxx
src/Scenery/tilemgr.cxx
src/Scripting/NasalSys.cxx
src/Scripting/NasalSys.hxx