Jump to content

animats

Resident
  • Posts

    6,191
  • Joined

  • Last visited

Everything posted by animats

  1. SL users should not have to be aware that the interest list system exists. This stuff is way below the user level. A brief summary for non-technical people: Unlike most games, SL viewers start out with no content inside them. Everything has to come in over the network. Each region is managed by a simulator program, and those talk to each other and the viewers. Simulator programs know what's in their region at all times. Viewers start out knowing nothing about that. Simulators send viewers a list of what's currently in draw range. When a region first appears, there's a big list sent, and thereafter, each simulator sends updates as you move around. If the simulator's world view and a viewer's world view ever get out of sync, they won't get back in sync until the avatar leaves the area and comes back. Mostly they do stay in sync, but there are bugs. Currently, those mostly involve teleports and logins, where a huge interest list update is blasted out to each viewer as the avatar enters. Sometimes, especially in regions with many avatars, not all the info gets delivered. When that happens, some objects will not appear in the viewer at all. In regions with many avatars, you sometimes see some avatars with missing body parts. Exactly why that happens is not well understood.
  2. Portal Park 2 has a dead portal to "Isle of View". What was that? Its entrance alcove looks like it was perhaps a demo area for mesh.
  3. That's a concern. LL has a tendency to half-implement something, declare a victory, and go home. That happened with Project Interesting, with pathfinding, with animesh, and with large crowd support. We're maybe half way through the graphics modernization project (PBR, wide dynamic range lighting, cheaper lights, Vulkan). I hope they don't give up.
  4. That's a good idea. There's a collection of random examples of PBR over at Rumpus Room, and there are more on the beta grid. But they're not organized for instruction and training. That would be a good project for someone at Builders Brewery. We need a few little dioramas which show scenes with good materials and lighting. A good start would be a well done warm living room, with ordinary items such as wooden furniture and leather upholstery, using PBR textures that match real-world materials, and good lighting. Maybe re-decorate some of the model Linden homes at WelcomeHub. Here are some free PBR textures. Enjoy. Realize that what I'm doing in Sharpview is very bleeding edge. It's all in Rust. It uses many Rust crates that are under heavy development. I've spent several years now pushing and pulling on about a half dozen Rust projects to get things fixed on their side. It's coming along reasonably well, but it's taken much longer than it should have. You cannot yet bet a business on that technology. In a year, it may be different. LL is taking a cautious, incremental approach, so as not to break things. I don't fault them for that. I have my disagreements with LL, but not over their cautious approach to the live world. Remember, they tried an incompatible redo - Sansar.
  5. You can do that if you want, I suppose. My Sharpview viewer is nowhere near able to do all the things SL does, as yet. That's why it's experimental, ask for the password, use a low-value alt for testing. Sharpview is actually PBR-only, and always has been. That's because it uses a modern renderer. Classic diffuse/specular texture maps are translated to PBR albedo/roughness/metallic maps. Everything is wide dynamic range. It looks OK, but does not match classic SL exactly. LL is running both a new renderer and an old renderer, which creates a different set of problems. We'll see how this works out once lighting gets better. PBR in the C++ viewers is still in flux. Eventually we are supposed to get realistic lighting, where lights have real-world lumen values, rather than 0..100, the sun has a very large lumen value, and if you don't light your indoor spaces, they're dark. The intermediate states of this transition, where we are now, are kind of hokey. (Hint: if you have a store or public space, turn on shadows, set your environment to dark night and go visit it. If you can't see anything useful, you need lighting.)
  6. The success of Bellessaria is a good argument for using some of the Bellesaria covenant terms on mainland. The minimum height for skyboxes is the main one.
  7. Hm. I could have Sharpview outline objects with bad lower LODs in red, or something. The two big SL content optimization problems are Objects which artificially reduce their LI by having overly-reduced lower LODs. Those are the ones that turn into loose triangles at distance. Clothing. Way too many triangles. Shoes often have 20,000 triangles. Lower LODs are usually terrible. The entire avatar gets the same LOD, so little stuff gets loaded with all its triangles. Solutions to this will probably involve automatic LOD generation, which gets better every year. It's an AI problem, and that field is coming along nicely.
  8. Sharpview has somewhat better texture management, which helps. Even if you have a 1K x 1K texture on something, Sharpview won't load it into the GPU at that resolution unless you're so close to the object that it occupies almost 1K x 1K of screen pixels. The general idea is to have one texture pixel per screen pixel. This requires background threads frantically loading and unloading the GPU. Take a look at my recent Sharpview demo video, starting here. This is a walkthrough of parts of southern Hetrocera. That's using about 5GB of GPU space. There's an outdoor roadside bookstore with book covers on display. Each book cover is a high-resolution texture, and there are hundreds of them. But they're not all in the GPU at high resolution at the same time. If you watch carefully, you might see a resolution change. Watch the book cover of "I Want My MTV", which is blurry for almost a full second. I need to speed that up. You can buy a 32 GB GPU from NVidia for US$3,674, but that's too much. 8 GB is a reasonable desktop hardware target today. That's mainstream gamer hardware, available for about US$250. Probably less after the holiday season.
  9. If the seller is willing to disclose their identity, you can contract with them outside SL. That's enforceable in court.
  10. I'd like to unsubscribe from all the land ads. This does not seem to be possible.
  11. Interesting. Zindra runs a bit busier than most mainland, but most of the avatars seem to be in sky boxes. Down at ground level, not much seem to be happening. New Babbage, the steampunk city, is Landlord, but has avatar counts in the 0-1 range. Some of the long-standing landowners moved out, and one died. Much empty space now. I really miss the Brunel Hall Hotel and the Ying Industries workshop. Those were some of the best builds in SL.
  12. That looks like a mess. If your build is encroaching, an inconvenience to others, and ugly - please don't. A good rule of thumb is that if you're going to encroach, make it look good. If you go beyond landscaping and driveway connections to Linden roads, make it look really good. Mainland is a collaborative art project.
  13. Thanks. Where is the winter arena? There's a lot of work ahead. It's too much work. I was really bored during COVID lockdown when I started this. I tend to finish what I start, so I kept going, although not at the same level of effort. Most of the headaches are at the points where it has to be compatible with something. There are the problems talking to the simulators I discuss here, and a completely separate set of problems talking to the rendering engine which are discussed elsewhere. Rust is a good language for this, but the Rust 3D game infrastructure is coming along too slowly. Many people have written games in Rust, but very few went all the way to a sizable 3D world. The only pro game in Rust is a sailing simulator, and it uses "good old DX11" for Windows. I'm using the bleeding edge stuff that does graphics on Windows, Linux, and Mac. Sharpview is Linux-first - I cross-compile for Windows and test with Wine. Building for MacOS has been tested with a dummy program of mine by someone else. But you have to jump through more Apple hoops to release for Mac than I want to bother with. I've achieved one goal. When I started this, there was much talk that SL fundamentally could not achieve game-level performance. Even from the Linden side. We're past that "can't do" attitude now. My conclusion on that today is that you can get SL to AAA title performance of a few years ago. (UE5, no; Unity, yes.) It just takes more GPU memory. User-generated content needs about 3X the GPU memory. SL has far less instancing than games. Take a close look at a commercial game, and the same basic objects keep showing up in different places. SL has tens of thousands of different chairs. Fortunately, 8GB is the current standard in desktop GPUs, and that's enough for SL.
  14. https://video.hardlimit.com/w/2mNCaqBiRkKajFNP3dsZbo I haven't posted a video in a while. It's time. This is a half hour of unedited video of walking Linden roads in the Burns/Neumogen/Calleta area of Heterocera. Usually I show video from New Babbage, but I wanted to show some mainland this time. Region crossings are starting to work, so you can see the big world. This is a Japanese-themed area, so many signs are in Japanese, and there are roadside vending machines. This part of Robin Loop also has many car dealerships, so there are some views of cars on display. Not much is moving, but you'll see a Yava pod go by now and then. The high-detail texture loading works fine, and you get to see full detail on all closeups. You may see details you've never seen before, even if you know the area. Calleta is a good test. Plenty of old, complex content out in the open. It's a tech demo. Nothing exciting happens. I'll probably post a short version after a while, but some devs working on related projects need to see a long, raw output. You'll see bugs. Here are some of the known big ones: Frame rate is still reduced while content is loading. That should be fixed soon. It's a complicated concurrency problem, now fixed at three of the four levels necessary. Content loading will also speed up when that's fixed. It's a steady 60 FPS when all content is loaded. That should also fix the motion jerk every 2 seconds, when texture LODs are updated. Terrain seams between regions are visible as 1m slots in the ground. Unimplemented feature as of now. Lighting is too harsh. It's noontime sun at all times. One sign at Calleta Station is upside down. Still trying to figure that out. That 1-minute region startup delay remains. Avatars still appear as blocks. There are some pictures of cats on roadside benches.
  15. The impostors would be low-detail 3D models. So they get lit and processed through whatever environment is currently turned on. Their images probably need to be generated twice - once in sunlight, and once in a dark night. The dark version becomes the emissive texture, so that, at night, lit areas show up. Fog and lighting effects apply to the impostor models, too. You never get closer than 128 meters to an impostor region before the real region starts to appear. This is only for distant content. It only replaces staring off into emptyness. It won't be as good as modern Microsoft Flight Simulator, but that's the general idea.
  16. There's the easy approach, which looks like this: Putting the SL map onto an elevation mesh. Simple version. This is just a proof of concept. Others have made models like this. Someone had a few at SL20B. You don't really want to use the SL map, ad layers and all, for this. Also, it looks terrible from ground level, because you don't have imagery of sides of buildings. It's enough to let you find runways when landing and river mouths when sailing. This is easy to do, and I'll probably do it as a test in Sharpview. Open Drone Map output, after a pass through Blender. This is closer to the goal. This is all reconstructed from 2D images. You can do this with real drones in RL, so we can do it with bot drones in SL. The end result looks like Google Earth. I'd really like to find some people into photogrammetry to work on this. Open Drone Map exists but needs some work to do this job for SL. The goal is to generate textured SL mesh objects much like off-sim terrain objects. Then have viewers display them in the right places. IM me if interested.
  17. Ah. And this is Stable Diffusion, trained on Internet images, so its training set includes those. I've generated more pictures, and they all have that color preference. Most also have those linear lights. Nice look. SL tends to look too hard-edged. These are hard-edged designs; the softness is in the materials. Please, if you have some nice SL interiors that look this good, post.
  18. And it's getting really huge. I don't get the appeal, but if I want that, I've got it in RL nearby. (Some years ago I was driving around the SF bay area and somehow got lost in a huge subdivision of cul-de-sacs. After a few minutes, I drove up to a group of teenagers, and asked "how do I get to the real world". They understood instantly and told me how to get to the freeway.)
  19. I've posted on this topic before, so I'll be brief today. Lumen. I wonder how close we can come with reflection probes. Once everybody gets bored with shiny, some good work may be done with low but nonzero reflection surfaces to get nice wood effects in interiors. There's an example of this over at Rumpus Room, but the shiny is turned up too high. Think subtle. Nanite geometry is all about pre-computation. It's basically a way of making huge meshes which contain all the levels of detail in a pre-computed way. It takes a really weird renderer. It relies on instancing within the mesh, such as a brick wall where the bricks are modeled, but mostly duplicates. You could still have a hole in the wall. Probably not that helpful for SL. Don't be fooled by the path-tracing examples. Well, maybe. Large View Distances. You've got to have impostors. I've written on this before. I'm looking at using OpenDroneMap, which is free software, to make mesh impostors of entire regions, to be displayed like off-sim meshes you can never get close to. When you get close, the real region replaces the impostor. These would be made by having a bot take some 2D pictures of each region once a week or so, then running them through OpenDroneMap. Anybody interested in working on this? Large Object Count. How large? Actually, with a gamer-level GPU, we're in good shape on object count. Triangle count for avatars is a bigger problem. The real implication of user-created content is far fewer instances of objects. SL Marketplace has about 50,000 different chairs and maybe a hundred different road guardrails. Look at a video game closely, and you see the same items showing up over and over. The effect is that a metaverse needs about 3X the GPU memory of a game.
  20. Firestorm's Linux version is fine, although they don't have PBR in yet.
  21. The way all this works is bad. All uploaded meshes, of all LODs, and the physics models, are individually squeezed into a 1x1x1 box, then re-scaled by the object size. So you have to fuss with all your models so that they have exactly the same bounding box. At least until glTF upload is implemented, we're stuck with it. I hope that goes away when glTF upload comes in. The Havok convex hull generator is not very good. It likes to generate long skinny trapezoids from rectangular solids, and is confused by inside corners. I've tried an experimental one that's much better, but it's academic code and crashes a lot. The input geometry for the experimental one has to be a valid manifold, i.e. watertight with no interior faces or duplicate vertices or edges. This is the curse of mesh algorithms. They come in three flavors. 1) crappy but free, 2) good but expensive, and 3) academic and flaky. Chic Aeon has all the workarounds figured out. Read and watch her stuff. It's all possible, and too much work.
  22. I put the simple prompt "futuristic house" into Stable Diffusion, and it generated some nice designs. House 1 House 2 Not bad ideas for SL. Interior I suspect that someone included Architectural Digest in a training set. Or they really liked Zaha Hadid, who's into those linear light strips. (These are all synthetic AI-generated images, from the Stable Diffusion program, if you're not familiar with this sort of thing. It's a useful way to get creative ideas.) The warmth of these images is impressive. This is proper use of environmental reflections. As PBR and more light sources start to work, SL should look this good. Just a little environment reflection on interior surfaces, with reasonable lighting, makes interiors look warm. If you want to practice using PBR, take some existing house model, tune it up, and light it well, so it looks this good. There's a wood-lined room at Rumpus Room which demos this in PBR. It's overdone, though. Back the shiny down to about half those levels, and it should look like this. You want people to say, "That looks beautiful and real", not "Ooh, shiny thing!" Possible theme for the 2048 m^2 houses. They need space. You can't put architectural statements too close together, or the result looks tacky.
  23. So at this point, the only problem on the SL side that's holding me back from a new release of Sharpview with multiple region support is the delayed EstablishAgentCommunication message. (There's another problem on the rendering side, but that's in the Rust rendering ecosystem.)
×
×
  • Create New...