Replies: 16 comments 13 replies
-
I don't recall off the top of my head. I'm just wrapping up some work camera animation, once that's checked in I'll be doing some further work on vsg::TileDatabase and as part of the work will check up on the status of the terrain layer support. Should have answer for you by the end of this week. |
Beta Was this translation helpful? Give feedback.
-
I'm now working on the evolution of vsg::TileDatabase node and the associated vsg::tile ReaderWriter, I am still working on the possible new approaches to for generalizing the functionality to handle multiple layers. I have checked the existing vsg::tile ReaderWriter code and the implementation is currently hardwired to just using the TileDatabaseSettings::imageLayer and ignores the terrainLayer field. To support the terrainLayer field several of the internal methods in the vsg::tile will need to rewritten to both read and apply the the terrainLayer when/where required, this is not a huge amount of work, perhaps just a couple of days work. However, generalizing the vsg::TileDatabase/vsg::tile to handle multiple layers will likely require a wider refactor of this functionality so there isn't any point in tweaking the existing implementation to support the terrainLayer field as it'll just be deprecated by the more general functionality, and the new functionality should make it easier to add in support for terrainLayer in a more flexible way. I'll provide info to this forum as the refactor of vsg::TileDatabase & vsg::tile progresses over the next week or so. |
Beta Was this translation helpful? Give feedback.
-
The refactor will aim to support multiple image layers and I had assumed a single terrain layer. I haven't yet figured out how flexible a scheme to implement. I may start with just simpler extension of the existing scheme. |
Beta Was this translation helpful? Give feedback.
-
Work is progressing on the refactor of TileDatabase, there is now support for a TileDatabaseSettings::detailLayer which is working, and prep work for TileDatabaseSettings::elevationLayer (renamed from terrainLayer) is done but... When testing the ReadMap elevation data I found out that vsgXchange's tiff support I found it's wholly reliant upon GDAL and vsgXchange::GDAL doesn't yet have support for reading from istream which is used by vsgXchange to read http using libcurl. I've been investigating how to get GDAL to read from a memory buffer and have ended up down a virtual file system rabbit hole. My initial test code suggests this route is viable and have data reading and rendering but the elevations aren't correct yet. After Christmas I will tinker with it further and hopefully get vsgXchange::GDAL working with http data and the shaders updated to handle the displacement mapping, or change the vsg::tile ReaderWriter to create meshes based on the DEM textures. The work in progress on TileDatabase can be found in the VSG branch: https://github.com/vsg-dev/VulkanSceneGraph/tree/MultiLayerTileDatabase |
Beta Was this translation helpful? Give feedback.
-
Hi, |
Beta Was this translation helpful? Give feedback.
-
I tested the last commit. The problem is that the vsgtiledatabase sample works great but the dem data is not used (Mountains are flat). It does not save the dem tiles in the cache address either. |
Beta Was this translation helpful? Give feedback.
-
P.N: In another try, I also used a hackish way to use a local folder instead of url for the map address, I was successful but it takes time if I am connected to internet before it times out and reads data from my cache folder. It would be best to support an address format like: file:// or local:// for local addresses. |
Beta Was this translation helpful? Give feedback.
-
What a beautiful scene... I see this, everything is flat: And here my debug info: $ ./vsgtiledatabase --rme --debug Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 Validation Error: [ VUID-vkCmdDrawIndexed-viewType-07752 ] | MessageID = 0xce261924 |
Beta Was this translation helpful? Give feedback.
-
Could the problem be with the shaders not being recognized or ...? |
Beta Was this translation helpful? Give feedback.
-
Yes I did compile with glslang: $ glslangValidator --version CMakeCache.txt seems OK: And my version file is located at /usr/local/include/vsg/core/Version.h with exact same contents as yours. |
Beta Was this translation helpful? Give feedback.
-
I should mention that I have successfully run vsg-dev/MyFirstVsgApplication with lz.vsgt and worldviewer with cesium-ion |
Beta Was this translation helpful? Give feedback.
-
OK, that suggests that shader compilation is not the issue. The Vulkan debug error is curious, the VK_IMAGE_VIEW_TYPE_1D report for what should be a 2D type is curious. No idea what might be causing this. I don't seen any errors like this on my Kubuntu 24.04 + Geforce 2060 system. |
Beta Was this translation helpful? Give feedback.
-
It seems that I found the issue. My vsgXchange does not support tiff. Overall, I didn't had time to say thank you (and probably your other team-mates) over the years I have used osg and now vsg. |
Beta Was this translation helpful? Give feedback.
-
By the way, It works like charm on my pc, but on a rk3588, I get memory leaks(even on osm map with lightings and dem turned off). Is it VSG or maybe the mali driver? Do you think if the problem is solvable? P.N>: Unfortunatelly in the rk3588 device, I get unrecognized instruction using valgrind. |
Beta Was this translation helpful? Give feedback.
-
There could be a bug in the driver. On the paging front, the DatabasePager is designed to load balance using a target maxium number of PagedLOD. If the individual tiles are larger, such as when you have elevation and image data then you may need to use a lower target, if the hardware is memory limited then again using a lower target will also be required. The vsgviewer example and a few other examples support the --maxPagedLOD command line argument which you can use to set the above limit. This is how vsgviewer passes the value on to active DatabasePager: if (maxPagedLOD > 0)
{
// set targetMaxNumPagedLODWithHighResSubgraphs after Viewer::compile() as it will assign any DatabasePager if required.
for (auto& task : viewer->recordAndSubmitTasks)
{
if (task->databasePager) task->databasePager->targetMaxNumPagedLODWithHighResSubgraphs = maxPagedLOD;
}
} There is also support for adjusting the level of details selected for a given viewing distance, but I can't recall the exact API off the top of my head so will have to look it up when I get back to work and at my desktop system. |
Beta Was this translation helpful? Give feedback.
-
Some people from rockchip checked the problem and told that this is not a driver issue: From valgrind summary, can see lots of "still reachable". By comparing memory profiles at different times when the program runs, Means a large number of VKImage and VKBuffer were applied for by the program but were not released in time. mem_profile_5min_later.log |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Robert,
d48e481
Post this commit, have there been any developments to add terrainLayer to the vsgTile example. May I know what needs vsg::Tile is missing to make it suitable for the displacementMap. Thanks.
Ramji
Beta Was this translation helpful? Give feedback.
All reactions