Jump to content

animats

Resident
  • Posts

    6,137
  • Joined

  • Last visited

Posts posted by animats

  1. 8 hours ago, Zalificent Corvinus said:

    Instead they will prevaricate, contemplate moving to Vulkan, put that off because its "too hard right now", try cram in some new shiny, that doesn't work properly and that almost nobody benefits from,

    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.

    • Like 2
    • Thanks 1
  2. 2 hours ago, Tomas McConaught said:

    How about the Tower of PBR?

    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.

    2 hours ago, Paul Hexem said:

    We should be on a much more modern rendering tech. DX10, DX11, Vulkan... We know the possibilities are there thanks to guys like @animats. Except every time that's floated, this same kind of argument comes up.

    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.

    • Like 2
    • Thanks 2
  3. 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.)

     

     

  4. 3 hours ago, Setsuki Takeda said:

    A place with a few "common sense" rules like Belli has, but with more open design for people to actually build on, both commercial and residential.

    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.

    • Like 5
    • Haha 1
  5. 20 minutes ago, Baiphen Quintessa said:

    I'm still hoping for the quintessential Palm Springs Mid Century Modern. All palm trees and cacti. And every house comes with a pool. Oh, and the colour scheme would be easy since most of the MCM out there is white with bright day glo doors. That's my dream anyway. 

    Salton-Sea-Resort.jpg

    • Like 2
    • Thanks 1
    • Haha 2
  6. 11 minutes ago, AmeliaJ08 said:

    I know LL probably hate the idea for obvious reasons but SL really needs some sort of content review process where truly badly optimized stuff can be flagged as needing improvement. That said they're also not blameless, LOD still doesn't work properly for rigged mesh does it?

     

    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.

    • Like 1
  7. 6 hours ago, Jackson Redstar said:

    8 gig of VRM is simply not enough for SL in a crowded environment  any more. Wish most cards would have 16 or even 32gig

    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.

    • Like 1
    • Thanks 1
  8. 18 hours ago, Diablo Lioncourt said:

    There's two very definite ranges in avatar counts per region: Linden (0-1) and Landlord (5-6).

    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.

  9. 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.

    • Like 4
    • Thanks 1
  10. Thanks. Where is the winter arena?

    There's a lot of work ahead.

    6 hours ago, Wulfie Reanimator said:

    The amount of work that goes into writing practically everything from scratch is a huge achievement.

    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.

    • Like 2
    • Thanks 1
  11. 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.

    • Like 4
  12. 6 hours ago, Candide LeMay said:

    How are the pre-rendered imposters going work if every parcel and every avatar potentially have a different EEP applied to it? If I'm on a parcel with a misty dark EEP and see a bright sunshine impostor in the distance that's worse than seeing nothing.

    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.

    • Like 5
    • Thanks 1
  13. 28 minutes ago, Rathgrith027 said:

    I unfortunately cannot really contribute, but I cannot stress how genius this is. As an aviator in Second Life, the biggest issue I've faced has been draw distances. Faking large DD by making the SL world outside of either the current region or nearby regions, would seriously pave the way for helping improve SL aesthetically and in circumstances like aviation and elsewhere, functionally. Computationally and otherwise, I don't see it being too difficult to implement...

    There's the easy approach, which looks like this:

    landimpostor1.thumb.jpg.7eafe3856c1050299aec8df2a2d192fa.jpg

    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.

    basicterrain1.thumb.jpg.f30bf8ffc2492009222db5670172cb49.jpg

    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.

    • Like 3
  14. 1 hour ago, arton Rotaru said:

    All 3 of those images have the Orange-Teal color grading which pretty much every Hollywood movie has since the past 10 years. That's why they look so pleasing to the eye.

    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.

  15. On 12/7/2023 at 4:27 AM, Love Zhaoying said:

    Unfortunately, it (Bellessaria) i's "ONLY" a suburbia.

    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.)

    • Thanks 1
    • Haha 1
  16. 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.
    • Like 4
    • Thanks 2
  17. 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.
    • Thanks 1
  18. I put the simple prompt "futuristic house" into Stable Diffusion, and it generated some nice designs.

    house1.thumb.png.9992c42520c36685532ae2352ec5a38b.png

    House 1

    house2.thumb.png.ffa020e3d1fe48dabe5c6b53ec6755ad.png

    House 2

    Not bad ideas for SL.

    house6.thumb.png.57cde34b4640eeb1583e2ff20840d76b.png

    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.

    • Like 4
  19. 1 minute ago, Henri Beauchamp said:

    Glad to hear it !

    Strange that other viewers than mine (which, AFAIK, is the only only one to use extrapolated values) are not suffering from the same delays as the ones you encountered... 🤔

    Wondered about that myself. Before I started sending any throttling values, and was only showing one region, I got ObjectUpdate messages faster.

  20. 9 hours ago, Henri Beauchamp said:

    I extrapolated those for higher bandwidth settings in the Cool VL Viewer:

    // Bandwidth settings for different bit rates, they are interpolated /
    // extrapolated.
    // The values are for: Resend, Land, Wind, Cloud, Task, Texture, Asset
    static const U32 BW_PRESET_50[TC_EOF] = { 5, 10, 3, 3, 10, 10, 9 };
    static const U32 BW_PRESET_300[TC_EOF] = { 30, 40, 9, 9, 86, 86, 40 };
    static const U32 BW_PRESET_500[TC_EOF] = { 50, 70, 14, 14, 136, 136, 80 };
    static const U32 BW_PRESET_1000[TC_EOF] = { 100, 100, 20, 20, 310, 310, 140 };
    static const U32 BW_PRESET_2000[TC_EOF] = { 200, 200, 25, 25, 450, 800, 300 };
    static const U32 BW_PRESET_10000[TC_EOF] = { 1000, 500, 25, 25, 1450, 5000, 2000 };

    (see the linden/indra/newview/llviewerthrottle.cpp file in the Cool VL Viewer sources)

    Note however that these are just clues for the sim server, and as I understand it, the latter is the one making the actual decisions.

    It would also be about time to kill the ”Texture” and ”Asset” slots, in SL (not in OpenSim !), since those are now all transmitted via the ViewerAsset capability in SL...

    Oh, and ”Cloud” messages were removed years ago, too, from SL (I am now generating them viewer side, in the Cool VL Viewer, so that I can still enjoy Classic Clouds in SL).

    Thanks. Cranking up Sharpview's values to the highest values shown there reduced region loading time from about a minute to under 10 seconds. (Tested on Clockhaven in New Babbage.)

    • Thanks 1
×
×
  • Create New...