Aller au contenu

« Réunion du 08-02-2022 » et « Réunion du 15-02-2022 » : différence entre les pages

De OSWiki
(Différence entre les pages)
 
Page créée avec « Source : http://opensimulator.org/index.php?title=Chat_log_from_the_meeting_on_2022-02-15&action=edit =Introduction= <pre> [11:01] Kayaker Magic : Je n'ai vu aucun nom sur aucun de ces sièges ! [11:01] Misterblue Waves : Je reçois toujours des emails de paiement de compensation de la part des Nations Unies. J'aurais pensé que cette arnaque serait terminée depuis longtemps. [11:01] Andrew Hellershanks : Bonjour à tous. [11:01] Ubit Umarov : mais vous vous ê... »
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-08
Source : http://opensimulator.org/index.php?title=Chat_log_from_the_meeting_on_2022-02-15&action=edit
= Introduction =
*  [http://opensimulator.org/wiki/Development_Team/fr Development_Team/fr]
<pre>
[11:02] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew, Kayaker
[11:02] Andrew Hellershanks : Bonjour à tous.
[11:02] Misterblue Waves : Bonjour à tous !
[11:02] Kayaker Magic : Bonjour à tous !
[11:02] Andrew Hellershanks : Hey, Misterblue
[11:03] Kayaker Magic : Misterblue ! Ça fait longtemps qu'on ne s'est pas vu ! Content de te voir ici !
[11:04] Misterblue Waves : je revisite mes anciens projets et mes anciens terrains de jeu :)
[11:04] Jamie.Jordan @grid.kitely.com:8002 : Mister Blue bienvenue mon ami
[11:05] Ubit Umarov : Bonjour !
[11:05] Gavin.Hird @grid.xmir.org:8002 : Bonsoir Ubit
</pre>


= Moteurs de jeux pour projets de Viewers =
=Introduction=
* [https://fr.wikipedia.org/wiki/Unity_%28moteur_de_jeu%29 Unity] : moteur de jeu multiplateforme répandus dans l'industrie du jeu vidéo, aussi bien pour les grands studios que pour les indépendants.
* [https://fr.wikipedia.org/wiki/Unreal_Engine Unreal Engine] :  moteur de jeu vidéo propriétaire développé par Epic Games.
* [https://en.wikipedia.org/wiki/Xenko Xenko /Sride] :  Stride, alors appelé Xenko, était à l'origine mis à disposition par Silicon Studio sous un modèle de double licence, disponible pour tous sous GNU GPLv3, avec des termes de licence alternatifs, payants, disponibles pour ceux pour qui les termes de copyleft de la GPL sont un obstacle à l'adoption[1] Le 2 août 2018, le développeur Virgile Bello a annoncé sur le blog Xenko que Silicon Studio avait abandonné le support du projet et ré-licencié Xenko 3.0 sous la licence MIT. Contrairement à l'accord antérieur de double licence selon lequel le moteur était disponible en tant que logiciel libre et open-source mais l'éditeur restait propriétaire, dans le cadre du nouvel accord, le moteur et l'éditeur sont tous deux disponibles sous la licence MIT[2].
* Stride : https://www.stride3d.net/
* [https://fr.wikipedia.org/wiki/Godot_%28moteur_de_jeu%29 Godot] : est un moteur de jeu multiplateforme, logiciel libre sous licence MIT.
<pre>
<pre>
[11:05] Kayaker Magic : En parlant d'anciens projets, j'ai entendu une rumeur selon laquelle la licence pour Unity a changé et qu'elle pourrait être intéressante maintenant pour que le nouveau projet du viewer de Melane continue.
[11:01] Kayaker Magic : Je n'ai vu aucun nom sur aucun de ces sièges !
[11:06] Ubit Umarov : nous n'avons jamais fait ça dans unity.
[11:01] Misterblue Waves : Je reçois toujours des emails de paiement de compensation de la part des Nations Unies. J'aurais pensé que cette arnaque serait terminée depuis longtemps.
[11:06] Kayaker Magic : Quel moteur a-t-elle utilisé ? Je pensais que c'était unity.
[11:01] Andrew Hellershanks : Bonjour à tous.
[11:06] Ubit Umarov : unreal
[11:01] Ubit Umarov : mais vous vous êtes assis sur le vôtre :)
[11:07] Ubit Umarov : puis un début de reprise dans xenko, maintenant Stride.
[11:01] Jamie.Jordan @grid.kitely.com:8002 : c'est ma faute.
[11:07] Andrew Hellershanks: Stride?
[11:02] Ubit Umarov : et maintenant Gavin ne se montre pas :)
[11:08] Motoko.Karu @login.digiworldz.com:8002: https://www.stride3d.net/
[11:02] Selby.Evans @grid.kitely.com:8002 : Bonjour à tous
[11:08] Ubit Umarov : oui, je pense que c'est son nom maintenant.
[11:02] Ubit Umarov: kiding
[11:08] Motoko.Karu @login.digiworldz.com:8002 : désolé... lag
[11:02] Misterblue Waves : on dirait que je me retrouve à danser en bout de table... je ferais mieux de me déplacer.
[11:08] Ubit Umarov : Oui, merci.
[11:04] Michael.Christopher @cc.opensimulator.org:8002 : bonjour à tous.
[11:08] Motoko.Karu @login.digiworldz.com:8002 : np
[11:04] Misterblue Waves : bonjour Michael.
[11:09] Andrew Hellershanks : Oh, c'est ce qu'on appelait autrefois Xenko.
[11:09] Misterblue Waves : J'ai recommencé à travailler sur mon viewer. La première version est basée sur un navigateur mais la prochaine sera basée sur ce qui convient (unreal, godot, stride, ...).
</pre>
</pre>
=Viewers - Texte uniquement =
= Les problèmes de versions avec .NET =  
* [http://opensimulator.org/wiki/Compatible_Viewers/fr#Viewers%20-%20Texte%20uniquement Compatible_Viewers/fr# Viewers - Texte uniquement ]
* [https://fr.wikipedia.org/wiki/Microsoft_.NET Microsoft .NET] : nom donné à un ensemble de produits et de technologies informatiques de l'entreprise Microsoft pour rendre des applications facilement portables sur Internet.
* [https://radegast.life/about/ Radegast] : Radegast-ng est un client léger pour les plateformes Second Life et OpenSimulator.
* [https://fr.wikipedia.org/wiki/.NET_Core .NET Core] : cadriciel (Framework) Libre et Open Source pour les systèmes d'exploitation Windows, macOS et Linux3. Il comprend CoreCLR, un environnement d'exécution complet de CLR, la machine virtuelle qui gère l'exécution des programmes .NET. En novembre 2020, Microsoft a publié .NET 5.0, qui a remplacé .NET Framework. La marque " Core " a été supprimée et la version 4.0 a été sautée pour éviter toute confusion avec .NET Framework.  
* Lumiya : La version 3.2 de Lumiya peut toujours être téléchargée via SlideMe mais elle coûte 2,95 $. Cette application a été mise à jour pour la dernière fois le 27 novembre 2016. Lumiya est un client Second Life et OpenSim offrant une vue du monde en 3D. [https://danielvoyager.wordpress.com/2021/04/27/2021-mobile-apps-for-second-life/ Source.]
* [https://fr.wikipedia.org/wiki/C_sharp C# (C sharp)] : langage de programmation orientée objet, commercialisé par Microsoft depuis 2002, utilisé par OpenSimulator.  
* [https://docs.blender.org/manual/fr/dev/render/eevee/introduction.html Evee : Moteur de rendu Blender]
* ClienWiew :"Lorsque le serveur reçoit un message dans UPDServer, il utilise Packet.BuildPacket pour créer un nouvel objet, et l'envoie au ClientView correct, qui assemble ces informations dans un événement qui change l'état de la simulation." [[http://opensimulator.org/wiki/LibSecondLife_performance_problems |source]]
<pre>
<pre>
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Nous avons vraiment besoin d'un bon viewer texte, un qui soit mis à jour plus régulièrement et qui fonctionne réellement.
[11:05] Misterblue Waves : j'ai regardé Prebuild... je pense ajouter la cible "standard20".
[11:10] Ubit Umarov : radagast ne fonctionne pas ?
[11:06] Ubit Umarov : qu'est-ce que le standard20 ?
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est le cas, sauf si votre mot de passe est trop long.
[11:06] Ubit Umarov : c'est fini.
[11:10] Ubit Umarov : :)
[11:07] Ubit Umarov : d'après ms, tout est unifié dans .net5.0 maintenant .net6.0.
[11:10] Misterblue Waves : quelles sont les fonctions dont tu as besoin dans un viewer texte, @Vincent ? juste le chat ?
[11:07] Misterblue Waves : il existe toujours en tant que chose universelle. Le standard 2.1 de dotnet est spécifique.
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Chat, peut-être quelques contrôles de domaines et de parcelles, c'est à peu près tout.
[11:07] Ubit Umarov : c'est à dire qu'il y a aussi core2, 3 3.1 etc...
[11:10] Ubit Umarov : et je devine l'inventaire également
[11:07] Ubit Umarov : un désordre total.
[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous savez les trucs d'administration que vous ne pouvez pas faire via la console.
[11:08] Misterblue Waves : c'est sûr, c'est un vrai bordel.
[11:11] Kayaker Magic : Est-ce que Radegast fonctionne sur les téléphones portables ? J'ai utilisé Lumiya comme viewer texte sur mon téléphone jusqu'à ce qu'il soit abandonné. Il ne fonctionne pas sur mon nouveau téléphone.
[11:08] Ubit Umarov : mais comme je l'ai dit, ms dit que c'est maintenant seulement .net6.0.
[11:11] Ubit Umarov : pour vérifier les notecards.
[11:09] Ubit Umarov : j'ai cherché aujourd'hui un connecteur mysql que Maria recommande maintenant.
[11:11] Ubit Umarov : je pense que certains utilisent encore Lumiya.
[11:09] Andrew Hellershanks : Qu'est-ce qui met Misterblue d'humeur à danser ?
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il fonctionne toujours sur mon téléphone.
[11:09] Kayaker Magic : Alors Mister Blue, comment va votre nouveau projet de viewer ?
[11:12] Andrew Hellershanks : Je me demande si quelqu'un a pensé à utiliser le moteur de rendu utilisé dans Blender.
[11:09] Ubit Umarov : il est conforme à 16 variantes.
[11:12] Ubit Umarov : en tout cas, j'ai fait un correctif pour ça... il y a environ 2 ans maintenant :)
[11:09] Ubit Umarov : 8 debug, 8 release
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais il ne fait pas les vars
[11:10] Misterblue Waves : oui, mais ajouter standard2.0 à un grand projet construit avec Framework4.8 est plus facile que d'essayer avec Dotnet 6.
[11:12] Kayaker Magic : Lumiya fonctionne toujours sur ma tablette qui a 6 ans.
[11:10] Ubit Umarov : les 8 comprennent 4.5, 4.6.1. 4.7.1, 5. 6. core3 standart2, etc.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002: unlocked bootloader lineage os ftw lol
[11:10] Andrew Hellershanks : Ubit, 16 variantes d'un connecteur MySQL ?
[11:12] Ubit Umarov : il ne décode pas tous les xml llsd correctement.
[11:10] Ubit Umarov : variantes compilées.
[11:12] Gavin.Hird @grid.xmir.org:8002 : Je suppose que si vous ne voulez pas que votre avatar rezzé ressemble à une brique, vous aurez besoin d'un accès plus ou moins complet à l'inventaire.
[11:10] Andrew Hellershanks : oh, je vois.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : hehe vrai
[11:10] Ubit Umarov : pure stupidité maintenant.
[11:12] Gavin.Hird @grid.xmir.org:8002 : à ma connaissance, vous ne pouvez pas vous connecter avec un client texte léger.
[11:11] Ubit Umarov : et même des choses effrayantes.
[11:12] Ubit Umarov : comme <integer /> je me souviens.
[11:11] Ubit Umarov: tous utilisent system.compilerservices.unsafe
[11:13] Ubit Umarov : J'ai dû le retirer.
[11:11] Ubit Umarov : aussi pour .net4.5
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'aime définir des mots de passe à partir de 20 caractères et plus jusqu'à 64, radegast et je pense lumiya vomissent tout ce qui est au-dessus de 16 ou plus.
[11:12] Ubit Umarov : quand la documentation dit que c'est seulement pour .net core.
[11:13] Ubit Umarov : ce que veut vraiment la plupart des gens c'est chatter avec les autres.
[11:12] Ubit Umarov : au moins pour les choses qui supportent les ref locals.
[11:14] Ubit Umarov : être en contact avec ses amis...
[11:12] Ubit Umarov : bien... C# est juste mauvais maintenant
[11:14] Ubit Umarov : le 3d autour est juste un décor, la plupart du temps.
[11:14] Misterblue Waves : ce serait aussi bien pour des réunions comme celle-ci. Nous n'utilisons pas vraiment les fonctionnalités du monde 3D de cet endroit.
[11:15] Gavin.Hird @grid.xmir.org:8002 : alors vous pouvez simplement faire une réunion dans n'importe quelle plateforme de chat.
[11:15] Ubit Umarov : 21W sur mon processeur alors qu'il pourrait être à 5.
[11:15] Ubit Umarov : ;(
[11:15] Ubit Umarov : :)
[11:15] Ubit Umarov : je suppose que c'est plus sur le gpu.
[11:15] Misterblue Waves : Je suis en train de construire un tout nouveau protocole. Un jour, je devrai me battre avec UBit pour qu'un nouveau ClientView soit ajoutée à la base :)
[11:15] Ubit Umarov : mon utilitaire  ne montre pas l'estimation de la puissance du gpu :(
[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Si cela a du sens, je suis sûr qu'il l'ajoutera, il faut juste persister, c'est comme ça que je fais passer les choses ;)
[11:16] Ubit Umarov : L'idée est d'ajouter des clients.
[11:16] Ubit Umarov : maintenant... c'est un peu difficile car il y a des choses de SL partout.
</pre>
</pre>
 
= Viewer basé sur un navigateur Web =  
= Les metavers =
*[https://fr.wikipedia.org/wiki/GlTF GLTF] : format de fichier scènes et modèles 3D utilisant le format JSON.
* Ndlr : je voulais mettre des liens, mais après mure réflexion ... pas de pub.
*[https://documentation.maptiler.com/hc/en-us/articles/4410767380241-3D-vector-tiles-with-Cesium Cesium 3D]
*[[Chat_log_from_the_meeting_on_2022-02-08/fr#Syst.C3.A8me_LOD Voir les informations sur les LOD sur la page de la semaine dernière]]
*[https://threejs.org/ ThreeJS] : [https://cogito.no-ip.info/cogito/grille/galerie.php La galerie du site de la grille Argentoratum] a été construite puis générée à partir d'une région OpenSim en utilisant la bibliothèque Javascript Three.js 
*[https://www.infinitestudio.fr/2013/11/30/babylon-js-moteur-3d-base-sur-webgl-html5-et-javascript/ Babylon] : framework JavaScript qui permet de créer des mondes virtuels en 3D et exécutables directement sur votre navigateur.
*[https://fr.wikipedia.org/wiki/Unreal_Engine Unreal];: moteur de jeu vidéo propriétaire développé par Epic Games. 
*[https://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascade CSS : Feuilles de style en cascade] :  langage informatique qui décrit la présentation des pages d'un site Web. La standardisation des feuilles de styles pour tous les navigateurs Web est très difficile à obtenir.
*Convoar : Convertisseur d'OAR
*[https://virtualoutworlding.blogspot.com/2018/07/2018-ww-hg-importing-oar-files-from.html Importation de fichiers OAR d'OpenSim vers Web Worlds : Convoar ]
* [https://docs.blender.org/manual/fr/3.0/render/eevee/introduction.html Moteur de rendu Evee  dans Blender] : Eevee est le moteur de rendu en temps réel de Blender, construit en utilisant OpenGL, axé sur la vitesse et l’interactivité tout en atteignant l’objectif de faire le rendu des matériaux en PBR. Eevee peut être utilisé de manière interactive dans la Vue 3D mais aussi produire des rendus finaux de haute qualité.
* [https://docs.blender.org/manual/fr/3.0/render/cycles/index.html Moteur de rendu Cycles  dans Blender] : Cycles est le traceur de chemin basé sur la physique de Blender pour le rendu de production.
* [https://cgcookie.com/articles/blender-cycles-vs-eevee-15-limitations-of-real-time-rendering Cycles vs. Eevee - 15 Limites du rendu en temps réel dans Blender (mise à jour 2021)](en)
<pre>
<pre>
[11:17] Misterblue Waves : SL s'égare dans sa propre direction, et, avec de nouveaux consultants (<clin d'œil//>) ils pourraient changer beaucoup de choses.
[11:11] Misterblue Waves : J'essaie de lancer une discussion plus large à propos des viewers.
[11:17] Gavin.Hird @grid.xmir.org:8002 : ha !
[11:11] Misterblue Waves : jusqu'à présent, j'ai fait ce que j'avais à faire, mais j'ai besoin de plus de données.
[11:17] Ubit Umarov : une voix me vient à l'esprit.
[11:11] Michael.Christopher @cc.opensimulator.org:8002 : plus large ?
[11:17] Gavin.Hird @grid.xmir.org:8002 : J'ai vu que Meta va ajouter un espace de sécurité autour de tous les avatars.
[11:12] Misterblue Waves:  pour l'instant, J'ai des modules complémentaires qui convertissent les ressources OS aux formats GLTF, utilisent les tuiles Cesium 3D pour la définition de la scène afin d'obtenir une description LOD de la scène, et avoir un viewer de navigateurs boiteux.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : SL est, comme d'habitude, juste en train de tourner autour de la cuvette des toilettes ces derniers temps.
[11:13] Misterblue Waves : débattre de la quantité de LOD automatique à faire -- les viewers ont besoin d'assets plus simples pour les grandes scènes.
[11:18] Kayaker Magic : Meta ? Cette société ne va pas bientôt disparaître ?
[11:15] Ubit Umarov : quels navigateurs...
[11:18] Motoko.Karu @login.digiworldz.com:8002 : lol... je dois me souvenir de celui-là... <le commentaire sur la cuvette des toilettes>
[11:15] Ubit Umarov : quel viewer...
[11:18] Misterblue Waves : oui, HiFi avait cela dans leur première version. Meta est en train d'apprendre toutes les choses que SL a dû apprendre. Ils partent de zéro.
[11:17] Misterblue Waves : @Ubit, je travaille sur un viewer de monde virtuel depuis un moment et je suis plus ouvert à ce sujet.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelqu'un d'autre a été inondé d'emails relatifs au "metaverse" ces derniers temps ?
[11:17] Ubit Umarov : ok
[11:19] Ubit Umarov : je pense que meta est un peu plus en avance sur sl.
[11:18] Misterblue Waves : l'implémentation actuelle est ThreeJS dans n'importe quel navigateur (Chrome, Firefox, ...).
[11:19] Misterblue Waves : soit "metaverse" soit "crypto". Il y a beaucoup de pompage et de déversement en cours.
[11:18] Andrew Hellershanks : Misterblue, c'est un gros projet. J'espère que tu trouveras d'autres personnes pour t'aider.
[11:19] Gavin.Hird @grid.xmir.org:8002 : On pourrait l'espérer, mais la rumeur de sa mort est jusqu'à présent exagérée.
[11:18] Selby.Evans @grid.kitely.com:8002 : Une viewer basée sur le navigateur
[11:19] Ubit Umarov : regarder d'autres choses, comme sansar, space, etc...
[11:18] Misterblue Waves : bien que, ces derniers temps, le développement se fasse davantage sur Babylon que sur ThreeJS.
[11:20] Ubit Umarov : et beaucoup d'autres trucs autour des choses qui peuvent vendre oculus.
[11:19] Selby.Evans @grid.kitely.com:8002 : Devrait fonctionner dans tous les navigateurs.
[11:20] Ubit Umarov : Cela doit être très motivant... vendre des produits oculus :P
[11:19] Ubit Umarov : pour voir un modèle statique d'une région ?
[11:19] Misterblue Waves : J'espère avoir un viewer de navigateur et un viewer pour d'autres moteurs dans quelques mois. J'ai d'abord pensé à Unreal mais les gens n'aiment pas ça.
[11:19] Kayaker Magic : OMG, la plupart des pages WEB commerciales ont du mal à fonctionner dans tous les navigateurs !
[11:20] Kayaker Magic : J'aime Unreal !
[11:20] Misterblue Waves : @Kayaker en effet, la compatibilité en utilisant simplement le matériel "standard" est douteuse.
[11:20] Ubit Umarov : un des problèmes des bons moteurs est qu'ils coûtent $$$... beaucoup.
[11:21] Selby.Evans @grid.kitely.com:8002 : On peut déjà convertir les fichiers OAR pour les importer dans le navigateur.
[11:21] Ubit Umarov : unreal veut juste être payé...
[11:21] Ubit Umarov : aucun n'a un modèle "opensource" comme opensim.
[11:21] Kayaker Magic : Je pense qu'Unreal a changé cette politique pour les petits projets.
[11:21] Ubit Umarov : ce sont des choses qui rapportent de l'argent... pas de repas gratuit.
[11:22] Misterblue Waves : @Ubit, le protocole est organisé en "couches" qui peuvent avoir différents formats de messages et différents modes de transport réseau. Je sépare actuellement le contenu d'une région en statique, dynamique (script ou physique), et avatars.
[11:23] Misterblue Waves : @Selby, oui. J'ai écrit des "Convoar" et ces sous-programmes sont utilisés pour convertir les assets de région en GLTF à la volée ou par lots.
[11:23] Andrew Hellershanks : Kayaker, il est déjà assez difficile de faire en sorte que les pages statiques gèrent les CSS afin d'obtenir la même apparence sur plusieurs navigateurs sans ajouter des scripts au tableau.
[11:23] Kayaker Magic : L'avantage de Unreal est leur nouveau système auto-LOD. Puisque nous ne convaincrons jamais les constructeurs dans OpenSim d'optimiser leurs meshes, U5 rendrait tout ce contenu rapide.
[11:24] Misterblue Waves : la partie intéressante d'Unreal est leur optimisation du LOD dans le moteur de rendu. Cela complique architecturalement la quantité de LOD à faire dans la phase de génération des assets et dans la phase de rendu des asests.
[11:24] Selby.Evans @grid.kitely.com:8002 : Importation de fichiers OAR d'OpenSim vers Web Worlds : Convoar -- Importation de fichiers OAR d'OpenSim vers Web Worlds : Convoar
[11:24] Selby.Evans @grid.kitely.com:8002: https://virtualoutworlding.blogspot.com/2018/07/2018-ww-hg-importing-oar-files-from.html
[11:24] Misterblue Waves : sinon, il y a beaucoup de projets de rendu open-source qui pourraient être utilisés.
[11:26] Misterblue Waves : LOL, ce que @Kayaker a dit
[11:26] Selby.Evans @grid.kitely.com:8002 : Les mondes basés sur les navigateurs gagnent en popularité Decentraland, Mozilla hubs
[11:27] Selby.Evans @grid.kitely.com:8002 : en voici quelques-uns : https://mymetaversehub.com/
[11:27] Michael.Christopher @cc.opensimulator.org:8002 : Selby - je l'ai demandé assez longtemps :P
[11:28] Kayaker Magic : Beaucoup de gens demandent des voitures anti-gravité. Cela ne veut pas dire qu'elles voleront un jour.
[11:28] Andrew Hellershanks : Misterblue, Quand j'entends des références à des moteurs de rendu à utiliser avec  OS, je commence à m'interroger sur l'utilisation de celui de Blender. Il est plus probable qu'il ait une licence qui ne limite pas son utilisation à moins de payer quelqu'un un peu d'argent.
[11:29] Michael.Christopher @cc.opensimulator.org:8002 : steven utilise blender, mais je n'ai pas encore pris le temps de le découvrir, j'utilise toujours sketchup et l'exportation.
[11:29] Andrew Hellershanks hoche la tête.
[11:29] Ubit Umarov : utiliser un rendu de qualité photo pour le temps réel ? jezz
[11:30] Ubit Umarov : peu importe...
[11:30] Misterblue Waves : @Andrew, je ne me suis pas penché sur cette question. Je me demande comment on y accède et à quel point il est efficace. Le rendu d'une animation prototype peut être différent du rendu d'une vue de scène à haute fréquence d'images.
[11:30] Michael.Christopher @cc.opensimulator.org:8002 : oh attends tu veux dire en direct comme dans le monde ?
[11:30] Andrew Hellershanks : Blender est un programme avec de nombreuses parties à apprendre. Tout dépend de l'utilisation que vous en faites et de la profondeur à laquelle vous vous enfoncez dans le terrier du lapin.
[11:30] Kayaker Magic : Je suppose que le(s) moteur(s) de rendu de Blender n'ont pas été conçus pour être utilisés par d'autres systèmes, alors qu'Unreal a été conçu comme une API.
[11:30] Misterblue Waves : il y a TELLEMENT de projets de "monde virtuel" basés sur un navigateur. Il me semble que j'en trouve un nouveau tous les jours.
[11:31] Andrew Hellershanks : Misterblue, j'ai oublié quel est le (nouveau) moteur de rendu actuel de Blender mais Evee ou Cycles sont censés effectuer le rendu en temps réel.
[11:31] Andrew Hellershanks : Kayaker, j'ai entendu parler de l'un d'entre eux utilisé en dehors de Blender.
[11:31] Michael.Christopher @cc.opensimulator.org:8002 : kayaker - est-ce que c'est compliqué d'exporter de blender vers unreal ? nous travaillons toujours dans unity.
[11:31] Misterblue Waves : @Andrew, ça vaut le coup de jeter un coup d'oeil
[11:33] Misterblue Waves : une fois que le navigateur fonctionnera suffisamment, je veux un autre moteur de rendu qui fera sensation. Il y a un "bon" choix conservateur et il y a le choix "fou" qui ferait que les gens se lèvent et regardent :)
[11:33] Kayaker Magic : Je veux devenir fou !
[11:33] Andrew Hellershanks : Misterblue : Cette page couvre les différences entre Cycles et Evee -> https://cgcookie.com/articles/blender-cycles-vs-eevee-15-limitations-of-real-time-rendering
[11:34] Misterblue Waves : @Andrew merci !
</pre>
</pre>


= Système LOD =
= Cartes graphiques=
* LOD = Level Of Detail : Le "niveau de détail" du LOD fait référence à la quantité de détails d'un objet que le viewer rendra. Un facteur LOD plus élevé signifie que le viewer montrera l'objet avec plus de détails qu'un facteur inférieur. Un petit objet rendu à un LOD inférieur sera représenté par une forme plus simple ; un LOD supérieur sera rendu de manière plus précise. Comme nous l'avons déjà mentionné, le rendu d'un objet complexe demande plus de travail que celui d'un objet plus simple, et plus le LOD requis pour le rendre correctement est élevé, plus votre ordinateur et votre carte graphique doivent travailler dur. S'il y a beaucoup d'objets avec un LOD élevé dans une scène, votre ordinateur va ralentir. Le viewer gère cela en déterminant le LOD requis en fonction, notamment, de la distance qui vous sépare de l'objet. Un petit objet complexe situé à 20 mètres peut être rendu avec un LOD inférieur, et vous ne remarquerez jamais la différence, car il ne prend pas assez de place sur votre écran pour afficher tous ces détails. Si vous vous rapprochez (ou si vous approchez la caméra), le LOD augmentera parce que l'objet semble plus grand, et les détails deviendront visibles.
* [https://fr.wikipedia.org/wiki/Nvidia Nvidia] : entreprise américaine spécialisée dans la conception de processeurs graphiques.
**[https://www.firestormviewer.org/lod-and-the-upcoming-firestorm-release-the-what-and-why/ Informations en anglais sur le site de Firestorm]
**[https://beqsother.blogspot.com/2018/01/for-lods-sake-stop.html Blog technique de Beq : Pour l'amour de LOD, arrêtez !](en)
 
* [https://fr.wikipedia.org/wiki/GlTF glTF] : format de fichier scènes et modèles 3D utilisant le format JSON. 
* [https://threejs.org/examples/?q=Bounding%20box#webgl_helpers Exemple pour "Boîte de délimitation" (Bounding box)]
* [[ https://www.blender.org/ |Blender]](en) :  logiciel libre de modélisation
* Décimation (Decimate), exemple d'utilisation dans Blender : https://docs.blender.org/manual/fr/dev/modeling/modifiers/generate/decimate.html
* [https://cesium.com/blog/2015/08/10/introducing-3d-tiles/ Cesium's 3D Tiles] : Cesium est une plateforme 3D permettant de visualiser des globes, de chaque satellite dans l'espace à chaque immeuble de Manhattan en passant par chaque cratère sur Mars.
* [https://www.youtube.com/watch?v=JLUzi3y_uvM Quelle est la qualité de la nanite dans Unreal Engine 5 ?(Vidéo Youtube en anglais)]
* Nanite dans Unreal engin  :  principale caractéristique du moteur de jeu, permet d'importer dans les jeux des sources photographiques très détaillées et presque toute autre représentation tridimensionnelle préexistante d'objets et d'environnements. Nanite gère automatiquement les niveaux de détail (LOD) de ces objets.
<pre>
<pre>
[11:20] Misterblue Waves : quelqu'un travaille avec un système LOD ?
[11:35] Misterblue Waves : bien sûr, tout le monde a  3080 dans son ordinateur ;-)
[11:20] Misterblue Waves : Je me demande comment il est normalement mis en œuvre
[11:35] Andrew Hellershanks : 3080 ?
[11:21] Ubit Umarov : LOD  comme niveau de détail ?
[11:36] Ubit Umarov : nahh c'est faible... 3080 ti au moins... le plus 3090
[11:21] Misterblue Waves: oui
[11:36] Misterblue Waves : @Andrew c'est une carte graphique NVidia haut de gamme.
[11:21] Ubit Umarov : c'est un peu un truc du côté des viewers.
[11:36] Andrew Hellershanks : oh, la nouvelle ligne de cartes vidéo nVidia.
[11:22] Ubit Umarov : et aussi des créateurs de meshes.
[11:36] Michael.Christopher @cc.opensimulator.org:8002 : vraiment ? j'ai dépensé 4k pour ça et j'ai seulement eu le 3080.
[11:22] Kayaker Magic : Les publicités pour Unreal5 prétendent que leur moteur s'occupe du LOD pour vous.
[11:37] Michael.Christopher @cc.opensimulator.org:8002 : ça aurait été 2k de plus pour aller vers le 3090.
[11:22] Ubit Umarov : Oui, il le fait.
[11:37] Andrew Hellershanks : Je n'ai pas reconnu le numéro au début sans le préfixe RTX.
[11:22] Misterblue Waves : Je travaille sur la conversion du contenu OS en GLTF et ensuite sur l'auto LODing dans des segments de régions à plus faible résolution.
[11:37] Michael.Christopher @cc.opensimulator.org:8002 : j'ai pris une seconde aussi andrew
[11:22] Ubit Umarov : et sur des meshes énormes aussi.
[11:37] Ubit Umarov : vous ne faites rien sans un rtx3090
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : La distance de boîte de délimitation par rapport à la caméra ou peut-être même au centre de l'objet, puis... euh, c'était quoi 30 mètres pour le premier niveau, 90 et enfin 256, quelque chose comme ça ?
[11:37] Andrew Hellershanks : Je ne vais pas dépenser autant d'argent juste pour une carte vidéo.
[11:22] Misterblue Waves : Il y a beaucoup de techniques de décimation sur le marché alors je me suis dit que j'allais les utiliser.
[11:37] Misterblue Waves : bien sûr, avec un meilleur moteur de rendu, nous aurions besoin d'un meilleur contenu dans le monde. Je me souviens avoir essayé une des viewer VR et avoir trouvé que les arbres et les buissons étaient vraiment assez laid en VR.
[11:23] Ubit Umarov : fs montre les points de transition par maille maintenant.
[11:38] Ubit Umarov : la plupart des jeux haut de gamme ont besoin d'une 3080.
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : La subdivision est une bibliothèque subd9 ou quel que soit son nom, ce que blender utilisait il y a environ 5 ans.
[11:23] Ubit Umarov : les viewers auto lod ne sont pas si bien que ça.
[11:24] Gavin.Hird @grid.xmir.org:8002 : la bibliothèque GLOD d'anicnet sera bientôt remplacée dans les viewers.
[11:24] Ubit Umarov : et une simple décimation aveugle peut ne pas suffire.
[11:24] Misterblue Waves : certains navigateurs géographiques ont des fichiers de définition du monde (comme Cesium's 3D Tiles (https://cesium.com/blog/2015/08/10/introducing-3d-tiles/)).
[11:24] Gavin.Hird @grid.xmir.org:8002 : je ne me souviens pas de son nom à première vue.
[11:24] Ubit Umarov : oui, ils en parlent.
[11:24] Kayaker Magic : Voici une démo montrant UE5 faisant du LOD pour vous : https://www.youtube.com/watch?v=JLUzi3y_uvM
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai regardé ce code il y a juste deux semaines et j'ai déjà oublié, je me fais vieux lol.
[11:25] Ubit Umarov : j'ai fait un peu d'hébergement brut/basique pour le viewer unreal.
[11:26] Misterblue Waves : il y avait le vieux projet Sirkata qui implémentait le LOD automatique.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : La taille de l'objet fait également partie des calculs côté viewer lorsqu'elle commence à passer à différents niveaux, probablement en fonction de la réduction des polygones dans la scène. Il y avait quelque chose là-dedans sur la boîte de délimitation qui jouait un rôle dans les calculs.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pourcentage de la surface de l'écran
[11:27] Misterblue Waves : et puis, les moteurs de rendu comme Unreal ont une technologie auto-LOD incroyable intégrée.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce qui ne sert à rien de toute façon dans beaucoup de cas parce que les gens téléchargent toujours avec le même LOD pour tous les niveaux.
[11:27] Ubit Umarov : oui, les nanites semblent bien.
[11:28] Ubit Umarov : ( nanite est la chose la plus irréelle )
</pre>
</pre>
 
= La qualité des créations de contenu dans OpenSimulator =  
=Nouvelles dans le code  OpenSim =
* [https://fr.wikipedia.org/wiki/Docker_(logiciel) Docker]:  outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur.
* [https://github.com/Misterblue/opensim-docker Projet Opensim-Docker de Misterblue Waves]
* Option OutboundPermission :  dans StandaloneCommon.ini ou GridCommon.ini  dans la section [HGInventoryAccessModule]
* [https://fr.wikipedia.org/wiki/Architecture_ARM Architecture ARM]
<pre>
<pre>
[11:30] Ubit Umarov : alors quelles sont les nouvelles ?
[11:38] Andrew Hellershanks : Quand un viewer est capable de montrer aux gens un meilleur contenu, les gens commencent à faire un meilleur contenu.
[11:32] Misterblue Waves : J'ai mis à jour mon projet opensim-docker (https://github.com/Misterblue/opensim-docker)
[11:38] Ubit Umarov : bien que...
[11:32] Ubit Umarov : merci misterblue
[11:39] Ubit Umarov : Non, il n'y aura jamais de meilleur contenu.
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les changements récents dans les flags d'inventaire ont fait disparaître un peu d'inventaire pour les gens, évidemment le transfert de HG sans permissions d'exportation est arrivé assez souvent, donc c'était amusant.
[11:39] Ubit Umarov : la solution pour avoir un meilleur contenu et une RV commerciale viable est de confier la création du contenu à des professionnels.
[11:32] Ubit Umarov : quel changement de flags d'inventaire ?
[11:40] Ubit Umarov : comme sansar et space le font
[11:32] Ubit Umarov : je ne me rappelle pas avoir changé les flags d'inventaire.  
[11:40] Michael.Christopher @cc.opensimulator.org:8002: hmmm.
[11:33] Kayaker Magic : Ouais, c'est quelque chose que tu as fait Vincent ?
[11:40] Andrew Hellershanks : Ubit, considères-tu que le contenu en mesh n'est pas meilleur que ce qui était disponible avant lui ?
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le truc au sujet des permissions d'exportation de cette mantis, après cela les gens ont commencé à se plaindre de pertes dans les inventaires, je ne sais toujours pas exactement comment cela est lié.
[11:40] Jamie.Jordan @grid.kitely.com:8002 : les cartes sont géniales mais elles n'ont aucune importance si vous ne pouvez pas les acheter.
[11:33] Ubit Umarov : ne pas oublier d'autoriser les exportations de landmarks lorsque les autres sont bloqués.
[11:40] Ubit Umarov : oubliez. . le monde est pour ceux qui peuvent le payer
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je sais seulement que je n'ai pas trouvé les objets dans les assets donc, ils n'ont pas dû être transférés. Mais, ils étaient dans l'inventaire de l'utilisateur... je ne sais pas comment c'est possible, ma meilleure réponse serait que c'est dû au cache.
[11:41] Ubit Umarov : de plus en plus.
[11:34] Ubit Umarov : non, je ne pense pas que le code ait changé quoi que ce soit, mais il faut régler le problème et laisser les landmarks passer.
[11:41] Michael.Christopher @cc.opensimulator.org:8002 : jamie - excellent point. si les gens ne peuvent pas vraiment voir la VR sans une carte graphique de 2000-3000$, peu le feront un jour.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mise à jour du binaire supprimant le cache, feux d'artifice
[11:41] Andrew Hellershanks : Fermer la création de contenu pour les " professionnels " est à peu près ce que Sansar a fait.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais c'est la nature des corrections de bugs, on en gagne et on en perd.
[11:42] Ubit Umarov : c'est ce qu'on dit Andrew.
[11:35] Ubit Umarov : et ces changements de code ne sont pertinents que lorsque l'option de ne pas exporter est mise à true.
[11:42] Ubit Umarov : et c'est la seule façon d'avoir quelque chose qui fonctionne.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense que c'est une partie du problème, quelque chose qui n'obéit pas à "no export", mais eh c'est comme ça maintenant.
[11:42] Jamie.Jordan @grid.kitely.com:8002 : Je construirais une nouveau rig demain si je pouvais obtenir des éléments.
[11:36] Ubit Umarov : (option OutboundPermission)
[11:42] Ubit Umarov : on ne peut pas laisser les gens prendre des choses sur le web et les télécharger.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les autres changements sont principalement cosmétiques, du code de refactoring et quelque chose sur le support des puces ARM.
[11:42] Ubit Umarov : cela ne marchera jamais.
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelques corrections pour le domaine (Estate) également
[11:43] Ubit Umarov : peu importe la qualité des optimiseurs de téléchargement.
[11:43] Andrew Hellershanks : Cela n'aiderait pas le monde à se développer si seul un nombre relativement restreint de personnes peut créer du contenu.
[11:43] Ubit Umarov : c'est l'industrie du jeu.
[11:43] Ubit Umarov : et les films, etc.
[11:44] Ubit Umarov : donc en fait, il y a beaucoup de bons créateurs ici.
</pre>
</pre>
 
= Nouveau viewer et types d'avatars=
= Compatibilité et compilation =
* [https://readyplayer.me/fr Plateforme d'avatars multi-jeux pour le Metaverse]
* [https://gl.developpez.com/tutoriel/outil/makefile/ Makefile] fichiers utilisés par le programme make pour exécuter un ensemble d'actions, comme la compilation d'un projet, l'archivage de document, la mise à jour de site, etc.
* [https://virtualoutworlding.blogspot.com/2022/01/2022-biz-what-opensimulatorhypergrid.html Exigences communes aux métavers]
* AArch64 ou ARM64 est l'extension 64 bits de l'architecture ARM. Elle a été introduite pour la première fois avec l'architecture [https://fr.wikipedia.org/wiki/ARMv8 ARMv8-A.]
* [https://fr.wikipedia.org/wiki/Bullet_(moteur_physique) Bullet] :  moteur physique simulant la détection de collisions ainsi que la mécanique des corps rigides et déformables. Licence ZLib libre.
* [https://www.openjpeg.org/ OpenJep : codec JPEG 2000 open-source écrit en C.]
* [https://fr.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] :  nano-ordinateur monocarte à processeur ARM de la taille d'une carte de crédit créé  afin de démocratiser l'accès aux ordinateurs.
* [https://www.raspbian.org/ Raspbian est un système d'exploitation libre basé sur Debian et optimisé pour le matériel Raspberry Pi.]
* [https://fr.wikipedia.org/wiki/Mono_(logiciel) Mono] :  mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.
* [https://fr.wikipedia.org/wiki/Microsoft_.NET .NET]
* Prebuild.exe : fichier dans le dossier bin de OpenSimulator.
* [https://stackoverflow.com/questions/6446361/what-does-the-csproj-file-do fichier .csproj] : en langage C# (C Sharp), langage de programmation de OpenSimulator,  le fichier .csproj contient la liste des fichiers du projet, ainsi que les références aux assemblies du système, etc.
* sln : Un fichier SLN est un fichier de structure utilisé pour organiser des projets dans Microsoft Visual Studio. Il contient des informations textuelles sur l’environnement et l’état du projet.
* [https://fr.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2017 Visual Studio 2017 (vs2017)] :
<pre>
<pre>
[11:38] Ubit Umarov : oui, nous avons reçu une contribution pour modifier les makefiles afin de permettre la compilation de certaines librairies non gérées pour aarch64.
[11:41] Misterblue Waves : mon prochain vrai problème de rendu concerne les avatars. Je peux prendre le code de Radigast pour l'avatar de base mais je suis tout seul pour les avatars en meshes.
[11:38] Ubit Umarov : y compris celles déjà compilées.
[11:42] Misterblue Waves : puis il y a les nouveaux formats d'avatars comme le VRM.
[11:38] Ubit Umarov : pour bullet et openjeg
[11:44] Misterblue Waves : ce serait bien d'incorporer le format d'avatar utilisé par les vtubers et VRChat, etc. Il y a de bons sites de création d'avatars en ligne de nos jours.
[11:39] Misterblue Waves : maintenant que Raspian est disponible en 64 bits, je peux faire tourner tous mes vieux RaspPi avec des simulateurs LOL.
[11:44] Ubit Umarov : création d'avatar pour quoi faire ?
[11:39] Ubit Umarov : oui, c'est pour le 64 raspian je pense.
[11:44] Misterblue Waves : la raison pour laquelle Minecraft et SL sont aussi populaires est la facilité de création de contenu par les utilisateurs.
[11:39] Gavin.Hird @grid.xmir.org:8002 : sauf qu'il n'y a pas de mono 64-bit pour Raspian qui puisse compiler opensim
[11:45] Ubit Umarov : et bien, cela a été rendu possible à sl à cause de l'idée des prims.
[11:39] Gavin.Hird @grid.xmir.org:8002 : MS (Microsoft) a dit qu'il n'y en aura jamais
[11:45] Ubit Umarov : avec les meshes cela a commencé à se détériorer... même si ils sont limités à 16 bits.
[11:40] Ubit Umarov : je suppose que cette personne l'a fait fonctionner d'une manière ou d'une autre.
[11:46] Ubit Umarov : quand même, le viewer sl fonctionne sur un GPU intégré intel.
[11:41] Ubit Umarov : en fait, je n'ai aucune idée de MS dit à propos de mono.
[11:46] Ubit Umarov : des pc/ordinateurs portables de moyenne gamme.
[11:41] Gavin.Hird @grid.xmir.org:8002 : ils ont dit qu'il ne sera pas mis à jour.
[11:46] Michael.Christopher @cc.opensimulator.org:8002 : cela me ramène au sujet des standards pour les avatars afin que, comme notre suitcase ici, les avatars puissent faire la transition entre les mondes sans les recréer encore et encore.
[11:41] Ubit Umarov : ce qu'ils disent n'est pas du tout fiable.
[11:47] Kayaker Magic : Ouais, je suis loin de chez moi pour quelques semaines, et mon ordinateur portable fonctionne bien sans le nvidea de mon ordinateur de bureau.
[11:41] Kayaker Magic : Dang, 64bit Raspian était ma prochaine question. Est-ce que MicroSquishy fera un DotNet 64bit pour ARM ?
[11:47] Michael.Christopher @cc.opensimulator.org:8002 : on dirait que cela nécessiterait un système de superposition pour que les mondes à bas  polygones puissent afficher une version plus simple et que les mondes à haut polygones puissent afficher toute la complexité.
[11:42] Gavin.Hird @grid.xmir.org:8002 : .Net5
[11:47] Ubit Umarov : tous les systèmes ont cela michael.Christopher
[11:42] Gavin.Hird @grid.xmir.org:8002 : Oui.
[11:47] Ubit Umarov : LOD fait aussi partie de cela
[11:42] Gavin.Hird @grid.xmir.org:8002 : cela existe déjà pour autant que je sache.
[11:48] Michael.Christopher @cc.opensimulator.org:8002 : il fait partie de ce sujet de jardin clos.
[11:42] Ubit Umarov : la façon dont ms essaie maintenant de tuer le futur mono est en fait irritante.
[11:48] Misterblue Waves : aujourd'hui, les gens créent des avatars en utilisant des outils comme ReadyPlayerMe (https://readyplayer.me/) et peuvent les utiliser dans de nombreux mondes différents (VRChat, Decentraland, ...).
[11:42] Kayaker Magic : Mike Chase a fait tourner OpenSim sur DotNet, mais seulement sur des serveurs WinCows.
[11:48] Ubit Umarov : avec des niveaux de LOD haute définition limités à un meilleur matériel.
[11:42] Gavin.Hird @grid.xmir.org:8002 : MS l'utilise dans Visual Studio pour macOS fonctionnant sur Apple Silicon.
[11:48] Misterblue Waves : cela devrait aussi l'être dans OpenSim
[11:43] Ubit Umarov : pas sûr qu'il l'ait fait...
[11:48] Michael.Christopher @cc.opensimulator.org:8002: oui
[11:43] Ubit Umarov : il travaillait dessus, je suppose.
[11:49] Ubit Umarov : il suffit d'ajouter un plugin avatar comme dans SL à ce readyplayerme.
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous ne pouvez pas développer quoi que ce soit après 4.8 parce que la documentation est, excusez mon langage, de la merde de cheval. Avec .net core, standard et toutes ces conneries, c'est devenu un désordre total de construire quoi que ce soit, sans parler de l'indépendance de la plateforme.
[11:50] Misterblue Waves : @Ubit, je pense plutôt à l'inverse.
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : MS est en train de tuer .net comme ils le font habituellement avec tout finalement.
[11:50] Ubit Umarov : d'après ce que je vois, ce n'est pas un avatar pour tous les jeux... c'est un avatar "compilé" pour tel ou tel jeu...
[11:43] Ubit Umarov : ms a tué le noyau et le standard maintenant.
[11:50] Ubit Umarov : Je sais que vous êtes... mais il ne semble pas que ce soit le cas.
[11:44] Ubit Umarov : tout ce qu'ils ont dit à ce sujet a été envoyé à la poubelle.
[11:50] Ubit Umarov : mais je ne sais pas...
[11:44] Ubit Umarov : depuis :net5 et 6 unifient tout ( ils le revendiquent )
[11:50] Misterblue Waves : tout le monde nomme ses os différemment, on dirait.
[11:45] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous allez dans la documentation pour trouver une fonction pour quelque chose, il s'avère que cela ne fonctionne pas, stackoverflow dit alors d'utiliser quelque chose d'autre, mais cela n'est disponible que dans l'ancien .net et vous êtes de retour dans la documentation de MS en essayant de comprendre ce qu'est exactement la chose maintenant, un désordre total.
[11:50] Ubit Umarov : tout le monde fait son propre truc.
[11:45] Ubit Umarov : toute précipitation pour passer à Dotnet est une perte de temps.
[11:51] Ubit Umarov : il n'y a pas de standard "avatar".
[11:46] Misterblue Waves : Il faut refactoriser certaines des bibliothèques de base (PrimMesher, libOpenSim, ...) et déplacer un tas de code dans OS. J'ai pensé à pousser une version de OS vers .Net6/Standard2 mais c'est un gros travail.
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : c'est ce que je pensais aussi ubit - il génère un avatar que vous pouvez re-uploader dans tous les autres mondes, mais si vous changez l'avatar dans un monde, vous devrez le re-uploader partout ailleurs pour répercuter ce changement.
[11:46] Ubit Umarov : la façon dont ils continuent à changer.
[11:51] Ubit Umarov : juste des choses qui ont l'air identiques, parce que chacune copie les autres idées.
[11:46] Andrew Hellershanks : Vincent, ça ressemble à la disparité typique entre la documentation et le code.
[11:51] Andrew Hellershanks acquiesce.
[11:46] Ubit Umarov : pendant ce temps, les gens font des choses pour faciliter le portage.
[11:51] Misterblue Waves : @Michael, je suis sûr que c'est comme ça.
[11:47] Misterblue Waves : Prebuild a besoin d'un peu de travail pour gérer les nouveaux formats de fichiers .csproj.
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : oui, c'est ce que j'essayais de dire lol
[11:47] Ubit Umarov : Oui, c'est vrai.
[11:52] Ubit Umarov : donc ouais... je veux faire des avatars opensim avec ça... ajouter le module à ça :p
[11:48] Ubit Umarov : certains qui l'utilisaient ont abandonné et n'utilisent plus que des slns directs et des csproj.
[11:52] Misterblue Waves : il n'y a pas de stockage central ou de format dans lequel tout le monde puise. C'est aussi la même farce que les NFTs, mais c'est un autre sujet.
[11:48] Ubit Umarov : comme le radagash cinder ?
[11:52] Michael.Christopher @cc.opensimulator.org:8002 : Je pense que nous avons une base convenable avec la suitcase  pour parcourir l'Hypergrid.
[11:48] Misterblue Waves : J'aimerais pouvoir avoir un prebuild.xml qui dit "Standard 2.0" et avoir les bons trucs de compilation.
[11:52] Ubit Umarov : donc ouais... on peut parler beaucoup...
[11:48] Ubit Umarov : oui, il faut le changer pour les nouveaux formats de fichiers.
[11:53] Ubit Umarov : mais à la fin de la journée... des spécifications concrètes sont nécessaires.
[11:49] Ubit Umarov : et les options.
[11:53] Michael.Christopher @cc.opensimulator.org:8002 : si les utilisateurs ont un monde d'origine qui stocke leur contenu, alors en allant ailleurs l'avatar peut être chargé à partir de la maison d'origine.
[11:49] Misterblue Waves : Cinder a fait beaucoup de bon travail dans cette direction. Elle avait une version standard2 de primmesher et libreOMV sur le dépôt NuGet à un moment donné.
[11:53] Ubit Umarov : et tout ce qui est là, dehors, est simplement une cible qui se déplace rapidement...
[11:49] Ubit Umarov : son support pour vs2017 était déjà un peu dépassé :)
[11:53] Misterblue Waves : OpenSim a résolu un tas de trucs HG que le monde essaie de comprendre (encore).
[11:49] Misterblue Waves : Je n'ai pas vérifié depuis un moment.
[11:54] Ubit Umarov : combien de fois la roue a-t-elle été inventée :)
[11:50] Ubit Umarov : oui, je pense qu'elle a remplacé le code d'image, mais une bibliothèque plus lente qu'ils recommandent maintenant.
[11:54] Ubit Umarov : n'a pas été inventée ?
[11:54] Andrew Hellershanks : Ubit, beaucoup de fois et il sera inventé encore beaucoup plus de fois.
[11:55] Michael.Christopher @cc.opensimulator.org:8002 : ubit - mais la roue actuelle n'est pas assez bonne, nous avons besoin d'une meilleure roue.
[11:58] Selby.Evans @grid.kitely.com:8002 : Ce dont OpenSimulator/hypergrid a besoin pour être qualifié de métaverse du début. Il possède déjà la plupart des fonctionnalités nécessaires : Une réunion dans le metaverse. https://virtualoutworlding.blogspot.com/2022/01/2022-biz-what-opensimulatorhypergrid.html
</pre>
</pre>
 
= Script : fonction osForceAttachToOtherAvatarFromInventory()=
=Probmème avec NuGet=
* [[OsForceAttachToOtherAvatarFromInventory]]
* [https://fr.wikipedia.org/wiki/NuGet NuGet]:  gestionnaire de paquets de la plate forme de développement Microsoft .NET.
* [https://fr.wikipedia.org/wiki/Nodejs Node.js] est une plateforme logicielle libre en JavaScript
* [https://fr.wikipedia.org/wiki/C_(langage) C  langage de programmation impératif généraliste, de bas niveau]
* [https://fr.wikipedia.org/wiki/Glade Glade : outil interactif de conception d'interface graphique GTK+ (bibliothèques logicielles) ]  
* [https://fr.wikipedia.org/wiki/Dynamic_Link_Library DLL]: Dynamic Link Library est une bibliothèque logicielle dont les fonctions sont chargées en mémoire par un programme.
<pre>
<pre>
[11:50] Misterblue Waves : je ne suis pas sûr que le noyau OS soit à la hauteur de NuGet, à moins que nous ayons hébergé notre propre dépôt (afin de ne pas charger de choses éventuellement imprévisibles).
[11:52] Andrew Hellershanks : Il reste un peu moins de 10 minutes avant la fin de l'heure. J'ai une question sur osForceAttachToOtherAvatarFromInventory().
[11:50] Ubit Umarov : nuget est inutile :p
[11:53] Andrew Hellershanks : Cette fonction OSSL ne fonctionne pas avec les NPCs. Je suis allé jusqu'à vérifier si elle passe un UUID à GetScenePresence(). Est-ce que GetScenePresence() ignore les NPCs ?
[11:50] Vincent.Sylvester @hg.zetaworlds.com:8002: Amen
[11:54] Misterblue Waves : les NPCs ne sont-ils pas une sous-classe différente de ScenePresence ? Cela pourrait signifier qu'il l'implémente différemment
[11:51] Ubit Umarov : et oui, cela pollue nos machines.
[11:56] Andrew Hellershanks : Ubit, on m'a dit que la fonction ne fonctionne pas pour forcer les pièces jointes sur les NPCs.
[11:51] Ubit Umarov : charge de la merde dans un dossier quelque part.
[11:56] Ubit Umarov : oui... cela déplace l'objet dans l'inventaire de la personne.
[11:51] Andrew Hellershanks : N'est-ce pas quelque chose que l'on utilise pour construire des applications Android ?
[11:56] Ubit Umarov : et les npcs n'en ont pas.
[11:51] Ubit Umarov : Non.
[11:56] Andrew Hellershanks : Ah, ça explique tout.
[11:51] Vincent.Sylvester @hg.zetaworlds.com:8002 : nuget est le nodejs du monde C.
[11:57] Ubit Umarov : pas fait pour les npc.
[11:51] Andrew Hellershanks : oh, non. Je pense que c'était Glade.
[11:58] Andrew Hellershanks : merci, je vais transmettre cette information.
[11:52] Ubit Umarov : gestionnaire de paquets
[11:58] Ubit Umarov : je suppose qu'aucun code de script d'attachement ne fonctionne sur les npc.
[11:52] Misterblue Waves : J'ai regardé un peu libOMV mais il a besoin d'un tas de remaniements pour en faire un ensemble de bibliothèques car les fonctions sont mélangées avec le code d'utilisation et on ne peut pas facilement séparer les fonctions.
[11:59] Andrew Hellershanks : Ce serait bien de pouvoir le faire, même si cela n'est probablement pas nécessaire très souvent.
[11:52] Ubit Umarov : à un moment donné, xenko a récupéré tous les paquets nuget.
[11:52] Ubit Umarov : et à partir de quelques fichiers de bibliothèque, il est passé à 300 paquets nuget.
[11:53] Misterblue Waves : OS n'utilise pas NuGet. Il dépose juste les DLLs dans le répertoire bin. Des DLLs brutes qui sont construites à partir de bibliothèques que nous contrôlons.
[11:53] Misterblue Waves :OS pourrait utiliser NuGet si nous utilisions nos propres dépôts et contrôlions les binaires. C'est ce que nous faisons avec PrimMesher, etc maintenant.
[11:53] Ubit Umarov : oui, l'ancienne méthode plus propre et contrôlable.
[11:54] Ubit Umarov : et quel est le but MB ?
[11:54] Ubit Umarov : juste pour avoir l'air moderne et fantaisiste aux yeux des enfants ? :)
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il n'y a pas si longtemps, il y a eu un problème dans libomv avec un verrouillage ou une synchronisation, ne pas avoir le contrôle de cela aurait été une énorme douleur.
[11:55] Vincent.Sylvester @hg.zetaworlds.com:8002: [11:55] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne me souviens même pas de ce que c'était spécifiquement, mais nous avons dû décompiler la bibliothèque terminée pour la corriger parce que quelque chose était "optimisé".
[11:55] Ubit Umarov : aucune idée. Mais tu as des problèmes étranges vicent :p
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est probablement pour ça que je ne gagne pas à la loterie, hein ?
[11:56] Andrew Hellershanks: hehe
[11:57] Kayaker Magic : Je ne participe pas à la loterie parce que je n'achète pas de tickets. L'achat d'un ticket n'augmente pas beaucoup la probabilité de gagner.....
[11:57] Misterblue Waves : malgré l'impression de ne pas être à la page, j'utilise des bibliothèques à plusieurs endroits (PrimMesher, Meshmerizer, AssetLoader). Ce serait bien d'accéder à Robust à partir d'autres outils d'assets du monde (plugin Blender ?).
[11:57] Misterblue Waves : J'aime que les choses soient décomposées en morceaux facilement chargeables.
</pre>
</pre>


= Bases de données et OpenSim =  
= Changements dans le code OpenSim cette semaine =  
* [https://mariadb.org/ MariaDB ] : système de gestion de base de données édité sous licence GPL.
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim]
* [https://fr.wikipedia.org/wiki/MySQL MySQL ]:un système de gestion de bases de données relationnelles (SGBDR)
* [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/ libopenmetaverse]
* [https://fr.wikipedia.org/wiki/DBase DBase] : système de gegstion de base de données destiné à faire partager des fichiers de données par plusieurs utilisateurs.
* [https://en.wikipedia.org/wiki/SQLite SQLite] :  est une bibliothèque écrite en langage C qui propose un moteur de base de données relationnelle accessible par le langage SQL
* [https://fr.wikipedia.org/wiki/PostgreSQL PostgreSQL] : système de gestion de base de données relationnelle et objet (SGBDRO). Outil libre disponible selon les termes d'une licence de type BSD.
* [[Réunion_du_01-02-2022#Problème_de_compilation_du_viewer_dans_Windows|Problème avec MariaDB évoqué pendant la réunion précédente & Plan B de Gavin.Hird]]
* [https://fr.wikipedia.org/wiki/Structured_Query_Language SQL] :  langage informatique normalisé servant à exploiter des bases de données relationnelles.
* [http://opensimulator.org/wiki/ROBUST ROBUST] est l'acronyme de "redesigned OpenSimulator Basic Universal Server Technology" (ROBUST).Il s'appuie sur le système de connecteurs et de services entrants et sortants qui a été développé pour l'Hypergrid et OpenSimulator.
* [http://opensimulator.org/wiki/FSAssets_Service/fr  FSAssets] est destiné aux grandes grilles pour lesquelles la taille de la base de données dépasse les 50 Go. Cette option va placer les assets dans un système de fichiers à l'opposé du service par défaut qui stocke tous les assets au format blob dans la base de données.
*  [https://www.outworldz.com/outworldz_installer/ DreamGrid] est un systeme OpenSimulator compatible windows, gratuit, pré packagé, facile d'installation, facile à exécuter et puissant.
<pre>
<pre>
[11:57] Andrew Hellershanks : Il reste un peu moins de cinq minutes avant la fin de l'heure. D'autres sujets liés à OS pour aujourd'hui ?
[11:17] Andrew Hellershanks : D'après le journal des changements dans OS de la semaine dernière, la plupart des changements étaient liés à libOMV.
[11:57] Jagga Meredith : Quel que soit mon problème avec MariaDB, il ne s'est pas reproduit.
[12:00] Ubit Umarov : bien à propos des changements de code de la semaine dernière.
[11:58] Andrew Hellershanks : Jagga, c'est bon à entendre. J'espère que ça restera comme ça.
[12:00] Ubit Umarov : comme andrew l'a dit, quelques changements sur libopenmetaverse.
[11:58] Jagga Meredith : *note* incrémenter de 0 à 1 est une augmentation des chances de 100%.
[12:01] Ubit Umarov : avec un peu d'accélération sur json à partir du code de sérialisation OSD.
[11:58] Jagga Meredith: s/increating/incrementing/
[12:01] Ubit Umarov : l'original était juste mauvais
[11:58] Gavin.Hird @grid.xmir.org:8002 : non, je travaille sur le plan B, et il est en train de se construire et de fonctionner dans SL.
[12:01] Ubit Umarov : parce qu'il utilise une bibliothèque, ( litJson)
[11:59] Misterblue Waves : J'ai utilisé MariaDB sans aucun problème. C'est ce que j'ai incorporé dans opensim-docker (en faisant tourner deux conteneurs dont l'un est l'image stockée de MariaDB).
[12:02] Ubit Umarov : pour envoyer quelque chose en json, nous devons créer un objet OSD en y ajoutant des choses.
[12:00] Jagga Meredith : Je n'aime pas les choses qui se cassent et se réparent comme par magie.
[12:02] Ubit Umarov : les choses de .net qui sont stockées dans les nouveaux objets OSD.
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense toujours que changer le bazar des uuid des groupes type varchar bytes en uuid réel pourrait aider à réduire la taille des requêtes et donc les performances, mais je n'ai pas eu le temps de m'y intéresser.
[12:03] Ubit Umarov : c'est toujours nécessaire, bien sûr.
[12:00] Andrew Hellershanks : Moi non plus, Jagga.
[12:03] Ubit Umarov : mais le code original n'a pas été converti en objets natifs de la bibliothèque.
[12:00] Jagga Meredith :toujours fidèle à MariaDB malgré tout.
[12:03] Ubit Umarov : donc une tonne supplémentaire de classes .net temporaires...
[12:01] Ubit Umarov : dans certains cas, la question est de savoir pourquoi SQL.
[12:04] Ubit Umarov : puis j'ai utilisé la bibliothèque pour convertir les chaînes de caractères en utf-16.
[12:01] Misterblue Waves : @Vincent, c'est vrai. MySQL devient une entreprise et il est difficile de le configurer et de le contrôler.
[12:04] Ubit Umarov : et de celles-ci en utf-8 byte[].
[12:01] Ubit Umarov : d'autres forks sont passés à d'autres types de base de données avec un certain succès semble-t-il.
[12:04] Michael.Christopher @cc.opensimulator.org:8002 : :/ Je dois partir, il est temps d'aller chercher mon fils à l'école. Passez une bonne semaine et envoyez-moi un email si vous avez besoin de moi !
[12:02] Misterblue Waves : @UBit, utiliser simplement le système de fichiers ?
[12:05] Ubit Umarov : le nouveau code, va directement des objets OSD aux byte[] en utf8.
[12:02] Gavin.Hird @grid.xmir.org:8002 : quelques succès
[12:05] Andrew Hellershanks : ok, Michael. Merci d'être passé.
[12:02] Ubit Umarov : non, d'autres choses (qui finissent par faire ça) :)
[12:05] Ubit Umarov : c'est utilisé dans plusieurs endroits comme une partie de l'api Robust.
[12:02] Ubit Umarov : comme (Clé valeur) seulement des choses.
[12:05] Misterblue Waves : prends soin de toi Michael.
[12:03] Ubit Umarov : la plupart des bases de données de nos régions sont insensées.
[12:05] Ubit Umarov : les téléports...
[12:03] Misterblue Waves : Les bases de données sont les meilleures si l'on fait des requêtes de sélection. La recherche simple clé=>valeur peut être faite facilement.
[12:05] Ubit Umarov : etc.
[12:03] Ubit Umarov : ces tables primaires remplies de colonnes que nous n'utilisons jamais.
[12:06] Ubit Umarov : salut Mi.
[12:03] Ubit Umarov : c'est à dire qu'on n'y accède jamais de manière indépendante.
[12:06] Ubit Umarov : malheureusement la désérialisation est toujours comme avant...
[12:03] Gavin.Hird @grid.xmir.org:8002 : remplissage
[12:06] Ubit Umarov : byte[] -> utf16 -> litjson data -> osd -> .net variables
[12:04] Misterblue Waves : nous aurions besoin d'une autre base de données si nous avions besoin de requêtes complexes (sélectionner tous les objets qui ont une résolution supérieure à 0,5 et qui sont à plus de 50 mètres).
[12:07] Andrew Hellershanks : Cela fait beaucoup d'étapes.
[12:04] Jagga Meredith : apparemment dbase est toujours là. Dbase me manque.
[12:07] Ubit Umarov : un exemple parfait de ce qu'opensim a considéré jusquprésent comme un "bon" protocole.
[12:04] Ubit Umarov : le truc c'est que nous n'avons pas de requêtes complexes sur la plupart des choses.
[12:07] Ubit Umarov : c'est effrayant quand on lit les nouveaux protocoles opensim :P
[12:05] Andrew Hellershanks : J'avais l'habitude d'utiliser ça aussi, Jagga.
[12:08] Ubit Umarov : parce que vous voyez ce que je veux dire :p
[12:05] Ubit Umarov : nous sauvegardons et lisons une prim seulement comme un bloc individuel.
[12:09] Ubit Umarov : ça marche bien sur des régions avec 20ppl qui dansent tous la même danse tout le temps :p
[12:05] Kayaker Magic : Les requêtes les plus complexes que j'ai utilisé dans OpenSim sont pour des tâches d'administration à partir d'une page WEB PHP....
[12:09] Ubit Umarov : je ne sais pas pourquoi les gens ne veulent faire plus que ça.
[12:05] Ubit Umarov : donc actuellement c'est en fait une configuration (clé, valeur) en termes pratiques.
[12:09] Ubit Umarov : ;)
[12:05] Misterblue Waves : Robust a un magasin de système de fichiers, non ?
[12:09] Misterblue Waves : ce genre de choses nous a permis de nous en sortir pendant longtemps.
[12:06] Ubit Umarov : avec la valeur une info sérialisée.
[12:10] Misterblue Waves continue à danser avec les 5 personnes présentes :)
[12:06] Ubit Umarov : seulement fsassets je pense.
[12:10] Ubit Umarov : :)
[12:06] Ubit Umarov : et le fichier direct n'est pas si cool.
[12:10] Andrew Hellershanks: :)
[12:07] Ubit Umarov : les bases de données essaient d'optimiser l'accès au disque.
[12:10] Ubit Umarov : .net5/6 a maintenant son propre json.
[12:07] Ubit Umarov : et faire...
[12:10] Ubit Umarov : et son propre utf8 direct
[12:07] Ubit Umarov : en fait, certains demandent leur propre système de fichiers.
[12:11] Ubit Umarov : mais yeachhhh... certains codes sont assez moches aussi
[12:07] Gavin.Hird @grid.xmir.org:8002 : à un moment donné, le système de fichiers devient impossible à sauvegarder et à restaurer.
[12:11] Misterblue Waves : il est temps de mettre à jour tout l'OS vers Dotnet 6 !
[12:08] Ubit Umarov : le nouveau cache du viewer est un exemple.
[12:11] Ubit Umarov : je le fais avec d'autre code... en fait comme du code .net 2.0
[12:08] Ubit Umarov : c'est un pas en arrière
[12:11] Misterblue Waves : convertir tout le code !
[12:08] Ubit Umarov : l'ancien cache était meilleur.
[12:11] Ubit Umarov : ça marche aussi vite que ce nouveau code.
[12:08] Misterblue Waves : J' ai découvert certains systèmes d'exploitations qui ne se comportent pas très bien pour accéder à des fichiers aléatoires dans des répertoires à plusieurs niveaux. Thrash, thrash, thrash
[12:12] Ubit Umarov : ouais, .net5 en gros, c'est quoi ?
[12:08] Jagga Meredith : ORACLE a l'habitude de proposer ses propres systèmes de fichiers "raw" multiples.
[12:12] Ubit Umarov : une migration correcte vers ce système impliquerait une réécriture à 90%.
[12:09] Ubit Umarov : oui, les systèmes de fichiers des systèmes d'exploitation ne sont pas si bons pour le traitement des bases de données.
[12:12] Ubit Umarov : sans parler des choses perdues.
[12:09] Jagga Meredith : j'avoue, j'avais un stégosaure de compagnie à l'époque.
[12:12] Misterblue Waves : quelle est la raison pour laquelle nous ne pouvons pas encore convertir ? Les anciens systèmes ?
[12:09] Kayaker Magic : J'ai vu de très mauvaises performances avec le mysql fourni avec le système DreamGrid, quel mysql fonctionne sous WinCows ?
[12:12] Ubit Umarov : comme l'image
[12:09] Ubit Umarov : les choses habituelles génériques/spécialisées.
[12:13] Ubit Umarov : pour commencer notre propre site :p
[12:10] Ubit Umarov : apache
[12:13] Misterblue Waves : oui, Image et Bitmap sont de vrais problèmes.
[12:10] Ubit Umarov : oops
[12:13] Ubit Umarov : alors ... tout cela semble juste assez mauvais
[12:10] Ubit Umarov : mysql
[12:13] Ubit Umarov : la chose des tâches qu'ils aiment
[12:10] Gavin.Hird @grid.xmir.org:8002 : mysql fonctionne généralement comme une merde, sans réglage c'est encore pire.
[12:13] Ubit Umarov : c'est juste MAUVAIS
[12:11] Ubit Umarov : mais bien sûr, dans plusieurs domaines, notre code rend les bases de données trop lentes.
[12:14] Ubit Umarov : J'ai essayé sur le serveur https.
[12:12] Ubit Umarov : bien et fonctionne même sur sqlite
[12:14] Misterblue Waves : c'est pourquoi j'aime Standard2.0, tout un tas de sous-projets d'OS peuvent être convertis en cela sans s'engager dans un changement total pour le moment.
[12:12] Ubit Umarov : un jour, il faudra réécrire tout ce bazar.
[12:14] Ubit Umarov : j'ai beaucoup plus d'échecs de GC
[12:13] Andrew Hellershanks hoche la tête
[12:14] Ubit Umarov : plus de mémoire perdue par GC
[12:13] Gavin.Hird @grid.xmir.org:8002 : corrigez le code de postgres, mettez à jour mysql et vous obtiendrez un système beaucoup plus performant.
[12:14] Ubit Umarov : et des fuites de threads
[12:14] Ubit Umarov : spécialement avec mono
[12:14] Misterblue Waves : vraiment ? Les tâches sont si mauvaises ? Ou juste la façon dont nous les utilisons ?
[12:14] Ubit Umarov : et plus lent
[12:15] Ubit Umarov : Nous n'utilisons pas les tâches.
[12:15] Ubit Umarov : tous les enfants modernes le font :p
[12:15] Ubit Umarov : pas opensim
[12:15] Misterblue Waves : nous avons des wrappers autour des Threads dans le code existant.
[12:15] Ubit Umarov : nous utilisons les threads.
[12:15] Ubit Umarov : pas les tâches
[12:16] Ubit Umarov : la tâche est une couche supplémentaire autour des threads
[12:16] Ubit Umarov : le tash async attend, même un changement total de code sous le capot
[12:16] Misterblue Waves : J'ai utilisé les Tasks dans mon nouveau code mais je n'ai pas encore insisté pour voir si elles se cassent.
[12:16] Ubit Umarov: en ajoutant des variables statiques et des machines d'état démentes.
[12:17] Ubit Umarov : le code ms est génial quand il n'est pas utilisé :p
[12:17] Misterblue Waves : "Insane State Machines" est le nom d'un groupe de rock.
[12:17] Ubit Umarov : :)
[12:17] Ubit Umarov : bien, sur le  httpserver envoyé, j'ai utilisé l'ancien début/fin.
[12:18] Andrew Hellershanks : Misterblue, :)
[12:18] Ubit Umarov : qu'ils utilisent toujours à un niveau inférieur.
[12:18] Ubit Umarov : parce que c'est ce qui fonctionne le mieux dans Windows (overlaped io).
[12:19] Ubit Umarov : et pas si mal sur les wrappers linux.
[12:20] Ubit Umarov : le futur code d'opensim a demandé beaucoup de travail à l'époque de .netcore.
[12:20] Ubit Umarov : jusqu'à 3.1
[12:20] Selby.Evans @grid.kitely.com:8002 : au revoir à tous.
[12:21] Ubit Umarov : parce que la quantité de choses à réécrire était beaucoup plus importante.
[12:21] Ubit Umarov : salut Selby.
[12:21] Ubit Umarov : 2 en retard
[12:21] Ubit Umarov : dans core3.1 ms ont compris qu'ils auraient besoin de porter beaucoup plus de frameworks vers lui.
[12:22] Ubit Umarov : ils ont juste laissé beaucoup de choses de côté, comme l'image...
[12:22] Ubit Umarov : bien qu'ils aient l'image... bit, map etc... Windows seulement.
[12:22] Ubit Umarov : sur le .net5.0-windows
[12:22] Ubit Umarov : bahh
[12:23] Ubit Umarov : sans .net6.0-windows bien sûr.
[12:24] Ubit Umarov : oh la semaine dernière j'ai aussi accepté un patch.
[12:24] Misterblue Waves : J'ai vu ça !
[12:24] Ubit Umarov : j'ai ajouté quelques bibliothèques pour le processeur 64bit de Rasp Pi.
[12:25] Andrew Hellershanks : J'ai remarqué cela aussi
[12:25] Ubit Umarov : oh c'était déjà dans la semaine précédente :)
[12:25] Jamie.Jordan @grid.kitely.com:8002 : A la semaine prochaine.
[12:26] Misterblue Waves : au revoir Jamie.
[12:26] Ubit Umarov : Oh et Gavin n'est pas venu.
[12:26] Ubit Umarov : J'espère que tout va bien pour lui.
[12:26] Andrew Hellershanks : Une correction de bogue cette semaine pour  stopper certains doublons de messages instantanés.
[12:27] Ubit Umarov : oui, j'en ai ajouté un récemment :p
[12:27] Ubit Umarov : dans le cas de plusieurs régions par instance.
</pre>
</pre>
 
= Conclusion =  
= système de Tâches pour .NET =
* [https://fr.wikipedia.org/wiki/Planificateur_de_t%C3%A2ches Planificateur de tâches] : programme informatique permettant de planifier l'exécution automatique et périodique de tâches (commandes, scripts, programmes).
* FIFO :  file d'attente ou queue, dans laquelle les premiers éléments entrés sont aussi les premiers à sortir.
* LIFO : La dernière donnée enregistrée est ainsi la première à être retirée (sauf commande particulière).
<pre>
[12:14] Misterblue Waves : quel est le ressenti par rapport au système de Tâches pour .NET ? Devrions-nous retirer SmartThreads et passer à un planificateur de tâches (Task scheduler)?
[12:15] Ubit Umarov : pense que SmartThreads est toujours bien meilleur que le threapool natif.
[12:15] Ubit Umarov: qui provoque actuellement des fuites de threads sur mono.
[12:15] Ubit Umarov: bahh
[12:16] Ubit Umarov : et a toujours des problèmes de surcharge.
[12:16] Ubit Umarov : les réponses à ces problèmes sont "votre application est mauvaise... elle ne devrait pas demander autant de threads si rapidement".)
[12:17] Selby.Evans @grid.kitely.com:8002 : Au revoir tout le monde.
[12:17] Ubit Umarov : la seule bonne application pour les gars de MS est celle qui ne fait rien, donc pas de bugs :)
[12:18] Ubit Umarov : salut Selby.Evans
[12:18] Misterblue Waves : au revoir Selby.
[12:18] Ubit Umarov : mais celles où ils répondent aux problèmes avec surcharge de thread ...
[12:18] Misterblue Waves : pas assez rapide :)
[12:19] Ubit Umarov : bien mais il fait mieux sous windows.
[12:19] Ubit Umarov : just smart permet aussi plusieurs pools indépendants.
[12:19] Ubit Umarov : etc.
[12:19] Ubit Umarov : ohh et amusant amusant
[12:20] Jamie.Jordan @grid.kitely.com:8002 : Bonne réunion, merci à tous.
[12:20] Ubit Umarov : le threadpool principal est composé d'un FIFO global et d'un LIFO par thread.
[12:20] Ubit Umarov : la cohérence temporelle ne signifie RIEN pour eux.
[12:20] Andrew Hellershanks : ok, Jamie. Merci. On se voit la semaine prochaine.
[12:21] Ubit Umarov : ( et le LILO et par thread, ne peuvent jamais bien fonctionner, et empêcher la pseudo surcharge )
[12:21] Ubit Umarov : mais bon, c'est comme ça...
[12:22] Ubit Umarov : c'est irritant que mono ne soit pas corrigé.
[12:22] Ubit Umarov : la fuite que je vois semble avoir un faible impact sur la mémoire.
[12:23] Ubit Umarov : mais bon
[12:23] Misterblue Waves : le système de tâches permet d'ajouter des programmes personnalisés et des pools de programmation multiples. C'est l'enveloppe officielle des threads :)
[12:23] Ubit Umarov : les tâches sont une stupidité.
[12:24] Ubit Umarov : il convertit tout le code en une machine statique complexe et lourde.
[12:24] Ubit Umarov : beaucoup plus lent et avec plus de fuites que les autres méthodes.
[12:25] Ubit Umarov : ahh et plus enclin à la surcharge, car il utilise plus de threads.
[12:25] Ubit Umarov : J'ai utilisé task async/await sur le serveur http.
[12:25] Ubit Umarov : MAUVAIS
[12:25] Ubit Umarov : :)
[12:26] Ubit Umarov : retour au modèle EPA
[12:26] Ubit Umarov : ou comment il est appelé
[12:28] Ubit Umarov : La tâche permet seulement un peu plus facile de lire le code de très faible performance.
[12:29] Ubit Umarov : bien sûr, MS dit que c'est le meilleur depuis .net 4.0 où ils l'ont introduit :)
</pre>
 
= Conclusion=
<pre>
<pre>
[12:27] Andrew Hellershanks : Nous avons presque dépassé la moitié de l'heure. Il est temps de conclure pour aujourd'hui s'il n'y a pas de commentaires finaux pour aujourd'hui.
[12:27] Andrew Hellershanks : Je me demande ce qu'il en est de Bill, car on le voit rarement par ici.
[12:28] Andrew Hellershanks : Je ne vois personne en train de taper, je vais donc mettre un terme à cette réunion. Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
[12:27] Ubit Umarov : une copie par région :p
[12:28] Motoko.Karu @login.digiworldz.com:8002 : Merci.
[12:27] Ubit Umarov : oui, Bill est passé sur la grille rl.
[12:27] Andrew Hellershanks : ah, ok. Maintenant le message de commit a plus de sens.
[12:28] Ubit Umarov : je suppose que la seule chose sur opensim est de faire tourner sa région.
[12:29] Andrew Hellershanks : Nous sommes de nouveau en heures supplémentaires à l'heure et demie. Il est temps de mettre un terme à cette réunion.
[12:29] Andrew Hellershanks : Gavin a-t-il récemment acheté un nouvel ordinateur ? Peut-être que cela lui donne des maux de tête.
[12:29] Ubit Umarov : ohh tu forces MB à arrêter de danser ?
[12:30] Andrew Hellershanks : Non, il peut continuer à danser s'il le souhaite.
[12:30] Andrew Hellershanks : Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.
</pre>
</pre>

Version du 30 novembre 2024 à 10:02

Source : http://opensimulator.org/index.php?title=Chat_log_from_the_meeting_on_2022-02-15&action=edit

Introduction

[11:01] Kayaker Magic : Je n'ai vu aucun nom sur aucun de ces sièges !
[11:01] Misterblue Waves : Je reçois toujours des emails de paiement de compensation de la part des Nations Unies. J'aurais pensé que cette arnaque serait terminée depuis longtemps.
[11:01] Andrew Hellershanks : Bonjour à tous.
[11:01] Ubit Umarov : mais vous vous êtes assis sur le vôtre :)
[11:01] Jamie.Jordan @grid.kitely.com:8002 : c'est ma faute.
[11:02] Ubit Umarov : et maintenant Gavin ne se montre pas :)
[11:02] Selby.Evans @grid.kitely.com:8002 : Bonjour à tous
[11:02] Ubit Umarov: kiding
[11:02] Misterblue Waves : on dirait que je me retrouve à danser en bout de table... je ferais mieux de me déplacer.
[11:04] Michael.Christopher @cc.opensimulator.org:8002 : bonjour à tous.
[11:04] Misterblue Waves : bonjour Michael.

Les problèmes de versions avec .NET

  • Microsoft .NET : nom donné à un ensemble de produits et de technologies informatiques de l'entreprise Microsoft pour rendre des applications facilement portables sur Internet.
  • .NET Core : cadriciel (Framework) Libre et Open Source pour les systèmes d'exploitation Windows, macOS et Linux3. Il comprend CoreCLR, un environnement d'exécution complet de CLR, la machine virtuelle qui gère l'exécution des programmes .NET. En novembre 2020, Microsoft a publié .NET 5.0, qui a remplacé .NET Framework. La marque " Core " a été supprimée et la version 4.0 a été sautée pour éviter toute confusion avec .NET Framework.
  • C# (C sharp) : langage de programmation orientée objet, commercialisé par Microsoft depuis 2002, utilisé par OpenSimulator.
[11:05] Misterblue Waves : j'ai regardé Prebuild... je pense ajouter la cible "standard20".
[11:06] Ubit Umarov : qu'est-ce que le standard20 ?
[11:06] Ubit Umarov : c'est fini.
[11:07] Ubit Umarov : d'après ms, tout est unifié dans .net5.0 maintenant .net6.0.
[11:07] Misterblue Waves : il existe toujours en tant que chose universelle. Le standard 2.1 de dotnet est spécifique.
[11:07] Ubit Umarov : c'est à dire qu'il y a aussi core2, 3 3.1 etc...
[11:07] Ubit Umarov : un désordre total.
[11:08] Misterblue Waves : c'est sûr, c'est un vrai bordel.
[11:08] Ubit Umarov : mais comme je l'ai dit, ms dit que c'est maintenant seulement .net6.0.
[11:09] Ubit Umarov : j'ai cherché aujourd'hui un connecteur mysql que Maria recommande maintenant.
[11:09] Andrew Hellershanks : Qu'est-ce qui met Misterblue d'humeur à danser ?
[11:09] Kayaker Magic : Alors Mister Blue, comment va votre nouveau projet de viewer ?
[11:09] Ubit Umarov : il est conforme à 16 variantes.
[11:09] Ubit Umarov : 8 debug, 8 release
[11:10] Misterblue Waves : oui, mais ajouter standard2.0 à un grand projet construit avec Framework4.8 est plus facile que d'essayer avec Dotnet 6.
[11:10] Ubit Umarov : les 8 comprennent 4.5, 4.6.1. 4.7.1, 5. 6. core3 standart2, etc.
[11:10] Andrew Hellershanks : Ubit, 16 variantes d'un connecteur MySQL ?
[11:10] Ubit Umarov : variantes compilées.
[11:10] Andrew Hellershanks : oh, je vois.
[11:10] Ubit Umarov : pure stupidité maintenant.
[11:11] Ubit Umarov : et même des choses effrayantes.
[11:11] Ubit Umarov: tous utilisent system.compilerservices.unsafe
[11:11] Ubit Umarov : aussi pour .net4.5
[11:12] Ubit Umarov : quand la documentation dit que c'est seulement pour .net core.
[11:12] Ubit Umarov : au moins pour les choses qui supportent les ref locals.
[11:12] Ubit Umarov : bien...  C# est juste mauvais maintenant

Viewer basé sur un navigateur Web

[11:11] Misterblue Waves : J'essaie de lancer une discussion plus large à propos des viewers.
[11:11] Misterblue Waves : jusqu'à présent, j'ai fait ce que j'avais à faire, mais j'ai besoin de plus de données.
[11:11] Michael.Christopher @cc.opensimulator.org:8002 : plus large ?
[11:12] Misterblue Waves:  pour l'instant, J'ai des modules complémentaires qui convertissent les ressources OS aux formats GLTF, utilisent les tuiles Cesium 3D pour la définition de la scène afin d'obtenir une description LOD de la scène, et avoir un viewer de navigateurs boiteux.
[11:13] Misterblue Waves : débattre de la quantité de LOD automatique à faire -- les viewers ont besoin d'assets plus simples pour les grandes scènes.
[11:15] Ubit Umarov : quels navigateurs...
[11:15] Ubit Umarov : quel viewer...
[11:17] Misterblue Waves : @Ubit, je travaille sur un viewer de monde virtuel depuis un moment et je suis plus ouvert à ce sujet.
[11:17] Ubit Umarov : ok
[11:18] Misterblue Waves : l'implémentation actuelle est ThreeJS dans n'importe quel navigateur (Chrome, Firefox, ...).
[11:18] Andrew Hellershanks : Misterblue, c'est un gros projet. J'espère que tu trouveras d'autres personnes pour t'aider.
[11:18] Selby.Evans @grid.kitely.com:8002 : Une viewer basée sur le navigateur
[11:18] Misterblue Waves : bien que, ces derniers temps, le développement se fasse davantage sur Babylon que sur ThreeJS.
[11:19] Selby.Evans @grid.kitely.com:8002 : Devrait fonctionner dans tous les navigateurs.
[11:19] Ubit Umarov : pour voir un modèle statique d'une région ?
[11:19] Misterblue Waves : J'espère avoir un viewer de navigateur et un viewer pour d'autres moteurs dans quelques mois. J'ai d'abord pensé à Unreal mais les gens n'aiment pas ça.
[11:19] Kayaker Magic : OMG, la plupart des pages WEB commerciales ont du mal à fonctionner dans tous les navigateurs !
[11:20] Kayaker Magic : J'aime Unreal !
[11:20] Misterblue Waves : @Kayaker en effet, la compatibilité en utilisant simplement le matériel "standard" est douteuse.
[11:20] Ubit Umarov : un des problèmes des bons moteurs est qu'ils coûtent $$$... beaucoup.
[11:21] Selby.Evans @grid.kitely.com:8002 : On peut déjà convertir les fichiers OAR pour les importer dans le navigateur.
[11:21] Ubit Umarov : unreal veut juste être payé...
[11:21] Ubit Umarov : aucun n'a un modèle "opensource" comme opensim.
[11:21] Kayaker Magic : Je pense qu'Unreal a changé cette politique pour les petits projets.
[11:21] Ubit Umarov : ce sont des choses qui rapportent de l'argent... pas de repas gratuit.
[11:22] Misterblue Waves : @Ubit, le protocole est organisé en "couches" qui peuvent avoir différents formats de messages et différents modes de transport réseau. Je sépare actuellement le contenu d'une région en statique, dynamique (script ou physique), et avatars.
[11:23] Misterblue Waves : @Selby, oui. J'ai écrit des "Convoar" et ces sous-programmes sont utilisés pour convertir les assets de région en GLTF à la volée ou par lots.
[11:23] Andrew Hellershanks : Kayaker, il est déjà assez difficile de faire en sorte que les pages statiques gèrent les CSS afin d'obtenir la même apparence sur plusieurs navigateurs sans ajouter des scripts au tableau.
[11:23] Kayaker Magic : L'avantage de Unreal est leur nouveau système auto-LOD. Puisque nous ne convaincrons jamais les constructeurs dans OpenSim d'optimiser leurs meshes, U5 rendrait tout ce contenu rapide.
[11:24] Misterblue Waves : la partie intéressante d'Unreal est leur optimisation du LOD dans le moteur de rendu. Cela complique architecturalement la quantité de LOD à faire dans la phase de génération des assets et dans la phase de rendu des asests.
[11:24] Selby.Evans @grid.kitely.com:8002 : Importation de fichiers OAR d'OpenSim vers Web Worlds : Convoar -- Importation de fichiers OAR d'OpenSim vers Web Worlds : Convoar
[11:24] Selby.Evans @grid.kitely.com:8002: https://virtualoutworlding.blogspot.com/2018/07/2018-ww-hg-importing-oar-files-from.html
[11:24] Misterblue Waves : sinon, il y a beaucoup de projets de rendu open-source qui pourraient être utilisés.
[11:26] Misterblue Waves : LOL, ce que @Kayaker a dit
[11:26] Selby.Evans @grid.kitely.com:8002 : Les mondes basés sur les navigateurs gagnent en popularité Decentraland, Mozilla hubs
[11:27] Selby.Evans @grid.kitely.com:8002 : en voici quelques-uns : https://mymetaversehub.com/
[11:27] Michael.Christopher @cc.opensimulator.org:8002 : Selby - je l'ai demandé assez longtemps :P
[11:28] Kayaker Magic : Beaucoup de gens demandent des voitures anti-gravité. Cela ne veut pas dire qu'elles voleront un jour.
[11:28] Andrew Hellershanks : Misterblue, Quand j'entends des références à des moteurs de rendu à utiliser avec  OS, je commence à m'interroger sur l'utilisation de celui de Blender. Il est plus probable qu'il ait une licence qui ne limite pas son utilisation à moins de payer quelqu'un un peu d'argent.
[11:29] Michael.Christopher @cc.opensimulator.org:8002 : steven utilise blender, mais je n'ai pas encore pris le temps de le découvrir, j'utilise toujours sketchup et l'exportation.
[11:29] Andrew Hellershanks hoche la tête.
[11:29] Ubit Umarov : utiliser un rendu de qualité photo pour le temps réel ? jezz
[11:30] Ubit Umarov : peu importe...
[11:30] Misterblue Waves : @Andrew, je ne me suis pas penché sur cette question. Je me demande comment on y accède et à quel point il est efficace. Le rendu d'une animation prototype peut être différent du rendu d'une vue de scène à haute fréquence d'images.
[11:30] Michael.Christopher @cc.opensimulator.org:8002 : oh attends tu veux dire en direct comme dans le monde ?
[11:30] Andrew Hellershanks : Blender est un programme avec de nombreuses parties à apprendre. Tout dépend de l'utilisation que vous en faites et de la profondeur à laquelle vous vous enfoncez dans le terrier du lapin.
[11:30] Kayaker Magic : Je suppose que le(s) moteur(s) de rendu de Blender n'ont pas été conçus pour être utilisés par d'autres systèmes, alors qu'Unreal a été conçu comme une API.
[11:30] Misterblue Waves : il y a TELLEMENT de projets de "monde virtuel" basés sur un navigateur. Il me semble que j'en trouve un nouveau tous les jours.
[11:31] Andrew Hellershanks : Misterblue, j'ai oublié quel est le (nouveau) moteur de rendu actuel de Blender mais Evee ou Cycles sont censés effectuer le rendu en temps réel.
[11:31] Andrew Hellershanks : Kayaker, j'ai entendu parler de l'un d'entre eux utilisé en dehors de Blender.
[11:31] Michael.Christopher @cc.opensimulator.org:8002 : kayaker - est-ce que c'est compliqué d'exporter de blender vers unreal ? nous travaillons toujours dans unity.
[11:31] Misterblue Waves : @Andrew, ça vaut le coup de jeter un coup d'oeil
[11:33] Misterblue Waves : une fois que le navigateur fonctionnera suffisamment, je veux un autre moteur de rendu qui fera sensation. Il y a un "bon" choix conservateur et il y a le choix "fou" qui ferait que les gens se lèvent et regardent :)
[11:33] Kayaker Magic : Je veux devenir fou !
[11:33] Andrew Hellershanks : Misterblue : Cette page couvre les différences entre Cycles et Evee -> https://cgcookie.com/articles/blender-cycles-vs-eevee-15-limitations-of-real-time-rendering
[11:34] Misterblue Waves : @Andrew merci !

Cartes graphiques

  • Nvidia : entreprise américaine spécialisée dans la conception de processeurs graphiques.
[11:35] Misterblue Waves : bien sûr, tout le monde a  3080 dans son ordinateur ;-)
[11:35] Andrew Hellershanks : 3080 ?
[11:36] Ubit Umarov : nahh c'est faible...  3080 ti au moins... le plus 3090
[11:36] Misterblue Waves : @Andrew c'est une carte graphique NVidia haut de gamme.
[11:36] Andrew Hellershanks : oh, la nouvelle ligne de cartes vidéo nVidia.
[11:36] Michael.Christopher @cc.opensimulator.org:8002 : vraiment ? j'ai dépensé 4k pour ça et j'ai seulement eu le 3080.
[11:37] Michael.Christopher @cc.opensimulator.org:8002 : ça aurait été 2k de plus pour aller vers le 3090.
[11:37] Andrew Hellershanks : Je n'ai pas reconnu le numéro au début sans le préfixe RTX.
[11:37] Michael.Christopher @cc.opensimulator.org:8002 : j'ai pris une seconde aussi andrew
[11:37] Ubit Umarov : vous ne faites rien sans un rtx3090
[11:37] Andrew Hellershanks : Je ne vais pas dépenser autant d'argent juste pour une carte vidéo.
[11:37] Misterblue Waves : bien sûr, avec un meilleur moteur de rendu, nous aurions besoin d'un meilleur contenu dans le monde. Je me souviens avoir essayé une des viewer VR et avoir trouvé que les arbres et les buissons étaient vraiment assez laid en VR.
[11:38] Ubit Umarov : la plupart des jeux haut de gamme ont besoin d'une 3080.

La qualité des créations de contenu dans OpenSimulator

[11:38] Andrew Hellershanks : Quand un viewer est capable de montrer aux gens un meilleur contenu, les gens commencent à faire un meilleur contenu.
[11:38] Ubit Umarov : bien que...
[11:39] Ubit Umarov : Non, il n'y aura jamais de meilleur contenu.
[11:39] Ubit Umarov : la solution pour avoir un meilleur contenu et une RV commerciale viable est de confier la création du contenu à des professionnels.
[11:40] Ubit Umarov : comme sansar et space le font
[11:40] Michael.Christopher @cc.opensimulator.org:8002: hmmm.
[11:40] Andrew Hellershanks : Ubit, considères-tu que le contenu en mesh n'est pas meilleur que ce qui était disponible avant lui ?
[11:40] Jamie.Jordan @grid.kitely.com:8002 : les cartes sont géniales mais elles n'ont aucune importance si vous ne pouvez pas les acheter.
[11:40] Ubit Umarov : oubliez. . le monde est pour ceux qui peuvent le payer
[11:41] Ubit Umarov : de plus en plus.
[11:41] Michael.Christopher @cc.opensimulator.org:8002 : jamie - excellent point. si les gens ne peuvent pas vraiment voir la VR sans une carte graphique de 2000-3000$, peu le feront un jour.
[11:41] Andrew Hellershanks : Fermer la création de contenu pour les " professionnels " est à peu près ce que Sansar a fait.
[11:42] Ubit Umarov : c'est ce qu'on dit Andrew.
[11:42] Ubit Umarov : et c'est la seule façon d'avoir quelque chose qui fonctionne.
[11:42] Jamie.Jordan @grid.kitely.com:8002 : Je construirais une nouveau rig demain si je pouvais obtenir des éléments.
[11:42] Ubit Umarov : on ne peut pas laisser les gens prendre des choses sur le web et les télécharger.
[11:42] Ubit Umarov : cela ne marchera jamais.
[11:43] Ubit Umarov : peu importe la qualité des optimiseurs de téléchargement.
[11:43] Andrew Hellershanks : Cela n'aiderait pas le monde à se développer si seul un nombre relativement restreint de personnes peut créer du contenu.
[11:43] Ubit Umarov : c'est l'industrie du jeu.
[11:43] Ubit Umarov : et les films, etc.
[11:44] Ubit Umarov : donc en fait, il y a beaucoup de bons créateurs ici.

Nouveau viewer et types d'avatars

[11:41] Misterblue Waves : mon prochain vrai problème de rendu concerne les avatars. Je peux prendre le code de Radigast pour l'avatar de base mais je suis tout seul pour les avatars en meshes.
[11:42] Misterblue Waves : puis il y a les nouveaux formats d'avatars comme le VRM.
[11:44] Misterblue Waves : ce serait bien d'incorporer le format d'avatar utilisé par les vtubers et VRChat, etc. Il y a de bons sites de création d'avatars en ligne de nos jours.
[11:44] Ubit Umarov : création d'avatar pour quoi faire ?
[11:44] Misterblue Waves : la raison pour laquelle Minecraft et SL sont aussi populaires est la facilité de création de contenu par les utilisateurs.
[11:45] Ubit Umarov : et bien, cela a été rendu possible à sl à cause de l'idée des prims.
[11:45] Ubit Umarov : avec les meshes cela a commencé à se détériorer... même si ils sont limités à 16 bits.
[11:46] Ubit Umarov : quand même, le viewer sl fonctionne sur un GPU intégré intel.
[11:46] Ubit Umarov : des pc/ordinateurs portables de moyenne gamme.
[11:46] Michael.Christopher @cc.opensimulator.org:8002 : cela me ramène au sujet des standards pour les avatars afin que, comme notre suitcase ici, les avatars puissent faire la transition entre les mondes sans les recréer encore et encore.
[11:47] Kayaker Magic : Ouais, je suis loin de chez moi pour quelques semaines, et mon ordinateur portable fonctionne bien sans le nvidea de mon ordinateur de bureau.
[11:47] Michael.Christopher @cc.opensimulator.org:8002 : on dirait que cela nécessiterait un système de superposition pour que les mondes à bas  polygones puissent afficher une version plus simple et que les mondes à haut polygones puissent afficher toute la complexité.
[11:47] Ubit Umarov : tous les systèmes ont cela michael.Christopher
[11:47] Ubit Umarov : LOD fait aussi partie de cela
[11:48] Michael.Christopher @cc.opensimulator.org:8002 : il fait partie de ce sujet de jardin clos.
[11:48] Misterblue Waves : aujourd'hui, les gens créent des avatars en utilisant des outils comme ReadyPlayerMe (https://readyplayer.me/) et peuvent les utiliser dans de nombreux mondes différents (VRChat, Decentraland, ...).
[11:48] Ubit Umarov : avec des niveaux de LOD haute définition limités à un meilleur matériel.
[11:48] Misterblue Waves : cela devrait aussi l'être dans OpenSim
[11:48] Michael.Christopher @cc.opensimulator.org:8002: oui
[11:49] Ubit Umarov : il suffit d'ajouter un plugin avatar comme dans SL à ce readyplayerme.
[11:50] Misterblue Waves : @Ubit, je pense plutôt à l'inverse.
[11:50] Ubit Umarov : d'après ce que je vois, ce n'est pas un avatar pour tous les jeux... c'est un avatar "compilé" pour tel ou tel jeu...
[11:50] Ubit Umarov : Je sais que vous êtes... mais il ne semble pas que ce soit le cas.
[11:50] Ubit Umarov : mais je ne sais pas...
[11:50] Misterblue Waves : tout le monde nomme ses os différemment, on dirait.
[11:50] Ubit Umarov : tout le monde fait son propre truc.
[11:51] Ubit Umarov : il n'y a pas de standard "avatar".
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : c'est ce que je pensais aussi ubit - il génère un avatar que vous pouvez re-uploader dans tous les autres mondes, mais si vous changez l'avatar dans un monde, vous devrez le re-uploader partout ailleurs pour répercuter ce changement.
[11:51] Ubit Umarov : juste des choses qui ont l'air identiques, parce que chacune copie les autres idées.
[11:51] Andrew Hellershanks acquiesce.
[11:51] Misterblue Waves : @Michael, je suis sûr que c'est comme ça.
[11:51] Michael.Christopher @cc.opensimulator.org:8002 : oui, c'est ce que j'essayais de dire lol
[11:52] Ubit Umarov : donc ouais... je veux faire des avatars opensim avec ça... ajouter le module à ça :p
[11:52] Misterblue Waves : il n'y a pas de stockage central ou de format dans lequel tout le monde puise. C'est aussi la même farce que les NFTs, mais c'est un autre sujet.
[11:52] Michael.Christopher @cc.opensimulator.org:8002 : Je pense que nous avons une base convenable avec la suitcase  pour parcourir l'Hypergrid.
[11:52] Ubit Umarov : donc ouais... on peut parler beaucoup...
[11:53] Ubit Umarov : mais à la fin de la journée... des spécifications concrètes sont nécessaires.
[11:53] Michael.Christopher @cc.opensimulator.org:8002 : si les utilisateurs ont un monde d'origine qui stocke leur contenu, alors en allant ailleurs l'avatar peut être chargé à partir de la maison d'origine.
[11:53] Ubit Umarov : et tout ce qui est là, dehors, est simplement une cible qui se déplace rapidement...
[11:53] Misterblue Waves : OpenSim a résolu un tas de trucs HG que le monde essaie de comprendre (encore).
[11:54] Ubit Umarov : combien de fois la roue a-t-elle été inventée :)
[11:54] Ubit Umarov : n'a pas été inventée ?
[11:54] Andrew Hellershanks : Ubit, beaucoup de fois et il sera inventé encore beaucoup plus de fois.
[11:55] Michael.Christopher @cc.opensimulator.org:8002 : ubit - mais la roue actuelle n'est pas assez bonne, nous avons besoin d'une meilleure roue.
[11:58] Selby.Evans @grid.kitely.com:8002 : Ce dont OpenSimulator/hypergrid a besoin pour être qualifié de métaverse du début. Il possède déjà la plupart des fonctionnalités nécessaires : Une réunion dans le metaverse. https://virtualoutworlding.blogspot.com/2022/01/2022-biz-what-opensimulatorhypergrid.html

Script : fonction osForceAttachToOtherAvatarFromInventory()

[11:52] Andrew Hellershanks : Il reste un peu moins de 10 minutes avant la fin de l'heure. J'ai une question sur osForceAttachToOtherAvatarFromInventory().
[11:53] Andrew Hellershanks : Cette fonction OSSL ne fonctionne pas avec les NPCs. Je suis allé jusqu'à vérifier si elle passe un UUID à GetScenePresence(). Est-ce que GetScenePresence() ignore les NPCs ?
[11:54] Misterblue Waves : les NPCs ne sont-ils pas une sous-classe différente de ScenePresence ? Cela pourrait signifier qu'il l'implémente différemment
[11:56] Andrew Hellershanks : Ubit, on m'a dit que la fonction ne fonctionne pas pour forcer les pièces jointes sur les NPCs.
[11:56] Ubit Umarov : oui... cela déplace l'objet dans l'inventaire de la personne.
[11:56] Ubit Umarov : et les npcs n'en ont pas.
[11:56] Andrew Hellershanks : Ah, ça explique tout.
[11:57] Ubit Umarov : pas fait pour les npc.
[11:58] Andrew Hellershanks : merci, je vais transmettre cette information.
[11:58] Ubit Umarov : je suppose qu'aucun code de script d'attachement ne fonctionne sur les npc.
[11:59] Andrew Hellershanks : Ce serait bien de pouvoir le faire, même si cela n'est probablement pas nécessaire très souvent.

Changements dans le code OpenSim cette semaine

[11:17] Andrew Hellershanks : D'après le journal des changements dans OS de la semaine dernière, la plupart des changements étaient liés à libOMV.
[12:00] Ubit Umarov : bien à propos des changements de code de la semaine dernière.
[12:00] Ubit Umarov : comme andrew l'a dit, quelques changements sur libopenmetaverse.
[12:01] Ubit Umarov : avec un peu d'accélération sur json à partir du code de sérialisation OSD.
[12:01] Ubit Umarov : l'original était juste mauvais
[12:01] Ubit Umarov : parce qu'il utilise une bibliothèque, ( litJson)
[12:02] Ubit Umarov : pour envoyer quelque chose en json, nous devons créer un objet OSD en y ajoutant des choses.
[12:02] Ubit Umarov : les choses de .net qui sont stockées dans les nouveaux objets OSD.
[12:03] Ubit Umarov : c'est toujours nécessaire, bien sûr.
[12:03] Ubit Umarov : mais le code original n'a pas été converti en objets natifs de la bibliothèque.
[12:03] Ubit Umarov : donc une tonne supplémentaire de classes .net temporaires...
[12:04] Ubit Umarov : puis j'ai utilisé la bibliothèque pour convertir les chaînes de caractères en utf-16.
[12:04] Ubit Umarov : et de celles-ci en utf-8 byte[].
[12:04] Michael.Christopher @cc.opensimulator.org:8002 : :/ Je dois partir, il est temps d'aller chercher mon fils à l'école. Passez une bonne semaine et envoyez-moi un email si vous avez besoin de moi !
[12:05] Ubit Umarov : le nouveau code, va directement des objets OSD aux byte[] en utf8.
[12:05] Andrew Hellershanks : ok, Michael. Merci d'être passé.
[12:05] Ubit Umarov : c'est utilisé dans plusieurs endroits comme une partie de l'api Robust.
[12:05] Misterblue Waves : prends soin de toi Michael.
[12:05] Ubit Umarov : les téléports...
[12:05] Ubit Umarov : etc.
[12:06] Ubit Umarov : salut Mi.
[12:06] Ubit Umarov : malheureusement la désérialisation est toujours comme avant...
[12:06] Ubit Umarov : byte[] -> utf16 -> litjson data -> osd -> .net variables
[12:07] Andrew Hellershanks : Cela fait beaucoup d'étapes.
[12:07] Ubit Umarov : un exemple parfait de ce qu'opensim a considéré jusqu'à présent comme un "bon" protocole.
[12:07] Ubit Umarov : c'est effrayant quand on lit les nouveaux protocoles opensim :P
[12:08] Ubit Umarov : parce que vous voyez ce que je veux dire :p
[12:09] Ubit Umarov : ça marche bien sur des régions avec 20ppl qui dansent tous la même danse tout le temps :p
[12:09] Ubit Umarov : je ne sais pas pourquoi les gens ne veulent faire plus que ça.
[12:09] Ubit Umarov : ;)
[12:09] Misterblue Waves : ce genre de choses nous a permis de nous en sortir pendant longtemps.
[12:10] Misterblue Waves continue à danser avec les 5 personnes présentes :)
[12:10] Ubit Umarov : :)
[12:10] Andrew Hellershanks: :)
[12:10] Ubit Umarov : .net5/6 a maintenant son propre json.
[12:10] Ubit Umarov : et son propre utf8 direct
[12:11] Ubit Umarov : mais yeachhhh... certains codes sont assez moches aussi
[12:11] Misterblue Waves : il est temps de mettre à jour tout l'OS vers Dotnet 6 !
[12:11] Ubit Umarov : je le fais avec d'autre code... en fait comme du code .net 2.0
[12:11] Misterblue Waves : convertir tout le code !
[12:11] Ubit Umarov : ça marche aussi vite que ce nouveau code.
[12:12] Ubit Umarov : ouais, .net5 en gros, c'est quoi ?
[12:12] Ubit Umarov : une migration correcte vers ce système impliquerait une réécriture à 90%.
[12:12] Ubit Umarov : sans parler des choses perdues.
[12:12] Misterblue Waves : quelle est la raison pour laquelle nous ne pouvons pas encore convertir ? Les anciens systèmes ?
[12:12] Ubit Umarov : comme l'image
[12:13] Ubit Umarov : pour commencer notre propre site :p
[12:13] Misterblue Waves : oui, Image et Bitmap sont de vrais problèmes.
[12:13] Ubit Umarov : alors ... tout cela semble juste assez mauvais
[12:13] Ubit Umarov : la chose des tâches qu'ils aiment
[12:13] Ubit Umarov : c'est juste MAUVAIS
[12:14] Ubit Umarov : J'ai essayé sur le serveur https.
[12:14] Misterblue Waves : c'est pourquoi j'aime Standard2.0, tout un tas de sous-projets d'OS peuvent être convertis en cela sans s'engager dans un changement total pour le moment.
[12:14] Ubit Umarov : j'ai beaucoup plus d'échecs de GC
[12:14] Ubit Umarov : plus de mémoire perdue par GC
[12:14] Ubit Umarov : et des fuites de threads
[12:14] Ubit Umarov : spécialement avec mono
[12:14] Misterblue Waves : vraiment ? Les tâches sont si mauvaises ? Ou juste la façon dont nous les utilisons ?
[12:14] Ubit Umarov : et plus lent
[12:15] Ubit Umarov : Nous n'utilisons pas les tâches.
[12:15] Ubit Umarov : tous les enfants modernes le font :p
[12:15] Ubit Umarov : pas opensim
[12:15] Misterblue Waves : nous avons des wrappers autour des Threads dans le code existant.
[12:15] Ubit Umarov : nous utilisons les threads.
[12:15] Ubit Umarov : pas les tâches
[12:16] Ubit Umarov : la tâche est une couche supplémentaire autour des threads
[12:16] Ubit Umarov : le tash async attend, même un changement total de code sous le capot 
[12:16] Misterblue Waves : J'ai utilisé les Tasks dans mon nouveau code mais je n'ai pas encore insisté pour voir si elles se cassent.
[12:16] Ubit Umarov: en ajoutant des variables statiques et des machines d'état démentes.
[12:17] Ubit Umarov : le code ms est génial quand il n'est pas utilisé :p
[12:17] Misterblue Waves : "Insane State Machines" est le nom d'un groupe de rock.
[12:17] Ubit Umarov : :)
[12:17] Ubit Umarov : bien, sur le  httpserver envoyé, j'ai utilisé l'ancien début/fin.
[12:18] Andrew Hellershanks : Misterblue, :)
[12:18] Ubit Umarov : qu'ils utilisent toujours à un niveau inférieur.
[12:18] Ubit Umarov : parce que c'est ce qui fonctionne le mieux dans Windows (overlaped io).
[12:19] Ubit Umarov : et pas si mal sur les wrappers linux.
[12:20] Ubit Umarov : le futur code d'opensim a demandé beaucoup de travail à l'époque de .netcore.
[12:20] Ubit Umarov : jusqu'à 3.1
[12:20] Selby.Evans @grid.kitely.com:8002 : au revoir à tous.
[12:21] Ubit Umarov : parce que la quantité de choses à réécrire était beaucoup plus importante.
[12:21] Ubit Umarov : salut Selby.
[12:21] Ubit Umarov : 2 en retard
[12:21] Ubit Umarov : dans core3.1 ms ont compris qu'ils auraient besoin de porter beaucoup plus de frameworks vers lui.
[12:22] Ubit Umarov : ils ont juste laissé beaucoup de choses de côté, comme l'image...
[12:22] Ubit Umarov : bien qu'ils aient l'image... bit, map etc... Windows seulement.
[12:22] Ubit Umarov : sur le .net5.0-windows
[12:22] Ubit Umarov : bahh
[12:23] Ubit Umarov : sans .net6.0-windows bien sûr.
[12:24] Ubit Umarov : oh la semaine dernière j'ai aussi accepté un patch.
[12:24] Misterblue Waves : J'ai vu ça !
[12:24] Ubit Umarov : j'ai ajouté quelques bibliothèques pour le processeur 64bit de Rasp Pi.
[12:25] Andrew Hellershanks : J'ai remarqué cela aussi
[12:25] Ubit Umarov : oh c'était déjà dans la semaine précédente :)
[12:25] Jamie.Jordan @grid.kitely.com:8002 : A la semaine prochaine.
[12:26] Misterblue Waves : au revoir Jamie.
[12:26] Ubit Umarov : Oh et Gavin n'est pas venu.
[12:26] Ubit Umarov : J'espère que tout va bien pour lui.
[12:26] Andrew Hellershanks : Une correction de bogue cette semaine pour  stopper certains doublons de messages instantanés.
[12:27] Ubit Umarov : oui, j'en ai ajouté un récemment :p
[12:27] Ubit Umarov : dans le cas de plusieurs régions par instance.

Conclusion

[12:27] Andrew Hellershanks : Je me demande ce qu'il en est de Bill, car on le voit rarement par ici.
[12:27] Ubit Umarov : une copie par région :p
[12:27] Ubit Umarov : oui, Bill est passé sur la grille rl.
[12:27] Andrew Hellershanks : ah, ok. Maintenant le message de commit a plus de sens.
[12:28] Ubit Umarov : je suppose que la seule chose sur opensim est de faire tourner sa région.
[12:29] Andrew Hellershanks : Nous sommes de nouveau en heures supplémentaires à l'heure et demie. Il est temps de mettre un terme à cette réunion.
[12:29] Andrew Hellershanks : Gavin a-t-il récemment acheté un nouvel ordinateur ? Peut-être que cela lui donne des maux de tête.
[12:29] Ubit Umarov : ohh tu forces MB à arrêter de danser ?
[12:30] Andrew Hellershanks : Non, il peut continuer à danser s'il le souhaite.
[12:30] Andrew Hellershanks : Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.