Fernando García Liñán
da750c5995
Canvas: Set pointers to NULL instead of calling .release()
...
The Canvas camera and texture get recreated in several circumstances.
Calling .release() on a ref_ptr will just return the raw pointer and
'delete' won't be called. The proper way to explicitly delete an object
managed by a ref_ptr is to set the ref_ptr to NULL. This will delete it
as long as it's not referenced by any other ref_ptr.
2021-08-31 18:09:36 +02:00
Fernando García Liñán
2371065375
Canvas: Image depth refers to the amount of depth slices, not the bit depth
2021-08-31 18:09:36 +02:00
Stuart Buchanan
5c4bbc7552
WS30: Improved streetlights
...
- Use a single LightBin per tile, rather than per road
- Support lights offset on either side of the road.
2021-08-29 18:27:18 +01:00
Fernando García Liñán
a97e148a94
Canvas: Change the node mask of the ODGauge camera
...
Since the Canvas cameras are no longer in the scene graph, we no longer
need to explicitly make them render only in the Classic pipeline's far
camera.
2021-08-27 21:21:28 +02:00
James Turner
e76b684c20
Attempt to deal with the XML -> AC model rename
...
Add a fallback when a .xml model is not found, and see if we can load
a .ac instead. This logs a dev warning since dependant uses should
be updated.
2021-08-27 15:33:33 +01:00
Julian Smith
629b681a29
simgear/nasal/code.c:setupFuncall(): improve diagnostic if not callable.
...
If we have an uncallable object error, also show the type and value of the
uncallable object.
To make this work, have upgraded simgear/nasal/lib.c:dosprintf() to be globally
available. Could perhaps rename it and declare in a different header. But it's
C so we don't want to make it part of simgear's general utility functions.
2021-08-26 23:24:39 +01:00
Julian Smith
624581f470
simgear/nasal/code.c:logError(): simplified the code.
2021-08-26 23:24:39 +01:00
Julian Smith
d4701c309b
simgear/nasal/code.c: naRuntimeError(): added disabled code to show info.
2021-08-26 23:24:39 +01:00
Fernando García Liñán
2c82cd4475
glTF: Remove separate occlusion texture
2021-08-27 00:06:47 +02:00
Julian Smith
d7dd7e2c6e
3rdparty/tiny_gltf/tiny_gltf.h: fix for OpenBSD - no wordexp.h.
2021-08-25 23:10:03 +01:00
Fernando García Liñán
6d891eae7e
Compositor: Add missing #define for buffer format
2021-08-23 22:29:24 +02:00
Fernando García Liñán
81fb4e7dfd
Compositor: Add extra buffer formats
...
These formats are not defined by OSG, so we manually define them. Some GPUs might not support them as we are using a GL compatibility context, but it shouldn't matter for now as they are only being used by the HDR pipeline.
2021-08-23 12:45:55 +02:00
Stuart Buchanan
fafa259c1d
WS30: Lighting for roads
...
Using attributes on the LINE_FEATURE_LIST we now generate
lighting for roads.
2021-08-21 17:18:18 +01:00
Erik Hofman
1174124144
Michael Danilov: Fix issue #2169 Sound with condition=false will play when moving into its max-dist (patch available)
2021-08-20 11:47:03 +02:00
Stuart Buchanan
e7659941ef
WS30: Better landclass cache for tree generation
2021-08-19 19:57:09 +01:00
Fernando García Liñán
b5d78f7c1d
Fix typo
2021-08-19 14:04:25 +02:00
Fernando García Liñán
ab1d7792bd
Compositor: Add another precomputed uniform for the skydome shader
2021-08-19 13:08:14 +02:00
Fernando García Liñán
6cea6b7fdf
Add support for glTF transparent objects
...
Also added some Compositor uniforms.
2021-08-19 01:40:24 +02:00
Fernando García Liñán
2b9933c0b5
Remove explicit LINKER_LANGUAGE when compiling TinyGLTF
2021-08-17 12:01:54 +02:00
Fernando García Liñán
6d3089ad6b
Compositor: Add the LOD scale parameter to scene passes
...
This should allow us to change the LOD level for WS 3.0 on a per-pass basis.
2021-08-16 17:02:21 +02:00
Fernando García Liñán
910225532e
Initial support for glTF models
2021-08-16 17:00:57 +02:00
Fahim Imaduddin Dalvi
65483a373f
Shader-based scenery lights.
...
This commit implements shader-based scenery lights with support for
efficient rendering of a large number of lights, animations and
directionality. Detailed commit log can be found at [1]. Detailed
discussions can be found on the mailing list [2][3][4].
[1] https://sourceforge.net/u/fahimdalvi/fgdata/ci/feat/scenery-shader-lights/~/tree/
[2] (Timed animation stops working in certain configurations) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/4A7AC359-63B3-4D8A-815B-09823BCEFF27%40gmail.com/#msg37095923
[3] (Shader-based scenery lights) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/63E3C131-7662-4F59-B2E6-03208C78EF96%40gmail.com/#msg37190517
[4] (Shader-based scenery lights Part 2) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/74F18179-CA34-4901-A44E-15498ECC230A%40gmail.com/#msg37331695
2021-08-07 21:47:56 +03:00
James Turner
67806a59b0
Fix a dumb crash I introduced.
2021-08-04 09:08:16 +01:00
Stuart Buchanan
578a8acff4
WS30: Improve tile loading times by ~50%
...
Previously on my system, generating vegetation for a given tile
took 0.15-0.2s (for ~ 56k positions), of ~0.4s. While this is done in a
separate loading thread, the sheer number of tiles being loaded
caused noticeable delays and popping of higher LoD tiles.
As a tile at the highest LoD is typically 6x6km, and vegetation
is generated on a scanline of individual triangles, there is a _lot_
of temporal locality on the landclass of a series of points.
By caching the material information required from the landclass lookup
we can avoid a whole much of material lookups for each successive
vegetation point.
On my system this reduced the time to generate vegetation down to
0.02s per tile, and total tile generation time down to ~0.2s.
2021-08-03 20:56:56 +01:00
Julian Smith
e93839a9c5
simgear/environment/visual_enviro.cxx: fixed include of simgear/math/sg_random.hxx.
2021-08-03 09:20:35 +01:00
Julian Smith
ded91614ab
simgear/debug/logstream.cxx: enable file:line on startup if SG_LOG_FILE_LINE is 1.
...
E.g. allows file:line in diagnostics when running test-suite.
2021-08-02 21:04:29 +01:00
Stuart Buchanan
d1e9134a89
WS30: Improved vegetation constraints
...
Unlike the elevation constraints, the vegetation constraints
don't need to be global. So no need for mutexes. Big speed up.
2021-08-02 17:47:48 +01:00
Stuart Buchanan
8cc3c15712
WS30: Stop trees from growing on roads, rivers.
2021-08-02 17:10:49 +01:00
Stuart Buchanan
dc1d6284fd
WS30: Fix crash on reset caused by VPBTechnique
2021-08-01 20:48:27 +01:00
Stuart Buchanan
4f01f758ae
WS30: Fix deadlock introduced by fb436be8f1
2021-08-01 20:47:38 +01:00
Fernando García Liñán
2039f49691
Add missing call to glReadBuffer() when doing depth-only FBOs
2021-08-01 08:35:25 +02:00
James Turner
d8874c26b6
Control over reporting from SimGear
...
To avoid exposign Sentry to Simgear, add some abstract reporting controls
which can be toggled easily without any extra dependencies.
2021-07-31 18:31:10 +01:00
legoboyvdlp R
b44f187328
Canvas: instead of setting anisotropy directly, set it by the same mechanism as mipmapping
2021-07-31 15:27:36 +01:00
Julian Smith
3ba8c383b4
simgear/io/HTTPRepository.cxx: fixed some compiler warnings.
2021-07-31 10:29:25 +01:00
Julian Smith
f9b485a915
simgear/package/Package.cxx: removed assert that cannot fire due to unsigned.
...
This avoids a compiler warning.
2021-07-31 10:29:25 +01:00
Julian Smith
109da4eb49
simgear/environment/metar.cxx: fix use of std::string::rfind().
...
Need to compare result with std::string::npos, not for -ve.
2021-07-31 10:29:25 +01:00
Julian Smith
0da173cfd8
simgear/nasal/lex.c: show line and column if illegal character is found.
...
Makes it easier to track down e.g. missing quotes in Nasal source within .xml
files.
2021-07-31 10:29:25 +01:00
Julian Smith
95239fea87
simgear/io/iostreams/zlibstream.*: improved support for reading compressed data.
...
Added support for seeking (forwards only) - in ZlibAbstractIStreambuf, added
seekoff().
Also disabled assert that checked that we reach EOF compressed data at same
time as EOF uncompressed data; was breaking things when using embedded
compressed streams within fgtape recording.
Added ZLibCompressionFormat::ZLIB_RAW, uses windowBits=-15, for zlib compressed
streams without header or trailer.
Fixed clang build error with std::min().
2021-07-31 10:29:25 +01:00
James Turner
d01e9ca2e6
Use owning refs in some places
...
Avoid explicit deletes of ref-counted SGMaterialCache
2021-07-29 17:51:35 +01:00
James Turner
fb436be8f1
MaterialLib: make it thread-safe
2021-07-29 17:51:03 +01:00
James Turner
9e3e4a1ab5
TileDetails: set group names for debugging
2021-07-29 17:50:33 +01:00
James Turner
d6e452ea08
Fix a ref-count loop in Paticles manager
2021-07-29 17:50:33 +01:00
Fernando García Liñán
67bb39083c
Fix shadows on Mac OS
2021-07-29 15:48:55 +02:00
Fernando García Liñán
df66decdda
Compositor: Replace OSG camera resize function by own implementation
2021-07-29 08:38:18 +02:00
Fernando García Liñán
7f4fb15636
Compositor: Change uniform enum names to avoid name clashing on Windows
2021-07-28 15:18:21 +02:00
Fernando García Liñán
db8b66203d
WS 3.0: Apply the TERRAIN_BIT nodemask to all geodes
2021-07-28 10:50:14 +02:00
James Turner
1d59135652
Report errors on TileDetails callback failures
...
This callback can do out of memory and other failures, so catch
those and report them.
2021-07-27 16:05:03 +01:00
James Turner
2478bee97f
Don't report PropsIO exceptions
2021-07-27 14:23:09 +01:00
Fernando García Liñán
a256110c02
Compositor: Do not clear buffers by default
2021-07-26 16:14:58 +02:00
Fernando García Liñán
908dc467a8
Compositor: add new uniforms
...
Provide the sunlight direction in view and world space and the near/far distance given by the CameraGroup.
2021-07-26 12:04:56 +02:00