« Réunion du 12-09-2023 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Ligne 47 : Ligne 47 :
= Source=
= Source=
<!--
<!--
[11:31 AM PT]  Ubit Umarov: warp3d does have some options on camera height
[11:32 AM PT]  Kayaker Magic: I would like to see a way to cache the heightmap of the terrain so it doesn't have to be re-download every time you re-visit a var region
[11:32 AM PT]  Ubit Umarov: well i did consider setting the asset to a fallback constant one..  but no idea abotu all viewer still outther
[11:33 AM PT]  Ubit Umarov: guess will do it one day :)
[11:34 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Another option I considered was writing something into the asset server that the tiles could be "registered" to and reference the regions table to clean itself of the old ones
[11:34 AM PT]  Ubit Umarov: those assets do have a temporary flag set on the DBs
[11:34 AM PT]  Ubit Umarov: hmm possilble also a map one
[11:35 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: That flag isn't really working though in general
[11:35 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: I keep finding temporary assets created months ago still in there
[11:35 AM PT]  Joe Magarac: The height map can change dynamically if someone edits terrain.
[11:36 AM PT]  Cuga.Rajal @rajal.org:9000: viewers could check if maptiles or heightmap still valid with uuid or some identifier before sending whole thing
[11:36 AM PT]  Cuga.Rajal @rajal.org:9000: just an idea
[11:36 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: A hash of sorts
[11:36 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: But then that's something viewer has to support as well
[11:37 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: New cap essentially
[11:37 AM PT]  Cuga.Rajal @rajal.org:9000: true, a viewer change
[11:37 AM PT]  Gavin.Hird @grid.xmir.org:8002: each map tile has a time stamp
[11:37 AM PT]  Cuga.Rajal @rajal.org:9000: but woukld cut down asset spam
[11:37 AM PT]  Gavin.Hird @grid.xmir.org:8002: so you can purge all but the latests unique versions
[11:37 AM PT]  Ubit Umarov: asset.Flags = AssetFlags.Maptile;
[11:38 AM PT]  Joe Magarac: I'm looking at external 3D terrain impostors for Sharpview. The idea is to only render about 4 regions for real. Everything else is a stored 3D impostor.
[11:38 AM PT]  Andrew Hellershanks: The OS code isn't meant to delete assets. Ubit, is there any code in OS to delete temporary assets or is that a job left for an external process/program?
[11:39 AM PT]  Ubit Umarov: yes we try to delete them every time we make a new onw
[11:39 AM PT]  Ubit Umarov: ...
[11:39 AM PT]  Ubit Umarov: private void GenerateMaptile(Bitmap mapbmp)
        {
            bool needRegionSave = false;
            // remove old assets
            UUID lastID = m_scene.RegionInfo.RegionSettings.TerrainImageID;
            if (!lastID.IsZero())
            {
                m_scene.AssetService.Delete(lastID.ToString());
[11:39 AM PT]  Ubit Umarov: ...
[11:39 AM PT]  Ubit Umarov: like that :p
[11:39 AM PT]  Gavin.Hird @grid.xmir.org:8002: the name of the maptile  is terrainImage_169d1572-58c1-4ccf-8517-7409cd5cf4c9 where the uuid at the end is the region id for the maptile
[11:40 AM PT]  Gavin.Hird @grid.xmir.org:8002: so based on that and the timestamp you can unique a single tile for each region
[11:40 AM PT]  Joe Magarac: Here's what I'm trying to do: https://community.secondlife.com/forums/topic/502095-big-world-impostor-test-128m/page/2/#comment-2630978
[11:40 AM PT]  Ubit Umarov: not sure if fsassets lets assets to be deleted.. that is other issue
[11:40 AM PT]  Ubit Umarov: not sure if fsassets lets assets to be deleted.. that is other issue
[11:40 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Temp assets created from hg things are removed from database, I keep finding the files for them on disk with the db entry missing, so there is something that deletes them, just not working all that reliably it seems or there are additional conditions
[11:40 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Temp assets created from hg things are removed from database, I keep finding the files for them on disk with the db entry missing, so there is something that deletes them, just not working all that reliably it seems or there are additional conditions

Version du 5 novembre 2023 à 12:23

Changements du code de la semaine

  • Pas de changement de code cette semaine.

Noyau

Base de données

Modules

Cartes

  • Il est possible que COOL VL Viewer utilise encore les tuiles de carte V1 c'est à dire une image par région qui est un asset qui remplit les base de données. Le viewer V2 récupère la carte à partir d'un service de carte spécial.(V1 et V2 font surtout référence au type de viewer). Cela implique deux solutions pour faire la même chose et un spam d'assets.
  • Requête SQL pour trouver les enregistrements inutiles liés à la carte dans la base de données de la grille et purger toutes les versions uniques sauf les plus récentes :
SELECT (`name`), id, FROM_UNIXTIME(create_time)
FROM assets WHERE `name` LIKE '%terrainImage%'
ORDER BY create_time DESC;

(NDLR : sur ma grille je trouve des résultats en remplaçant la table assets par fsassets puisque j'utilise cette fonctionnalité). Le nom de la maptile est terrainImage_ suivi de l'identifiant de la région. Donc, en se basant sur cela et sur l'horodatage, on peut créer une seule tuile pour chaque région.

  • Développement :
    • regioninfo indique au Viewer le handle, la taille et l'identifiant de la carte. Robust peut donner une tuile au viewer très rapidement.
    • Utilisation du flag de l'asset
asset.Flags = AssetFlags.Maptile;
    • Code dans le système d'exploitation pour essayer de supprimer les assets temporaires chaque fois qu'un nouvel asset est créé/
 private void GenerateMaptile(Bitmap mapbmp)
       {
           bool needRegionSave = false ;
           // supprimer les anciens actifs
           UUID lastID = m_scene.RegionInfo.RegionSettings.TerrainImageID ;
           if (!lastID.IsZero())
           {
               m_scene.AssetService.Delete(lastID.ToString()) ;
  • Solution : se débarrasser des anciennes tuiles. Ces assets ont un flag temps dans la base de donnée (ndrl : asset_flags ?) mais généralement, il ne fonctionne pas.
  • La heighmap
    • demande de mise en cahe de la Heighmap pour ne pas devoir la recharger à chaque passage sur une région surtout varregion.
    • problème : la carte des hauteurs peut changer dynamiquement si quelqu'un modifie le terrain.
    • une idée serait d'utiliser une sorte de hachage pour que le viewer vérifie si la carte ou la haighmap est toujours valide. Mais, le viewer doit pouvoir le supporter.
  • Projet de Joe Magarac : construire des cartes en 3D en prenant des photos en 2D sous différents angles et en les introduisant dans Open Drone Mapper.

Bugs

Tests

  • Le projet de tests xunit est toujours bloqué au même endroit , c'est à dire essayer de faire fonctionner les tests dans Visual Studio sans utiliser Nuget.

Projets en cours / Infos

Viewers

Sharpview

Dayturn

  • Pas encore de retour aux anciens profils pour le viewer OpenSim.

Source