Commit Graph
100 Commits
Author SHA1 Message Date
Mathias Froehlich b322864ef4 Fix detection of airports in the stg loader. 2014-03-16 16:08:31 +01:00
Mathias Froehlich d90abdcb44 scenery: Make static scenery static. 2013-02-25 06:55:35 +01:00
Mathias Froehlich 4a31045fd9 spt: Make the range multiplier configurable. 2013-02-25 06:42:55 +01:00
Mathias Froehlich 249155987d spt: Normalize the bucket box meta filename lengths. 2013-02-25 06:42:55 +01:00
Mathias Froehlich 2ae7fc244b spt: Expose the paging levels to osg options.
The levels at which page nodes are built is exposed by an
osg database pager option SimGear::SPT_PAGE_LEVELS which could
contain a blank separated list of levels where paging occurs.
Also the database pagers paths are searched for static lower
level of detail tiles in case they are available.
2013-02-25 06:42:55 +01:00
Mathias Froehlich fafa70c6bc spt: Use vbos for geometry. 2013-02-25 06:42:40 +01:00
Mathias Froehlich 49162a7a64 stg: Defer loading models into a paged lod node.
This defers loading the models into a paged lod node
that is evaluated at a later point in time. That should
help for memory problems with higher visibilities.
2013-02-25 06:42:40 +01:00
Mathias Froehlich 4db05e97c5 spt: The bucket size case is already handled above. 2013-01-29 07:01:58 +01:00
Mathias Froehlich 3a668232c8 spt: Introduce a third layer of paged nodes. 2013-01-29 07:01:50 +01:00
Mathias Froehlich 2d72bf4308 spt: Put the sea level textured tiles also under a transform node. 2013-01-20 15:33:25 +01:00
Mathias Froehlich f4e694afa7 spt: Consistently return references in the loader. 2013-01-20 15:33:25 +01:00
Mathias Froehlich 55610bae70 spt: Use SGBox to build up the bounding spheres for the tiles. 2013-01-20 15:33:25 +01:00
Mathias Froehlich 08351e0df2 bucket: Make no bucket cross the 0 and 180 deg longitude border.
Change the bucket tiling at the poles not to cross the
0deg longitude and not to cross the 180deg longitude line.
This lets some special cases disappear for the buckets as well
as for the hierarchical level of detail spt loader.
Also change the last degree tiles from spanning 360 degrees to
12 degrees. Before we had 8 nested rings which neither helps
scenery paging nor culling. With that change the chunks are
about the same order of size than any other tile. Also the
tile shapes are much more friendly for culling and paging.
Also in presence of the current scenery, this polar tiles contain
as of today just totally broken geometry which tells me that
also the scenery generation process did not like these rings
for the tile shapes.

The impact on the current scenery is low. With this change the
polar regions do no longer load the tiles that are available
in the current scenery builds. The last degree tiles are broken
in this scenery version anyway. The next degree that is changed
will really loose some tiles that were sensible as of today.
All these areas are replaced with sea tiles by the old paging
structure. So, you will have at least ground below you when you
fly there. A hopefully comming soon scenery rebuild will
use this new tiling structure and thus will be the first one
providing closed polar caps.
2013-01-20 15:33:25 +01:00
Mathias Froehlich 541606e00d hla: Lower the log level of two alerts.
Trying to interpret the object template in a yet
unimplemented format is not worth an alert.
2012-12-22 10:12:45 +01:00
Mathias Froehlich 1e6ba0cdc4 hla: Add SGQuat data elements. 2012-12-02 17:30:08 +01:00
Mathias Froehlich 75db4c29b8 hla: Add integer valued vector types. 2012-12-02 17:30:08 +01:00
Mathias Froehlich 914d3e6a2b math: Add integer valued vector types. 2012-12-02 17:30:08 +01:00
Mathias Froehlich ff678a5ad7 hla: Remove obsolete typedefs. 2012-12-02 17:30:08 +01:00
Mathias Froehlich be73c0fe43 hla: Use a different extrapolation method for HLALocation. 2012-12-01 08:02:30 +01:00
Mathias Froehlich e5afc6f029 SharedPtr: Avoid double dereference when calling clear(). 2012-12-01 08:02:29 +01:00
Mathias Froehlich 1a68d34663 hla: For setting data types recurse into array data elements. 2012-11-25 22:27:14 +01:00
Mathias Froehlich 72a0ff706d hla: Use an implementation file for SGLocation. 2012-11-25 22:27:04 +01:00
Mathias Froehlich 420e43d47d sphere: Implement sphere inside sphere. 2012-11-24 09:55:34 +01:00
Mathias Froehlich 3c749d4774 hla: Route failures in message processing into the HLA layer. 2012-11-24 09:55:26 +01:00
Mathias Froehlich d4310a7f3b hla: Make use of SGLocation. 2012-11-24 09:55:16 +01:00
Mathias Froehlich f892d88c10 math: Implement SGLocation.
New simple class to encapsulate a cartesian position
and orientation pair with few handy methods.
2012-11-24 09:54:57 +01:00
Mathias Froehlich 9fd90e26f7 hla: Remove HLADataElement::Path based attribute handling. 2012-11-11 20:39:59 +01:00
Mathias Froehlich 201cb61f84 hla: Use HLADataElementIndices for HLAInteractionClass. 2012-11-11 17:09:31 +01:00
Mathias Froehlich 71141e830a hla: Use HLADataElementIndices for HLALocation. 2012-11-11 14:27:35 +01:00
Mathias Froehlich 7dc8bf3aa4 hla: Fixes for the data element index implementation. 2012-11-11 14:27:34 +01:00
Mathias Froehlich 6d045a9403 hla: Introduce HLADataElementIndex. 2012-11-08 22:51:02 +01:00
Mathias Froehlich 8c57a77d7e hla: catch exceptions in processMessages() 2012-11-08 22:50:52 +01:00
Mathias Froehlich 1f585d6719 hla: Use raw pointers for HLAFederate::_insert methods. 2012-11-08 22:50:39 +01:00
Mathias Froehlich 6c111f55aa hla: Warn about creating an object class or interactions classes twice. 2012-11-08 22:50:26 +01:00
Mathias Froehlich b01693f426 Remove osg header from non simgearscene file. 2012-11-08 22:50:10 +01:00
Mathias Froehlich a7f64cf7aa scenery: put stg loaded models under a common lod node. 2012-11-01 07:19:38 +01:00
Mathias Froehlich 2fb8999ac2 scenery: remove default zero reader writer options argument. 2012-10-03 22:04:47 +02:00
Mathias Froehlich 9c9bfc1a98 scenery: Make sure makeEffects has reader writer options. 2012-10-03 21:59:09 +02:00
Mathias Froehlich 7bcf02a0b4 Handle isnan at a more central place.
Do not distribute architecture specific
code across a lot of places.
2012-09-27 18:44:14 +02:00
Mathias Froehlich fcd1733787 Fix line segment plane intersect. 2012-09-27 18:21:13 +02:00
Mathias Froehlich c04ec5953f bvh: Build bigger leaf nodes for paged bvh nodes.
Flatten the leaf nodes in the paged bounding volume tree
as good as possible. The implementation still assumes a
whole world database which actually holds for our usual
scenery.
2012-09-27 18:21:13 +02:00
Mathias Froehlich 63aa16b97c scene: Factor out a common primitive functor.
This kind of work is done two times for different
flavours of bounding volume generation. Factor
out and use this in BVHPageNodeOSG.cxx and
BoundingVolumeBuildVisitor.hxx.
2012-09-27 18:21:13 +02:00
Mathias Froehlich cafbf860be bvh: Make BVHPageNode::_Request fields private. 2012-09-27 18:21:13 +02:00
Mathias Froehlich 052382af89 cmake: Make rti/hla compile again. 2012-09-16 21:13:56 +02:00
Mathias Froehlich 18f7102461 stg: Fix typo. 2012-09-16 18:43:05 +02:00
Mathias Froehlich efddcb18a3 bvh: Fix headless build. 2012-08-27 18:00:01 +02:00
Mathias Froehlich 54ff2bec90 scene: Allow ground based elevations in stg files.
PLEASE do not use this feature for many objects over
fine tesselated ground. But for convenience make this work.
2012-08-26 15:08:55 +02:00
Mathias Froehlich 287ed83de7 btg: Lights are much better visible. 2012-08-26 15:08:48 +02:00
Mathias Froehlich dd13924a67 bvh: add missing include. 2012-08-26 15:08:42 +02:00
Mathias Froehlich a050a3b80f scenery: OptionsReadFileCallback for use with reader writer options.
The new callback has a default implementation of the callback
methods that do call back into the registrys callback before
calling the registrys implementation directly.
This is meant to be used together with ReaderWriterOptions that
still want to call back into the normal callback chain of the
registry.
2012-08-26 15:08:33 +02:00
Mathias Froehlich f1201eaebc scene: Reorganize stg loading.
This is in preparation loading the non btg objects
in a seperate page node. Reorganize this code again.
2012-08-26 15:08:20 +02:00
Mathias Froehlich 68dd50ecbc stg: Add flag to load only specific parts of the stg files.
The flags are meant to be used for fgelev and for an ai
module that will probably only need ground elevation queries
in those reagions where the aircraft simulated there will roll
that is on airports.
2012-08-25 08:47:09 +02:00
Mathias Froehlich 2129cf5aa6 bvh: Implement paging for osg derived bvh trees. 2012-08-24 21:25:26 +02:00
Mathias Froehlich cf1bdcef46 bvh: Add an abstract pager implementation.
Implement a paging implementation for bounding
volume hierarchy nodes. We will need this for
hla clients that need ground queries.
2012-08-24 21:25:17 +02:00
Mathias Froehlich 7a879e2abf bvh: Introduce BVHMaterial independent of SGMaterial.
The bounding volumes in core should not depend on scenery.
Therefore reference material properties relevant for the BVH
tree in BVHMaterial.
2012-08-24 21:25:11 +02:00
Mathias Froehlich 22878b6f89 bvh: Move the basic bounding volume tree functionality into core.
The basic boundignvolume implementation does only need math and
geometry. As such it is agnostic to the scenegraph being used.
Only the parts building this query structure from terrain
depend on the implementation of the terrain.
So, move this into the simgear core component.
2012-08-24 21:24:57 +02:00
Mathias Froehlich b18c92f515 hla: Add virtual method for creating data elements. 2012-08-12 12:06:42 +02:00
Mathias Froehlich 3a0ae3df58 hla: Do not call time advance with non positive increment. 2012-08-04 14:38:10 +02:00
Mathias Froehlich f71f129e3b hla: Remove reference to deprecated VariantDataType. 2012-07-29 20:58:07 +02:00
Mathias Froehlich ee688166ab hla: Remove deprecated ObjectModelFactory interface. 2012-07-29 20:44:58 +02:00
Mathias Froehlich ed66c37de2 hla: Remove deprecated AttributeCallback. 2012-07-29 17:33:19 +02:00
Mathias Froehlich a5c6f8023b spt: Disable particle systems under a PagedLOD. 2012-07-21 12:55:53 +02:00
Mathias Froehlich c82da8c9c8 hla: Add HLABoolDataElement. 2012-07-21 12:55:53 +02:00
Mathias Froehlich 07d1358e08 hla: Make HLAFixedRecordDataElement work with delayed data type setting. 2012-07-21 12:55:53 +02:00
Mathias Froehlich 1212109c03 math: Remove obsolete commented out code. 2012-07-21 12:55:53 +02:00
Mathias Froehlich d4db4fcac3 hla: Remove deprecated methods from HLAObjectClass 2012-07-21 12:55:53 +02:00
Mathias Froehlich 1f46c79396 hla: Remove deprecated tick method. 2012-07-21 12:55:53 +02:00
Mathias Froehlich 199419ae62 hla: Remove deprecated types and methods from HLADataElement. 2012-07-21 12:55:53 +02:00
Mathias Froehlich 39a4d55866 hla: Remove deprecated HLAVariant* in favour of HLAVariantRecord* 2012-07-21 12:55:53 +02:00
Mathias Froehlich 3796ce4d86 Runway signs: avoid adding empty group without signs. 2012-05-21 07:25:14 +02:00
Mathias Froehlich 23d4628d88 ReaderWriterSPT: Cull out tiles that we look at from downside.
Add a cull callback that culls away complete tile areas that
we look at from the far away downside.
2012-05-19 16:09:58 +02:00
Mathias Froehlich 29462005b7 Fix typo in SGGeodesy.
Pointed out by Carl Godkin.
Thanks!
2012-04-01 17:50:49 +02:00
Mathias Froehlich a592488f3e scenery: Remove redundant setting the property root.
The same value was extracted out of the same options value
in the code above. So, skip resetting to the same value.
2012-03-28 07:47:31 +02:00
Mathias Froehlich 191675cc79 scenery: Only run SGModelData in the topmost model.
It looks like that we loose the nasal script stored
in the property tree when this callback is issued
multiple times.

This should fix
 http://code.google.com/p/flightgear-bugs/issues/detail?id=714
2012-03-28 07:44:41 +02:00
Mathias Froehlich df2e5bf39f Revert "scenery: Use correct property root in xml loading."
This helps for one symptom but it does not fix the
underlying problem. So ...

This reverts commit 986d2cc42a.
2012-03-28 07:34:36 +02:00
Mathias Froehlich 986d2cc42a scenery: Use correct property root in xml loading.
Really query for the root node when loading xml files.
This should fix
 http://code.google.com/p/flightgear-bugs/issues/detail?id=714
2012-03-22 08:38:16 +01:00
Mathias Froehlich b11c13fb9f scenery: Really, most people don't care for the noise. 2012-03-16 07:27:44 +01:00
Mathias Froehlich a5435b7d8c scenery: Make stg loader files members of the loader. 2012-03-16 07:22:16 +01:00
Mathias Froehlich b5fb829468 scenery: TileEntry and TileCache have moved back to flightgear. 2012-03-15 20:43:31 +01:00
Mathias Froehlich 43fceaf3a4 scenery: Move the stg read code.
Move the code reading the stg files
into ReaderWriterSTG.cxx.
2012-03-15 20:33:12 +01:00
Mathias Froehlich 8cb8395a24 scenery: ModelLoadHelper is no longer needed. 2012-03-15 20:08:38 +01:00
Mathias Froehlich 2a2be51b8f scenery: move static ReaderWriter proxies around.
Not yet sure where they end, but make sure they are currently pulled.
... now watching jenkins.
2012-03-15 19:45:51 +01:00
Mathias Froehlich 5a5d65134e scenery: Accumulate stg files until we find an OBJECT_BASE.
This should recover most of the old scenery loading behavior
before the last change. The z-fighting due to model duplication
does not happen over solid ground. Sea tiles are still broken.
2012-03-15 08:02:35 +01:00
Mathias Froehlich 0a96f4e145 scenery: Allow switching off particle systems on scenery load. 2012-03-11 14:20:33 +01:00
Mathias Froehlich ba21713329 scenery: Allow switching off bvh generation. 2012-03-11 14:20:07 +01:00
Mathias Froehlich 32ef925a79 hla: Add convenience function to set version by string. 2012-03-11 09:21:47 +01:00
Mathias Froehlich c62c778c88 hla: Enalble creating object instances without object class.
This enables creating HLAObjectInstance instances without
valid initial object class pointer. This is useful for local
implemented object instances.
2012-03-10 14:26:19 +01:00
Mathias Froehlich 2f0a6fdb67 hla: Remove old comment. 2012-03-10 08:30:02 +01:00
Mathias Froehlich 3693e3600c scenery: rework stg loading code.
This change reworks the code block loading the stg files.
It fixes a long standing problem where we end up loading
similar models from different entries of the scenery
path at the same geographic location. This usually results
in models that appear to have z figting, even if the isolated
model does not show z fighting at all.
As a result the lookup sequence for models and scenery has
changed a bit. This should be closer to what it supposed to
be and did not show any problems on the areas and sceneries
I tested.
2012-03-08 07:15:14 +01:00
Mathias Froehlich fbb7c84409 scenery: Remove unused argument from runway signs. 2012-03-07 06:36:27 +01:00
Mathias Froehlich cc8977b83d hla: include config.h and compiler.h in implementation files. 2012-03-05 06:59:37 +01:00
Mathias Froehlich 50380bc6c5 hla: Provide access to the parent federate. 2012-03-04 21:35:16 +01:00
Mathias Froehlich 9700e46e47 spt: Make use of newly provided earth texture. 2012-03-04 20:10:22 +01:00
Mathias Froehlich 036c0034c3 hla: Fix the way derived classes accumulate attributes. 2012-03-04 19:56:43 +01:00
Mathias Froehlich f5067b058c scenery: Do not use a seperate set of options for loading the model.
This fixes a problem introduced in commit
4e24095d8b.
Also this should fix Bug #698.
2012-03-04 17:09:24 +01:00
Mathias Froehlich 0d9b247da1 scenery: Only add trasnform matrices on successful loaded models. 2012-03-04 13:07:41 +01:00
Mathias Froehlich c9165a565b Use an implementation file for SGReaderWriterOptions. 2012-03-04 08:40:56 +01:00
Mathias Froehlich 49d8b96768 Centralize osgDB::Option handling in SGReaderWriterOptions. 2012-03-04 08:33:21 +01:00
Mathias Froehlich 5ad6eb937b Make use of SGReaderWriterOptions::copyOrCreate in SGModelLib 2012-03-04 08:17:10 +01:00
Mathias Froehlich f66e023ea8 Make use of SGReaderWriterOptions::copyOrCreate in SGMaterial. 2012-03-04 08:15:00 +01:00