Mesh/Archive/2012-11-05

From Second Life Wiki
Jump to: navigation, search

Agenda

  1. Is it possible to provide more info regarding develop -> redermetadata since some of these are really handy to evaluate mesh object and to have a better understanding of the complete picture [Zed Tremont]
  2. We know that the highest o the calculation values in the uploader is what sets the LI. If the physics is the highest contributor, that can be fixed with a custom physics mesh. What, specifically, should we be looking to do to our model that effects "Download" and what effects "Server", so we know the difference, in more laymen like terms, and how we can lower LI through changing the model to affect Download or Server values? [Eleanora Newell]
  3. Is it on purpose that the exact values of the default Avatar can not be reached with the SL shape editor ? i.e.: When i set a default value to itself with a slider, then the new (true) floating point value sometimes differs slightly from the default. This makes trouble with external tools, because it is not clear how to support this in a meaningful way. Is there any chance for a fix such that all default values can be set by the SL sliders ? [Gaia Clary]

Meeting Notes

Transcript for Monday November 5, 2012

[11:59] Nyx Linden greetings all
[12:00] Eleanora Newell hihi
[12:00] peetee Jewell Hi Nyx
[12:00] Sera Lok hello^^
[12:01] Phoenix-FirestormViewer Rocks (tankmaster.finesmith) I see 3.4.1 is not set for release
[12:01] Phoenix-FirestormViewer Rocks (tankmaster.finesmith) now*
[12:02] Nyx Linden a bit light on topics this week, feel free to add more: http://wiki.secondlife.com/wiki/Content_Creation/Mesh_Import_User_Group
[12:02] Martin RJ (martinrj.fayray) Hi:-)
[12:02] Aki Shichiroji Greetings
[12:03] Darien Caldwell not a topic, but just a FYI, Runitai just posted a build of the Mesh Upload fix that's been highly anticipated by many. Link is on the Jira: https://jira.secondlife.com/browse/SH-3055
[12:04] Darien Caldwell pre-beta, so at your own risk ^.^
[12:04] Eleanora Newell thanks, darien
[12:05] Nyx Linden first topic: "Is it possible to provide more info regarding develop -> redermetadata since some of these are really handy to evaluate mesh object and to have a better understanding of the complete picture [Zed Tremont]"
[12:06] Zed de Tremont (zed.tremont) :)
[12:07] Zed de Tremont (zed.tremont) Quite a few of those can be handy to evaluate sims/objects
[12:07] Darien Caldwell the only info on the wiki I have found is this: https://wiki.secondlife.com/wiki/User:Viktoria_Dovgal/bbox
[12:07] Zed de Tremont (zed.tremont) only I haven't dound any legend
[12:07] Nyx Linden so this is one of the debugging options we use to test our graphical systems. Zed you passed me a notecard regarding specific points you had questions on, mind if I share that list?
[12:07] Zed de Tremont (zed.tremont) Indeed Darien
[12:08] Zed de Tremont (zed.tremont) Of course it can be shared
[12:08] Nyx Linden the short answer is that we can certainly provide more documentation, and I'll let our doc team know that there is interest in having more formal documentation around this.
[12:08] Nyx Linden informally we can try and answer a few of those here.
[12:08] Nyx Linden 1. Bounding boxes:
[12:09] Nyx Linden 14 Build queu
[12:09] Nyx Linden long list, but we currently don't have any other topics this week so let's dive in
[12:10] Phoenix-FirestormViewer Rocks (tankmaster.finesmith) long list indeed :P
[12:10] Zed de Tremont (zed.tremont) If somebody likes it on a NC I can pass it if not done already
[12:11] LRaven Avedon hey guys
[12:11] Nyx Linden first: 1. Bounding boxes:
[12:14] Nyx Linden admittedly a lot of these things I'm going to have to look up myself :)
[12:14] Eleanora Newell nyx, i also added to the agenda
[12:15] Nyx Linden so at a high level the bounding boxes show the bounding box for various objects in the scene, the layers, thickneses, etc I will have to look up
[12:17] Nyx Linden at the moment our documentation around this *is* the source code, most of these displays are mostly used by our graphics engineers, they're not intended to be general-use displays (hence the lack of documentation)
[12:17] Nyx Linden 2. Normals -> what exactly
[12:18] LRaven Avedon someone pls tell me what is happening here? :/
[12:18] Nyx Linden hi LRaven, we're having a meeting here discussing various content creation topics
[12:18] Nyx Linden the agenda is here: http://wiki.secondlife.com/wiki/Content_Creation/Mesh_Import_User_Group
[12:18] LRaven Avedon oh really??? shit. sorry to interrupt. i didnt know. LOL
[12:18] Liisa Runo you are welcome to join us
[12:18] Nyx Linden we're currently on the first topic discussing the develop->render metadata topic
[12:19] LRaven Avedon i dun knw anything bout this meeting of urs. im just a normal SL user for socialising.
[12:19] Nyx Linden you're welcome to stick around if you'd like and ask questions. Additional topics should be posted on the wiki
[12:19] Martin RJ (martinrj.fayray) Hello LRaven
[12:19] LRaven Avedon oh. tats nice. =)
[12:20] LRaven Avedon oh. hey =)
[12:20] Nyx Linden the normals display shows a line that represents the normal vector, or what direction a particular triangle or surface "faces"
[12:20] Nyx Linden 3. Octree -> what exactly
[12:21] Nyx Linden The octree display shows how the world is divided up into different "zones" for purposes of updating, etc. You see colors change as various items need to get updated - the higher the frequency of updates, the more load
[12:21] Nyx Linden you can see a bunch of updates happen as you zoom in and out
[12:22] Nyx Linden 4. Shadow frusta
[12:22] Nyx Linden this deals with our shadow rendering, its more for devleopers, less helpful for creators
[12:22] Nyx Linden 5. Physics shape:
[12:23] Zed de Tremont (zed.tremont) This one I use regularly now
[12:23] Nyx Linden physics shapes are more helpful, as it shows you what shapes the server uses for detecting collisions. This is particularly important for imported meshes and pathfinding characters
[12:23] Zed de Tremont (zed.tremont) To see if, if not it is wise to use convex hull or for mesh
[12:24] Nyx Linden exactly. This is probably the most useful one for creators trying to optimize their content
[12:24] Drongle McMahon I shows you that the default convex hull is smaller than it should be!
[12:25] Zed de Tremont (zed.tremont) Indeed but you regularly get see colour codes
[12:25] Drongle McMahon Or has that been fixed now?
[12:26] Nyx Linden the colors are determined in the code, I'll have to look up what the various ones mean
[12:26] Drongle McMahon Blue=good, red=bad
[12:26] Eleanora Newell :)
[12:26] Darien Caldwell yes I heard that hehe
[12:26] Darien Caldwell though what = bad would be good to know
[12:26] Nyx Linden more or less yes
[12:26] Zed de Tremont (zed.tremont) True
[12:27] Nyx Linden 6. occlusion tris visible
[12:27] Nyx Linden this is a debugging display for our rendering engine, shouldn't really be relevant
[12:28] Nyx Linden most of these are fairly technical in nature, only a handful of them are potentially useful actually
[12:29] Nyx Linden I'll skip around a bit for the purpose of brevity
[12:30] Zed de Tremont (zed.tremont) Render badges?
[12:30] Zed de Tremont (zed.tremont) If we can see how rendering of certain spots on a sim goes
[12:30] Zed de Tremont (zed.tremont) we might be able to detect problem areas on sims
[12:31] Nyx Linden render batches are groups of content that can be drawn together in one pass. Every time you change the properties of an object (textures active, shiny, etc). then the whole pipeline needs to stop in reset, so batching things is good
[12:32] Nyx Linden the next relevant display is collision skeleton, which shows you the bones that your camera can focus on for picking
[12:33] Nyx Linden next important would be "render complexity" which uses the display weight algorithm to give a "score" to each avatar in view as to how complex they are to draw
[12:34] Nyx Linden there actually is documentation on this one! Keeping these numbers low will help with your performance.
[12:34] Nyx Linden use the "display weight" metric in the build tools while working on attachments to help here
[12:36] Nyx Linden attachment bytes - shows how much data is needed to store each avatar's attachments
[12:36] Nyx Linden and sculpt - shows the size of the sculpt maps used in sculptie objects
[12:36] Nyx Linden we have a couple other topics to get to, are there any immediate questions here?
[12:37] Drongle McMahon Eleanora is 0.0Kb!
[12:38] Nyx Linden I'll talk with our doc team to see if we can get the ones that would be helpful for builders documented better
[12:38] Eleanora Newell yay
[12:38] Nyx Linden please note that these are internal developer tools and could change at any time
[12:38] Yuzuru (yuzuru.jewell) Nyx, I can't turn "render complexity" to checked.
[12:38] Tillie Ariantho Where do I display those values?
[12:38] Nyx Linden (anything under 'develop' is subject to change)
[12:38] Qie Niangao Yuzuru, me neither.
[12:39] Nyx Linden hrm, looks like a bug :)
[12:39] Nyx Linden you should still be able to use the display weight while creating objects, I'll look at the debug display for avatar numbers
[12:39] Nyx Linden moving on
[12:39] Drongle McMahon You can turn it on under Advanced->Performance....
[12:40] Nyx Linden next topic: "We know that the highest o the calculation values in the uploader is what sets the LI. If the physics is the highest contributor, that can be fixed with a custom physics mesh. What, specifically, should we be looking to do to our model that effects "Download" and what effects "Server", so we know the difference, in more laymen like terms, and how we can lower LI through changing the model to affect Download or Server values? [Eleanora Newell]"
[12:40] Nyx Linden great question!
[12:40] Tillie Ariantho Ok... Cool VL Viewer has no advanced/performance. ;)
[12:40] Tillie Ariantho Seems to be the Info Displays...
[12:41] Drongle McMahon The others are in the Develop menu .... I can't remember how to turn that on.
[12:41] Nyx Linden so the details for the weight algorithms are in the wiki: http://wiki.secondlife.com/wiki/Mesh/Technical_Overview (see the box in the right)
[12:42] Drongle McMahon If you like maths, you could also look at http://community.secondlife.com/t5/Mesh/Download-weight-and-size-Some-graphs/m-p/1058609#M5642
[12:42] Nyx Linden "streaming" or "download" weight is the geometric complexity of the model you are uploading. You can reduce this by reducing the number of triangles in your model, or adjusting how much your LODs downscale the number of vertices
[12:42] Nyx Linden http://wiki.secondlife.com/wiki/Mesh/Mesh_Streaming_Cost
[12:43] Nyx Linden "server" weight is less easy to affect, as it sets a weight for how many pieces or prims an object is broken up into, and whether those prims are considered "dynamic"
[12:43] Nyx Linden http://wiki.secondlife.com/wiki/Mesh/Mesh_Server_Weight
[12:43] Drongle McMahon Basically ... minimising the complexity of the lowest relevant LOD for the mesh size will have the greatest effect in lowering streaming weight.
[12:44] Eleanora Newell nyx, can we rez here?
[12:44] Eleanora Newell yes, drongle, that seems to be key
[12:44] Nyx Linden prefer to rez on the grassy hill immediately to the west, but yes, just a sec
[12:44] Darien Caldwell the Grassy Knoll heh
[12:45] Nyx Linden build is on, feel free to rez examples
[12:45] Drongle McMahon There are fixed cutoff sizes above which each lower LOD becomes irrelevant.
[12:45] Drongle McMahon A cube!
[12:46] Eleanora Newell heh
[12:46] Eleanora Newell i'm still working on the lower lods on this
[12:46] Nyx Linden indeed, if an object is small enough that we never actually use LODs, then the lower LODs aren't relevant to the cost
[12:47] Eleanora Newell it was 25K tris for level one
[12:47] Darien Caldwell yeh, that's a lot
[12:47] Eleanora Newell yes
[12:47] Nyx Linden that's a ton of triangles for an object that size
[12:47] Eleanora Newell normally i don't do that much
[12:48] Eleanora Newell this is the kind of thing that the normal maps will soooo be good for
[12:48] Nyx Linden there are some good quality full avatars that weigh in under 10k triangles
[12:48] Eleanora Newell yes
[12:48] Nyx Linden indeed, hopefully normal maps will help in these types of situations
[12:49] Zed de Tremont (zed.tremont) Imagine the opposing I made a huge bridge element of 60*80 due to the size it wan't get fast on LOD2 so this one could be reduced also a lot I presume. Impossible to upload in aditi yesterday
[12:49] Nyx Linden please do report back if you're able to remake it with normal maps in the future and let us know how many triangles you are able to save :)
[12:49] Eleanora Newell actually, that is on my list, so i will
[12:49] Nyx Linden thanks!
[12:49] Nyx Linden does that answer your question on weights?
[12:49] Eleanora Newell i have one with 65K that is even better, and that's the one i'm trying with a normal map
[12:50] Eleanora Newell yes, nyx, ty
[12:50] Drongle McMahon Nyx .... I think it's the other way round. Big objects never use the lower LODs .... small ones nearly always use the lowest LOD unless you are very close.
[12:50] Nyx Linden moving on then :)
[12:50] Aki Shichiroji /me agrees.
[12:50] Nyx Linden you're right Drongle, I misspoke :)
[12:50] Eleanora Newell i would agree, drongle
[12:50] Nyx Linden next topic: "Is it on purpose that the exact values of the default Avatar can not be reached with the SL shape editor ? i.e.: When i set a default value to itself with a slider, then the new (true) floating point value sometimes differs slightly from the default. This makes trouble with external tools, because it is not clear how to support this in a meaningful way. Is there any chance for a fix such that all default values can be set by the SL sliders ? [Gaia Clary]"
[12:51] Darien Caldwell Gaia couldn't come, and asked me to be her proxy
[12:51] Eleanora Newell heh, yes, we spoke as well
[12:51] Darien Caldwell I think i already know the answers hehe
[12:51] Nyx Linden I don't believe this was on purpose
[12:51] Darien Caldwell to give an example,
[12:52] Darien Caldwell Saddlebags morph ranges from -0.5 to 3.0
[12:52] Darien Caldwell so at it's default of 0, that comes out to a slider of 14
[12:52] Darien Caldwell but in reality, the value is 14.285714285714286
[12:52] Bazz Fazz (vir.linden) This has to do with the way we send parameters encoded as 8 bits in some contexts.
[12:52] Nyx Linden we've been running into some similar quirks as we've been trying to work on server side avatar appearance / texture baking.
[12:52] Darien Caldwell so later if someone enters a value of 14 to set it to 'default'
[12:52] Bazz Fazz (vir.linden) Can't fix without a big overhaul, unfortunately :-(
[12:53] Darien Caldwell the morph actually set to -0.010
[12:53] Darien Caldwell i imagine high accuracy was just never seen to be a necessity
[12:53] Darien Caldwell and until mesh and the deformer, probably wasn't one
[12:54] Eleanora Newell nods
[12:54] Bazz Fazz (vir.linden) I think in the early days there was a lot of concern about minimizing network bandwidth.
[12:54] Nyx Linden there are three number spaces - the sliders have 100 points of accuracy, the individual morphs are floating point values with varying ranges, and we send a single byte over the network. the translation from one number space to the others is not always 100% accurate
[12:54] Drongle McMahon Can't you just make the sliders emit the right values?
[12:55] Darien Caldwell I see
[12:55] Drongle McMahon Make them 0..255
[12:55] Darien Caldwell the network aspect is part I wasn't aware of
[12:55] Nyx Linden over the network, there are 256 possible values for each parameter, that are then expanded into the floating point values
[12:56] Nyx Linden it was done to make the avatar appearance messages as small as possible
[12:56] Phoenix-FirestormViewer Rocks (tankmaster.finesmith) 255 I think actually :P
[12:57] Nyx Linden 0 to 255 :)
[12:57] Phoenix-FirestormViewer Rocks (tankmaster.finesmith) ah, figures
[12:57] Drongle McMahon Use 0..255 and a lookup table on the server?
[12:57] Eleanora Newell 256, 0 to 255
[12:57] Eleanora Newell chat lag
[12:57] Bazz Fazz (vir.linden) There are also some bugs in the way we do the conversions - I'm a bit afraid to touch it for fear of introducing some change in people's content.
[12:58] Darien Caldwell Gaia and Magus re-created the slider system in Blender, only i've been badgering them because it's not matching SL
[12:58] Darien Caldwell and the more we dig into it, the messier it gets
[12:58] Nyx Linden it is....rather messy :)
[12:58] Darien Caldwell *giggle*
[12:58] Eleanora Newell lol
[12:58] Nyx Linden I've been talking about this issue with Oz recently, to see what we can do about it
[12:59] Darien Caldwell /me nods
[12:59] Darien Caldwell I know oz brought up the possibility of a COllada Export for the avatar
[12:59] Darien Caldwell I think that could potentially help in some instances
[12:59] Tillie Ariantho There is a bug still with invisiprims too, I think. Not rendered right. Afaik Henry fixed it in his client.
[12:59] Theresa Tennyson How important are the 1-100 settings? Could they be translated to 0-255?
[13:00] Drongle McMahon If it's just one default that needs to be exact, you could intercept that byte value and translate it into the desired fp number?
[13:00] Martin RJ (martinrj.fayray) Invisiprims aren't supported, Tillie
[13:00] Darien Caldwell not to nitpick, but they are 0-100 settings
[13:00] Martin RJ (martinrj.fayray) That's expected behaviour
[13:00] Theresa Tennyson 101? Now that's just silly.
[13:00] Darien Caldwell yes, that was the first issue I prodded Gaia about
[13:00] Tillie Ariantho MartinRJ: So what? Ignore the hundreds of crying girls that cant use their shoes anymore they paid thousands of lindens for?
[13:01] Darien Caldwell they were doing a 100 range
[13:01] Nyx Linden yes there are a variety of silly things in this part of the code :)
[13:01] Martin RJ (martinrj.fayray) They can stick to an outdated rendering engine
[13:01] Nyx Linden is there a specific way I can help with this?
[13:01] Theresa Tennyson I have found the Holy Grail of sandal alphas - fixed many shoes.
[13:01] Aki Shichiroji the invisiprim breakage doesn't bother me so much in terms of attachments. I do wish there were some way of obscuring water without it though.
[13:02] Darien Caldwell well, I think basically i can say we know why and that it wasn't really 'on purpose'
[13:02] Darien Caldwell but I guess the question is, will it be improved?
[13:02] Eleanora Newell :) nods
[13:02] Aki Shichiroji alpha layers have been out for what.. two years? if shoe-makers haven't learned to use them, they shouldn't complain about not being able to move product.
[13:02] Tillie Ariantho The invisiprim fix must be relatively easy. Maybe someone look at Henry's code. :P
[13:03] Darien Caldwell they work tillie, but with shadows they look like crap, they cast shadows
[13:03] Darien Caldwell so, no longer supported
[13:03] Theresa Tennyson Dolphin uses it now. It works pretty well - actually I wish Lance would give the option to turn them off.
[13:03] Tillie Ariantho It's not the creators who whine, but the people you paid lots of L$ for the items which are broken with the new renderer.
[13:03] Nyx Linden well I can assure you that we're having just as much difficulty with it internally as you're having externally, but we'd have to be careful not to break old content if we looked at changing any part of this.
[13:03] Qie Niangao I'm with Aki on this: Invisiprims were always hideous, but we need anti-water
[13:03] Aki Shichiroji we also need water on a prim :B
[13:03] Tillie Ariantho :P
[13:03] Qie Niangao and that. :)
[13:03] Darien Caldwell fair enough Nyx. I wish you much success with your struggles :)
[13:04] Nyx Linden /me forms a protest for anti-matter primitives and runs away :D
[13:04] Darien Caldwell lol
[13:04] Eleanora Newell grins
[13:04] Aki Shichiroji Tillie: my thoughts on the matter are that the shoes still operate under the conditions they were purchased.
[13:04] Martin RJ (martinrj.fayray) I want an lsl call for anti matter primitives
[13:04] Nyx Linden thanks for coming out all!