|
|
(18 versions intermédiaires par le même utilisateur non affichées) |
Ligne 1 : |
Ligne 1 : |
| = Changements du code de la semaine= | | = Changements du code de la semaine= |
| * Pas de changement de code cette semaine. | | * Pas de changement de code cette semaine. |
| = Noyau= | | = Avertissement = |
| = Base de données = | | {{Avertissement_résumé|fond=pink |bord=red |message = Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux [http://opensimulator.org/wiki/Office_hours réunions du mardi] ou sur [http://opensimulator.org/wiki/IRC le canal IRC]}} |
| = Modules = | | = Modules = |
| === Cartes ==== | | === 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). | | * 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. |
| * Exemple de site d'affichage de la carte : http://animats.com/sl/map/. Presser sur la touche CTRL + bouton gauche de la souris.
| | * '''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 ( d'après Ubit Umarov, pas sur qu'on puisse supprimer les assets dans fsassets): |
| * Requête SQL pour trouver les enregistrements inutiles liés à la carte dans la base de données de la grille: (NDLR : sur ma grille je trouve des résultats en remplaçant la table assets par fsassets puisque j'utilise cette fonctionnalité). | |
| SELECT (`name`), id, FROM_UNIXTIME(create_time) | | SELECT (`name`), id, FROM_UNIXTIME(create_time) |
| FROM assets WHERE `name` LIKE '%terrainImage%' | | FROM assets WHERE `name` LIKE '%terrainImage%' |
| ORDER BY create_time DESC; | | 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. D'une manière ou d'une autre, nous n'avons techniquement pas besoin dassets dans OpenSim puisque Robust peut servir les maptiles, mais pas en une seule image pour les varregions. Le viewer trouve regionInfo puis demande aux assets la tuile de la région. Donc, si le serveur d'assets sait que l'UUID est une tuile et qu'il faut s'adresser à Robust, Robust pourrait alors la fournir, même lui apprendre à faire des tuiles combinées pour les varregions. |
|
| |
|
| = Bugs =
| | * '''La heighmap''' |
| | ** demande de mise en cache 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 heighmap 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. |
| | ** Exemple d'affichage de carte : http://animats.com/sl/map/. Presser sur la touche CTRL + bouton gauche de la souris. |
| | ** Carte 3D : https://community.secondlife.com/forums/topic/502095-big-world-impostor-test-128m/page/2/#comment-2630978 |
| = Tests = | | = 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. | | * 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= | | = Viewers= |
| === Sharpview=== | | === Sharpview=== |
Ligne 24 : |
Ligne 43 : |
|
| |
|
| = Source= | | = Source= |
| <!--
| | http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-09-12 |
| [11:25 AM PT] Vincent.Sylvester @hg.zetaworlds.com: regioninfo contains the handle and size of the region so from that you can then ask robust to give you the tiles and viewer probably a lot quicker on gpu
| |
| [11:26 AM PT] Gavin.Hird @grid.xmir.org:8002: 2660 useless records in the database
| |
| [11:26 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Well seeing as using in-memory image combining only takes a few ms on cpu it would be possible
| |
| [11:26 AM PT] Gavin.Hird @grid.xmir.org:8002: SELECT (`name`), id, FROM_UNIXTIME(create_time)
| |
| FROM assets WHERE `name` LIKE '%terrainImage%'
| |
| ORDER BY create_time DESC;
| |
| [11:26 AM PT] Ubit Umarov: region inof also tells viewers the map asset id
| |
| [11:26 AM PT] Ubit Umarov: still on spec
| |
| [11:27 AM PT] Joe Magarac: I have been looking into building 3D maps by taking 2D pictures from various angles and feeding them into Open Drone Mapper.
| |
| [11:27 AM PT] Andrew Hellershanks: IIRC, nebadon had used that technique to get some nice looking map tiles.
| |
| [11:28 AM PT] Joe Magarac: Nice. Contact info for nebadon?
| |
| [11:28 AM PT] Lyr Lobo smiles
| |
| [11:28 AM PT] Joe Magarac: The goal is that beyond draw distance, I want to switch to low-rez 3d models of distant regions, so you can see a long, long way.
| |
| [11:28 AM PT] Lyr Lobo: Not sure that he will be easy to contact given his schedule
| |
| [11:29 AM PT] Andrew Hellershanks: Joe, I'll IM you his website address
| |
| [11:29 AM PT] Joe Magarac: Thanks.
| |
| [11:29 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Probably could modify warp3d to change how it takes pictures for something like that
| |
| [11:29 AM PT] Ubit Umarov: what for? map is from above :p
| |
| [11:29 AM PT] Gavin.Hird @grid.xmir.org:8002: :-)
| |
| [11:31 AM PT] Vincent.Sylvester @hg.zetaworlds.com: I'm just concerned with the whole doubling up of data, having an asset maptile when robust already serves them directly, two solutions to do the same thing in the end
| |
| [11:31 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Plus that whole asset spam yeah
| |
| [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] 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:42 AM PT] Vincent.Sylvester @hg.zetaworlds.com: I need to check for var regions, but I think regioninfo only contains a single uuid for those too so the image that is put there has to be of the entire region
| |
| [11:42 AM PT] Ubit Umarov: well default maps are region/grid job
| |
| [11:44 AM PT] Ubit Umarov: var regions get a image 256px or 512px
| |
| [11:44 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Either way we technically don't need the asset as robust can serve maptiles, just not var regions as one image
| |
| [11:44 AM PT] Gavin.Hird @grid.xmir.org:8002: rather than doing an insert for each new region maptile version, you could in code do an upsert rather. which would keep just one tile per region
| |
| [11:45 AM PT] Joe Magarac: I'm thinking that mapping is a job for a bot that flies over once a week or so.
| |
| [11:45 AM PT] Ubit Umarov: using(Bitmap scaledbmp = Util.ResizeImageSolid(mapbmp, (int)(bx * scale), (int)(by * scale)))
| |
| data = OpenJPEG.EncodeFromImage(scaledbmp, true);
| |
| [11:45 AM PT] Ubit Umarov: like that :p
| |
| [11:45 AM PT] Joe Magarac: Don't need simulator code for it.
| |
| [11:45 AM PT] Gavin.Hird @grid.xmir.org:8002: the upsert is just changed sql
| |
| [11:45 AM PT] Ubit Umarov: i can only talk about opensim ...
| |
| [11:46 AM PT] Ubit Umarov: and what we see most viewers do
| |
| [11:46 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Viewer gets regionInfo then asks assets for the tile, So if asset server knows "this uuid is a tile, ask robust", robust could then provide it, even teaching it to make combined tiles for var regions wouldn't be hard
| |
| [11:46 AM PT] Joe Magarac: Just fly over at about 128m above ground level and take an orthographic picture.
| |
| [11:47 AM PT] Joe Magarac: Not in UUID asset system at all. Separate server.
| |
| [11:47 AM PT] Ubit Umarov: ??
| |
| [11:47 AM PT] Joe Magarac: For 3D map tiles.
| |
| [11:47 AM PT] Ubit Umarov: a asset is a asset.. maps have no special handling
| |
| [11:48 AM PT] Andrew Hellershanks: Height above ground level will vary based on the region size.
| |
| [11:48 AM PT] Ubit Umarov: except that flag
| |
| [11:48 AM PT] Joe Magarac: Over in SL, the maps are in a completely different server system.
| |
| [11:49 AM PT] Gavin.Hird @grid.xmir.org:8002: or you have regions where there are steep inclines where the terrain raise from water level to 250 meters over a distance of say 50 meters
| |
| [11:49 AM PT] Ubit Umarov: warp3d does take ortho from above
| |
| [11:49 AM PT] Ubit Umarov: and at opensim we do gen them on regions because only thsoe get all the relevant contents
| |
| [11:49 AM PT] Joe Magarac: ah, you already have that simulator side.
| |
| [11:49 AM PT] Gavin.Hird @grid.xmir.org:8002: Joe, in OpenSim, it must also work in standalone. we can't have loads of specialized servers
| |
| [11:50 AM PT] Joe Magarac: Right. I'm looking at this mostly for SL mainland.
| |
| [11:50 AM PT] Ubit Umarov: then regiosn do upload them as asset for v1 viewers and to the map service..
| |
| [11:50 AM PT] Ubit Umarov: sl does the same
| |
| [11:50 AM PT] Ubit Umarov: well or similar
| |
| [11:51 AM PT] Ubit Umarov: you get maps from the SL map service
| |
| [11:51 AM PT] Joe Magarac: Yes. https://map.secondlife.com/map-3-980-1016-objects.jpg
| |
| [11:51 AM PT] Ubit Umarov: in fact you can get them even with a webbrowser
| |
| [11:51 AM PT] Joe Magarac: Though that's not working right now.
| |
| [11:52 AM PT] Ubit Umarov: rror>
| |
| AccessDenied
| |
| [11:52 AM PT] Ubit Umarov: yeah
| |
| [11:52 AM PT] Joe Magarac: Right.
| |
| [11:52 AM PT] Ubit Umarov: well i don't know.. that is sl :p
| |
| [11:54 AM PT] Ubit Umarov: thikn that is not the api for viewers also..
| |
| [11:54 AM PT] Vincent.Sylvester @hg.zetaworlds.com: We generate the tile and store it as asset, uuid of which ends up in the regions table. So we technically don't need to store the asset at all. Just need to teach asset server "if uuid not found check regions table regionMapTexture" if present there just ask robust map service to fetch the tile corresponding to that region. If it is a var we then would only need to tell robust to combine the individual tiles into one.
| |
| [11:54 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Problem is that approach makes assets a bit heavy unless the regions table data is cached
| |
| [11:54 AM PT] Joe Magarac: OK.
| |
| [11:54 AM PT] Ubit Umarov: ufff
| |
| [11:54 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Defer to robust is also not ideal
| |
| [11:54 AM PT] Ubit Umarov: we store as a asset, because that is what viewers v1 want... period
| |
| [11:55 AM PT] Ubit Umarov: no relation with the map service
| |
| [11:55 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Yes
| |
| [11:55 AM PT] Joe Magarac: Ah.
| |
| [11:55 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Where asset server gets the data though doesn't matter so long as it is served as asset
| |
| [11:56 AM PT] Vincent.Sylvester @hg.zetaworlds.com: If it has to ask map service for it and then serve it that could work, but is a bit of a roundabout way of doing it
| |
| [11:56 AM PT] Andrew Hellershanks: It is 5 minutes to the top of the hour. Does anyone have a question or comment about something other than maptiles?
| |
| [11:56 AM PT] Jagga Meredith: Had a weird problem over on aviworlds (9.2.1). My avatar there (sitting behind me) couldn't fly more than one second without bugsplatting. I TP'd her to my region on osgrid (9.2.2) and flew around for awhile, went back to aviworlds and it's been fine since.
| |
| [11:57 AM PT] Joe Magarac: Actual SL map tile URL: https://secondlife-maps-cdn.akamaized.net/map-1-1002-1015-objects.jpg
| |
| [11:58 AM PT] Andrew Hellershanks: Definitely sounds like an odd problem, Jagga.
| |
| [11:58 AM PT] Gavin.Hird @grid.xmir.org:8002: bugsplatting?
| |
| [11:58 AM PT] Vincent.Sylvester @hg.zetaworlds.com: viewer crash
| |
| [11:59 AM PT] Andrew Hellershanks: Did you try a relog at aviworlds before you TP'd to your region and back?
| |
| [11:59 AM PT] Jagga Meredith: yes, several times, also cleared cache
| |
| [11:59 AM PT] Joe Magarac: Sorry, have to go, next meeting. Thanks all.
| |
| [11:59 AM PT] Andrew Hellershanks: oh. I thought you meant that the avi kept falling to the ground instead of flying.
| |
| [11:59 AM PT] Andrew Hellershanks: ok, Joe. Thanks for droppingby.
| |
| [11:59 AM PT] Andrew Hellershanks: Jagga, what viewer were you using?
| |
| [11:59 AM PT] Jagga Meredith: FS latest
| |
| [12:00 PM PT] Jagga Meredith: 6.6.14.69596
| |
| [12:00 PM PT] Andrew Hellershanks: ok
| |
| [12:01 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Viewer does keep logs so if you can repeat the crash save the log file afterwards so it can be examined
| |
| [12:01 PM PT] Vincent.Sylvester @hg.zetaworlds.com: First need to figure out what it is crashing on
| |
| [12:01 PM PT] Jagga Meredith: k
| |
| [12:02 PM PT] Vincent.Sylvester @hg.zetaworlds.com: From OpenSim end the options are too plentiful, knowing what the viewer expects to happen or what data it doesn't get would give the pointer on where to look
| |
| [12:03 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Though as development moves if it isn't an issue with current release or dev versions up to the grid to backport a fix I guess
| |
| [12:04 PM PT] Vincent.Sylvester @hg.zetaworlds.com: The fix teleporting to a newer version suggest something with avatar data packaging, but hard to say what exactly
| |
| [12:04 PM PT] Kayaker Magic: There is a viewer crash that is related to the terrain, look and see if there are holes in the terrain just before the crash.
| |
| [12:04 PM PT] Jagga Meredith: Can't get Simularity to install on Windows 11. Wants a certain version of vlc library. Installing C etc. didn't help
| |
| [12:05 PM PT] Kayaker Magic: Certain terrain shapes cause it, changing the terrain slightly with a terrain tool set low will fill in the holes, then the crash goes away.
| |
| [12:05 PM PT] Jagga Meredith: ok, was happening in multiple relgions. basiclly couldn't fly at all
| |
| [12:07 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Does this happen every time you login or has the problem now gone away entirely even after relog?
| |
| [12:07 PM PT] Jagga Meredith: gone for good far as I can tell
| |
| [12:08 PM PT] Jagga.Meredith @login.aviworlds.com:8002: brb
| |
| [12:08 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Then unless FS happened to make a dump folder for those crashes and kept a log copy will be hard to track down
| |
| [12:10 PM PT] Gavin.Hird @grid.xmir.org:8002: Since FS use Bugsplat, the dump is formatted for it, so you most likely have to have Bugsplat to analyze the dump
| |
| [12:10 PM PT] Jagga.Meredith @login.aviworlds.com:8002: yup
| |
| [12:10 PM PT] Vincent.Sylvester @hg.zetaworlds.com: It used to keep a dump file and log copy, though the latter not always worked right sometimes it'd be 0kb
| |
| [12:11 PM PT] Jagga Meredith: ok thanks
| |
| [12:11 PM PT] Vincent.Sylvester @hg.zetaworlds.com: If it doesn't happen anymore could be some bad data, moving grids serializing the data for transmit might have fixed something
| |
| [12:12 PM PT] Jagga Meredith: yeah
| |
| [12:12 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Very little input validation otherwise
| |
| [12:13 PM PT] Ubit Umarov: ok rl calls
| |
| [12:13 PM PT] Ubit Umarov: cya ppl
| |
| [12:13 PM PT] Andrew Hellershanks: ok, Ubit. See you next week.
| |
| [12:13 PM PT] Jagga Meredith: that's what I was trying to accomplish by TPing to osgrid region. it's huge
| |
| [12:13 PM PT] Andrew Hellershanks: Any final thoughts before we wrap up todays meeting?
| |
| [12:14 PM PT] Gavin.Hird @grid.xmir.org:8002: nope
| |
| [12:14 PM PT] Andrew Hellershanks: ok. That will conclude this weeks gathering.
| |
| [12:14 PM PT] Andrew Hellershanks: Thank you all for coming. See you again next week.
| |
| __>
| |