Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,752
  • Joined

Everything posted by Wulfie Reanimator

  1. My understanding is that the mips are stored in the file format itself, so they wouldn't need to be created from scratch on the fly, just loaded directly. (Difference being less processing time.)
  2. Normals make all the difference. (Same mesh, one has a "higher poly" normal map.) You start by having both models (high and low poly) in the exact same position. (The low poly model needs to have at least one material as well.) Select the high poly first, then also select the low poly, so that it's the active object. Switch to the Shader Editor (previously known as the Node Editor), press Shift-A to add Texture > Image Texture. Click New to create a new image, settings don't really matter so pick whatever. Make sure the node is selected, it will have a white highlighted border if it is. It does not need to connect to anything. Go to the Render Properties tab on the sidebar (little TV icon) and select Cycles as the Render Engine at the top. Below that, there's a menu called Bake Set the Bake Type to Normal Enable Selected to Active Adjust the Ray Distance, the correct value depends on the size/shape of your object. My object is simple so I used 0.1 Longer ray distance will detect deeper cavity, but too long/short might detect the wrong side (or no side) of your mesh. Click the Bake button. Assuming you did everything correctly, you can now switch to the Image Editor, select the baked image, and save it as a file.
  3. "A person who thinks all the time has nothing to think about except thoughts, so he loses touch with reality, and lives in a world of illusions. By thoughts I mean specifically chatter in the skull: perpetual and compulsive repetition of words of reckoning and calculating. I’m not saying that thinking is bad. Like everything else, it’s useful in moderation. A good servant but a bad monster." - Alan Watts
  4. I never said that you don't use integer math at all when it comes to rendering... I would be surprised if you could do anything practical without integers. Go re-read your first and second post in this thread. Your original claim implied that "everything is done with integers, position is measured with fixed-point math and not floats unless you're doing scientific stuff or add more dimensions." That was the context I was responding to. "You need integers to put pixels on the screen" is a world of difference and of course I would've never disagreed in the first place if that was your claim, but it wasn't. I'm very open to new ideas and love being corrected, but considering my practical knowledge on the subject, there was no way what you were originally saying was as true as you were presenting it as. But even the way you worded your conclusion, like "actually I was right after all, ha" is upsetting on its own. It's like insisting "water boils at room temperature," and when called out, you clarify with "I looked it up and if the room was a vacuum, the water would boil."
  5. It's incredibly frustrating for me as a teacher to read so much misinformation in so little content. I may sound harsh, but that's because you're so brazen for how uninformed you are on this. How quickly you were able to find the (correct) abstract information about how games are rendered these days demonstrates that. In the early 2000s we had games like Unreal Tournament (1999) and Deus Ex (2000) which ran on Direct3D 10. Even D3D 9 (released in 1995) used floating-point math. We even had very high quality games on Valve's Source Engine like Half-Life 1 (1998), later Half-Life 2 and Counter-Strike: Source (both 2004) which absolutely made use of floats. Valve's games from that time are literally revolutionary in many ways, including accurate physics. I can't even come up with an analogy that could express how incredible this statement is, and how far removed it is from your original claim. The amount of theory we would have to go through to explain to you how rendering a 3D world into a 2D screen is done is far too much information to put here. So instead, I leave you with this and you can read through it at your own pace: https://www.scratchapixel.com/
  6. How far in the future do you want to go? 60 (sec) * 60 (min) * 24 (day) * how many days...
  7. I have absolutely no idea where you could possibly get this idea. What background do you have to talk with such of confidence? To me it seems obvious you have no idea how floating point numbers (or rendering 101) works, and how 32-bit ints could never work for rendering in SL in the way that it does. The fact that you didn't include any sources only strengthens my opinion. What is the point you're trying to make? CPUs can do float math, therefore the GPU isn't used because it can do other things? Mind-blowing. Software renderers (AKA, ones that run on the CPU) are incredibly slow (which is the only thing where you're correct) and that's exactly why we have graphics cards and why all modern graphics APIs use the... graphics card. LSL also has floats. Vectors are 3 floats, rotations are 4 floats. All of the functions that deal with positions and rotations return the correct float values, with higher precision than "an decimal converted to a float" could give. Back in 2000, computers were already fast enough to be using floats and GPUs for games. No sane individual would build a market product like SL with a CPU-based integer renderer. (Never mind that what you're describing is basically "fixed-point" which is slower than floating-point math.) 4096 isn't even a hard limit in SL. Avatars and objects can go higher, a lot higher, and not suffer from doing so until they start reaching heights where 32-bit floats really start breaking down (10-50k meters, try it and see what I mean.)
  8. Didn't someone (you?) make a thread about "SL Beacon" earlier? That's been deleted too, and you have "3 posts" but only this survives. I recall it being something not exactly (or only) related to SL, maybe it is but the description didn't leave that impression.
  9. I'm very confused by this. What does "4098 = 1 0000 0000 0000 b" mean and how does it relate to "4000.0000"? Do you have any kind of source for the "200.003 is actually 2000003" claim? What do you mean by "5.0014 gets rounded off oddly?" Could you link any relevant pages...? Integer math is certainly faster than floating-point math -- and it was used back when CPUs were slow -- but the difference is absolutely negligible on anything you could possibly expect to connect to SL with today. To do everything with integers would surely be more of a headache than regular floating-point math. I would even call it unfeasible.
  10. Speaking from a programmer's background (though not exactly graphics cards), I don't know of any reason why we couldn't have both. Memory is just memory, as long as 64-bit is supported (basically all but the lowest of the low end). Even Windows 10 no longer supports hardware that can't do it. (Such a version exists, but won't get anything but security updates.) Slightly technical explanation: 32-bit numbers reach up to the equivalent of 4 GB of memory. It's literally impossible to represent a larger value than that with 32 bits. Meanwhile 64-bit numbers reach up to 17 million GB, which is.. a lot. LL has had a 64-bit viewer since 2018, praising it has an improvement to resources, performance, and reliability. There should in theory be no additional changes needed to support any amount of memory consumers might have access to. The caveat to that being legacy code that relies (or doesn't account for) 64-bit values. Even the problem of users cranking up the VRAM limit too high can be curbed much like other "dangerous" settings you can find in the debug menus. If you crash with the setting enabled, it's restored to a safe value.
  11. Alpha-on-alpha or "alpha-sorting" is a common problem in 3D rendering. The geometry typically used for hair is very difficult to "sort" (to find out which texture is in front of the other) and when it goes wrong, you see the issue. The texture that is behind was mistakenly placed in front, so it disappears. To fix it, you need to use fewer alpha textures, use alpha in smaller areas, or just hope for the best. Sometimes, alpha-sorting just works. Sometimes, the same hair will have issues. Sometimes, selecting the hair will fix some of the issues.
  12. Spoken like somebody who would buy a "Gaming PC (tm)" and plug the monitor into the motherboard. (I know it isn't your words.) That's like saying "why buy 16 GB of RAM, 2 is plenty!" Completely ignorant of how bad things get when memory runs out. Granted, I do think 11 GB of VRAM is excessive for just gaming (including SL). Even 4K gaming doesn't reach very high VRAM usage, relatively speaking. The games tend to stay safely under 5 GB VRAM, plus whatever extra you'll need for all the other programs running in the background, which should be very little. Second Life is of course a bit "special" because its content isn't exactly optimal by nature, with a single avatar being able to devour more VRAM than your average game scene as a whole.
  13. Right, I was just confused by the inconsistency of that one variable and forgot you can either have the curly braces around it or not. (Depends if it's just a basic variable or a more complex expression.) Does your database have a limit on the content length? Eg. varchar(18) or something. The query itself looks correct to me. Have you tried updating the column with values other than "N/A" as a test?
  14. While I'm (relatively) versed in PHP (not as comfortable with SQL queries), it's pretty hard to figure this out since I can't inspect/test any of this easily. One thing that sticks out to me though, is that in all of your queries, you assign "$col={$stats}". Is the dollar-sign intentional and actually in the column name? If it's intentional, why? What does rq("database"); return? And shouldn't the query at least be "{$col}={$stats}"?
  15. If nothing comes up then maybe. I think llRequestAgentData would make the most sense, considering the name and what it already does, and not needing the avatar be in the area or online.
  16. It's been a while since I looked into this, but is there any public interface for checking whether a specific avatar is set to the Scripted Agent status, or is there any specific behavior we can observe? (For example, name hidden in group member lists, but I don't think this happens.) I don't need to know whether the avatar is currently being controlled by a human or not. I only want to know this status:
  17. Sorry, I got scatterbrained for a minute anyway. Specular generators are a bit harder to find, I don't even know of any off the top of my head. But I see what you mean now, you actually want to add the "shininess" into the diffuse directly, without ALM. Without the model, you're pretty much doomed and would have to do that by hand. If it helps, you can use "local textures" so that you can edit and save a file, and see the changes in-world within seconds, but it'd still be pretty trial-and-error.
  18. Yep. When you don't have access to the model, you're stuck with generators or hand-drawing. Here's one you can try, but there are many: https://cpetry.github.io/NormalMap-Online/
  19. Have a look at this wiki page, which documents all the different kinds of texture behavior: http://wiki.secondlife.com/wiki/Material_Data Specifically, it says that a texture -- when used as a specular map: Encodes the color of the reflected light. Uses the alpha channel to determine the intensity of the "environment map" reflections. Here's an example of a solid rainbow-gradient used as the specular map of a cube with a white texture: The top-right prim is a light source. The left side of the larger cube is reflecting some light from it, which reveals the rainbow colors. If the cube is not reflecting light, it will stay purely white. For the alpha, here are three examples. I colored them dark purple (I like purple) to make the alpha-gradients more clear, but in-world I am using black color. Here's what they look like, with 128 Glossiness and 255 Environment: There are two things happening there. The Environment is only shown where there are opaque pixels. Transparent = no "world reflections" or what we used to call "shine." You can also see that the switch from 99% transparency to 100% transparency is pretty harsh. Because the non-transparent pixels are reflecting black, that means they reflect no color at all. No matter how bright the light source is, it's ignored. Here's a last example, on the left there is a black square in the middle, on the right there is a white square in the middle. Just to be clear: You can't bake the specular into the regular (diffuse) texture, and you don't need the mesh to create a specular texture. You can generally either hand-draw or generate a specular from a diffuse texture. You can set them in the Build/Edit window.
  20. You're building up quite a straw-man. I'm exceedingly aware of the onion-layer issue, and keenly aware of what BOM does. Reading the OP again, the definition was clearer (and different from) how you worded it. Your definition was "one or no layers, and can't use appliers" ...which is a pointless criteria because if a mesh body only has a single "layer" but can still use appliers for non-BOM textures, that doesn't fit into your definition despite being equally efficient. Pussycat primarily wanted no extra layers, and (a bit confusingly) also specified that just being able to use BOM textures wasn't good enough if the extra layers were still there. That's perfectly reasonable, nothing to clarify or complain about. But a bit back on topic: I was going to suggest a head but after double-checking it in-world, it actually has two extra layers over the face which can't be removed (although the head is modifiable). @Pussycat Catnap Could you include a photo of the kind of look you're trying to replicate? I have a handful of suggestions but they're probably too anime. Post mortem.
  21. All of the stores I mentioned take 30%. I also mentioned stores that don't involve any "running costs" like Turbosquid, which takes 60% from basic accounts, 40% otherwise. Sketchfab takes 30%. CGTrader takes 30-20% (you accumulate points which raises your cut, slowly). Sounds good to me.
  22. Don't ever look at any other virtual merchant platform, like Apple/Android store, Steam/Origin/Epic Games store, Unity's Asset Store, Turbosquid, or any other "assets for sale" type of thing... You'll have a heart attack.
  23. Are your viewers up to date? Does Catznip even support BOM in the first place? It's interesting how the mesh body appears to have proper textures while the system body is having trouble. You'd think the mesh body would have the exact same problem if it's currently using avatar bakes.. Great username, by the way.
  24. But making the distinction between "BOM-native" (BOM pre-applied, no layers) and "mesh that can be used with BOM" (uses any appliers, no layers) is pointless. There is no "performance difference" between the two, since that's the stated goal of the question.
  25. Short answer: Because it's hard. Longer answer: The system we use for shapes is too simple, and literally cannot work the way you're suggesting. Mesh heads work by having a "base model" (the one created in 3D modeling software), which is then rigged to a relatively simple "skeleton" with few (about 40+) bones which can be used to influence the mesh by "weight." The weights determine which bones and how much they affect the mesh if they change. SL "shapes" only affect the base skeleton, and the mesh head is the one who decides what it's going to look like. That's a very simple system compared to completely shrink-wrapping one model to another, and makes it impossible for two models to become even close to each other if they aren't already similar. To be clear, mesh models can be transformed almost 1:1 with other models, but it would require the models to be set up very differently, for a very different system. One example is Shape Keys in Blender, but it requires that the two models have exactly the same amount of detail. I don't even know if a generalized "morph any 3D topology to another" is even possible. The algorithm for that might have to be inhumanly complicated.
×
×
  • Create New...