]> git.mxchange.org Git - simgear.git/commit
model paging patch from Till Busch
authortimoore <timoore>
Sat, 22 Mar 2008 09:30:26 +0000 (09:30 +0000)
committertimoore <timoore>
Sat, 22 Mar 2008 09:30:26 +0000 (09:30 +0000)
commit9dc1b5f6f56c6fecdcfefc2a0a75695a89f323a2
tree9194f34efe03bc9abf0e42b943f67d72de98e653
parent55c1ac36e3d05b436d0cb9b6aa8276badb86eaf3
model paging patch from Till Busch

Comments 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
18 files changed:
simgear/constants.h
simgear/scene/material/matmodel.cxx
simgear/scene/material/matmodel.hxx
simgear/scene/model/CheckSceneryVisitor.cxx [new file with mode: 0644]
simgear/scene/model/CheckSceneryVisitor.hxx [new file with mode: 0644]
simgear/scene/model/Makefile.am
simgear/scene/model/SGPagedLOD.cxx [new file with mode: 0644]
simgear/scene/model/SGPagedLOD.hxx [new file with mode: 0644]
simgear/scene/model/SGReaderWriterXML.cxx [new file with mode: 0644]
simgear/scene/model/SGReaderWriterXML.hxx [new file with mode: 0644]
simgear/scene/model/SGReaderWriterXMLOptions.hxx [new file with mode: 0644]
simgear/scene/model/model.cxx
simgear/scene/model/model.hxx
simgear/scene/model/modellib.cxx
simgear/scene/model/modellib.hxx
simgear/scene/tgdb/userdata.cxx
simgear/scene/tgdb/userdata.hxx
simgear/structure/subsystem_mgr.hxx