User:Andrew Linden/Office Hours/2010 08 24

From Second Life Wiki
Jump to: navigation, search

Transcript

[11:00] Welcome to Linden office hours
[11:00] Bronson Blackadder: not a samurai sword either, its a ginsu knife
[11:00] Rex Cronon: ok:)
[11:00] Bronson Blackadder: lol
[11:01] Bronson Blackadder: it slices it dices
[11:01] Techwolf Lupindo: Hello andrew. :-)
[11:01] Bronson Blackadder: you can even cut this aluminum can
[11:01] Arcane Laval: Hi Andrew
[11:01] Andrew Linden: mmmm. crack and crayons
[11:01] Arcane Laval: And everyone else
[11:01] Uni Ninetails: Woof
[11:01] Bronson Blackadder: and look! it can cut this tomoato
[11:01] Rex Cronon: lol techwolf. what is with the poster:)
[11:01] Moon Metty: hey Andrew :)
[11:01] Rex Cronon: hi arcane
[11:01] Rex Cronon: hi andrew
[11:02] Andrew Linden: I ususally smoke the crayons and scratch code with the crack crystals
[11:02] Bronson Blackadder: lol
[11:02] Moon Metty: o_O
[11:02] Moon Metty: hehe
[11:02] Kerry Giha: hehe
[11:02] Andrew Linden: Simon says he will probably be late today. He's in a meeting that is going over.
[11:02] Moon Metty: jira is down, atm
[11:03] Rex Cronon: u got a serous adiction, andrew:)
[11:03] Squirrel Wood: Ooo.... we had someone in the furnation sims today who was desperately trying to crash the sim through physical objects.... the sim didn't even notice his attempts.. ^^
[11:03] Andrew Linden: Yay! Something is going right -- harder to crash through physics.
[11:03] Uni Ninetails: :D
[11:04] Andrew Linden: Supposedly the crash rate of server-1.42 appears to be lower than ever
[11:04] Techwolf Lupindo: I'me going to drop by there Sqirrel and provve you wrong. LOL
[11:04] Bronson Blackadder: I havent came across any that have crashed yet
[11:04] Andrew Linden: Uh oh. Don't brag in front of the experts.
[11:05] Andrew Linden: Just some news about what I've been up to...
[11:05] Squirrel Wood: we still get ghost prims though where the physical blocking part remains active even though the actual prim for it is long gone
[11:05] Andrew Linden: I've got several simualator changes that I'm trying to get up for internal test
[11:05] Uni Ninetails: region crossing improvements seem to be a mixed bag. hitting old ver/pilot isnt helping spose. Wish blake sea was entirely pilot rollout
[11:05] Andrew Linden: so I'm trying to sort out the magic spells that will allow me to do that, for an internal grid for internal testing
[11:06] Squirrel Wood: region crossing... I frequently find myself at the opposite end of the sim after crossing into it
[11:06] Andrew Linden: however if that looks good I might look into trying to get a few regions of aditi with that code
[11:07] Andrew Linden: I expect that may be the mode of some of my work in the future: putting up some bleeding edge test regions on aditi and announcing them here for anyone who wants to try them out
[11:07] Uni Ninetails: what kind of changes Andrew?
[11:07] Andrew Linden: Currently I've got just internal optimizations, not many public bug fixes
[11:08] Andrew Linden: let's see...
[11:08] Andrew Linden: (1) the aforementioned optimization to terrain collisions
[11:08] Tillie Ariantho: sims colliding? ;)
[11:08] Andrew Linden: I actually tested that out myself, trying to measure an improvement and it appears measurable
[11:08] Uni Ninetails: yay :)
[11:08] Andrew Linden: er no, objects colliding against the terrain
[11:09] Squirrel Wood: terrain collisions.. they seem to be processed way late by scripts.. so when the script receives the event the prim is already several meters away from the point of collision
[11:09] Andrew Linden: I made a 36x36 grid of bouncing hollow-cut-advancedcut-toruses on some flat ground
[11:10] Andrew Linden: and the time spent in physics was half or lower in the new code
[11:10] Tillie Ariantho: :D
[11:10] Uni Ninetails: woohhoo =^.^=
[11:10] Moon Metty: mmm nice
[11:10] Andrew Linden: also, turns out moving objects high above the terrain still fall into the narrow-phase check in the Havok engine (against the terrain)
[11:10] Techwolf Lupindo: MMmmmmm...would like to see that. :-)
[11:10] Kaluura Boa: Hmmm... No more plane flying below 768m colliding with the ground? Is that what you're saying?
[11:10] Squirrel Wood: why do my feet sink into the ground but show proper behavior on a flat prim surface?
[11:10] Tillie Ariantho: how high is high? ^^
[11:11] Andrew Linden: and the new code avoids that narrow-phase overhead for objects nowhere near the terrain
[11:11] Andrew Linden: high is... currently 800m I think
[11:11] Tillie Ariantho: wow
[11:11] Tillie Ariantho: ok, thats bad then.
[11:11] Andrew Linden: the terrain's bouinding box currently extends up to 800m
[11:11] Moon Metty: always?
[11:12] Andrew Linden: so moving objects within 800m will fall into the narrow-phase check (narrow-phase means "more details necessary")
[11:12] Squirrel Wood: the terrain itself.. how high can it go anyway? 256m?
[11:12] Tillie Ariantho: So even moving around in a skybox produces physical lag due to ground collision tests? ;)
[11:12] Andrew Linden: atm yes, objects < 800m always do detailed collision checks against the terrain
[11:12] Tillie Ariantho: bah. ^^
[11:12] Rex Cronon: if your skybos is at 2k there should be no ground collisions:)
[11:12] Squirrel Wood: humm. you should be able to reduce that to 400m without problems?
[11:13] Andrew Linden: dunno what the absolute limit of terrain height is
[11:13] Kaluura Boa: Yeah... Even 300m
[11:13] Andrew Linden: 800m probably ;-)
[11:13] Andrew Linden: higher than that and things will not collide because they'll fail the broadphase check
[11:13] Squirrel Wood: with the limits put in place.. +/- 100m from the baked heightmap?
[11:14] Squirrel Wood: basically you could get the highest terrain point from the baked terrain, add 128m and use that as lower limit ?
[11:14] Andrew Linden: right +-100m from the "baked terrain", is another hard limit
[11:15] Andrew Linden: however, if you keep baking the default terrain then you could get up to 800m I think
[11:15] Andrew Linden: What else is in the new code I'm wrangling...
[11:15] Squirrel Wood: aye. that's why it would be dynamic with my suggestion :)
[11:15] Andrew Linden: (2) Falcon added some SIMD math libs
[11:15] Andrew Linden: and used the new SIMD math for a few calculations, mostly as an example for other devs
[11:16] Uni Ninetails: Been meanin to ask Falcon why runways suck for some planes since havok 7
[11:16] Andrew Linden: SIMD = special i686 instruction set for manipulating floating point numbers very fast
[11:16] Uni Ninetails: *some runways
[11:16] Squirrel Wood: any chance on smaller gaps between physical objects? ^^
[11:16] Moon Metty: ohhh ok
[11:17] Andrew Linden: (3) Gulliver Linden did some cleanup around the interestlist and management of object memory in the region
[11:17] Uni Ninetails: /me perks at mention of the interest list
[11:17] Andrew Linden: there was some cruft removed and he got rid of some legacy LL template classes in favor of std:: containers
[11:18] Qie Niangao: interest list... that reminds me: I've been seeing stuff on the opensource-dev list about Snowstorm maybe wanting a Drawing Distance slider, similar to ... a certain TPV. As I recall, there was some concern about what load that imposes on the sim... that each time viewer DD changes (longer or shorter) the sim has to recalc interest list and resend stuff... or something. Or not. So, dunno if there's any concern there or not.
[11:18] Andrew Linden: This was not a real overhaul, but was some cleanup.
[11:18] Andrew Linden: Some unecessary work was removed, but the overal structure of the interestlist was not changed.
[11:19] Andrew Linden: (4) Oh yeah, the fix for SVC-93 and SVC-129 is in this code.
[11:19] 404 Not Found</title>
</head><body>
[11:19] 404 Not Found</title>
</head><body>
[11:19] Uni Ninetails: ouch
[11:19] Moon Metty: jira is still down
[11:19] Andrew Linden: Hrm... probably best not to mention jira issues today.
[11:19] Rex Cronon: take that meeter down. its spamming
[11:19] Moon Metty: lol sorry, the helper doesn't check for this
[11:20] Andrew Linden: That's all in the changes I'm managing.
[11:20] Andrew Linden: However there are some other projects that will get their own testing.
[11:21] Andrew Linden: Since we want to provide server updates more often we'll probably be putting work like this up on aditi fairly often
[11:21] Andrew Linden: we're not doing it yet, but I expect that we'll try to get there
[11:22] Andrew Linden: Once I'm done with this I'll be looking into helping speed up region crossings.
[11:23] Andrew Linden: I'll probably work on changing the linkability rules to make them much faster to check.
[11:23] Tillie Ariantho: There is some Linden Land somewhere with a racing track, 8 sims or something, maybe those should get the server updates quite fast. :)
[11:24] Uni Ninetails: The one that drive me bonkers is hen you cross a region be it in a boat or plane... and your sit position changes to somwhere ~ 256m left, right forward or back. Then things kinda jump around for a while then you get unsit or dumped somwhere
[11:24] Squirrel Wood: those sims tend to have prim creation set to off though
[11:24] Andrew Linden: Uni, that momentary shift was fixed somewhere, I believe.
[11:24] Andrew Linden: Another LL dev was asking me about it a month or so ago. Simon maybe?
[11:25] Uni Ninetails: kay, still happening for me not sure about pilot sims ill try later but its kinda random
[11:25] Andrew Linden: Actually, I believe it was a viewer bug.
[11:25] Imaze Rhiano: there was bug related to sim crossing and sitting positions - not sure is that fixed - but you might mean that bug uni
[11:26] Uni Ninetails: i think it may be that yes
[11:26] Imaze Rhiano: SVC-1797
[11:26] 404 Not Found</title>
</head><body>
[11:26] Uni Ninetails: /me takes note of that number :)
[11:26] Moon Metty: heheh
[11:26] Qie Niangao: there was a 2.1 viewer bug that pushed you reliably a sim beyond where you were crossing into, as I recall.
[11:26] Andrew Linden: Where is the Meeter object?
[11:27] Uni Ninetails: the object in question carries on as if nothing happens tho
[11:27] Moon Metty: there
[11:27] Squirrel Wood: jira may be in need of some jarate to get it fixed? ^^
[11:27] Rex Cronon: to my left i think
[11:28] Moon Metty: the meeter is not the only thing without jira access
[11:28] Uni Ninetails: jiration? *smirks
[11:28] Oddprofessor Snoodle: Hello, everyone. I'm not sure of protocol here.
[11:29] Oddprofessor Snoodle: I would like to ask a development question, if it's appropriate.
[11:29] Andrew Linden: Oddprofessor, the table is open for most topics.
[11:29] Rex Cronon: hi
[11:29] Oddprofessor Snoodle:
[11:29] Rex Cronon: i hope next version of meeter will check for 404 errors:)
[11:29] Andrew Linden: Just ask your question if you see an opening.
[11:29] Moon Metty: you just have to pass a painful rite of passage
[11:29] Oddprofessor Snoodle: Excellent, thank you.
[11:29] Oddprofessor Snoodle: Is now a good time?
[11:29] Oddprofessor Snoodle: And Moon, just point me in the right direction!
[11:29] Oddprofessor Snoodle:
[11:29] Moon Metty: :)
[11:30] Andrew Linden: If the question is ignored it might be becuase it scrolled by too fast ---> just ask again.
[11:30] Oddprofessor Snoodle: OK, then now looks good.
[11:30] Andrew Linden: Yes, now is a good time.
[11:30] Oddprofessor Snoodle: I teach physics and I'm trying to do more in SL
[11:30] office hours is half over
[11:30] Oddprofessor Snoodle: There are a lot of advantages to teaching physics here,
[11:30] Rex Cronon: the first rite of passage is to get workingonit linden to close a jira u write because it was "fixed" :)
[11:30] Techwolf Lupindo: /me lol
[11:31] Oddprofessor Snoodle: but I am stymied by the lack of ability (I'll get right on that Rex) to make an object move along a vector at constant velocity.
[11:31] Oddprofessor Snoodle: I try to get things balanced using forces and impulses, but dawg, that's hard.
[11:31] Oddprofessor Snoodle: And usually not very successful.
[11:31] Squirrel Wood: buoyancy = 1 ?
[11:31] Techwolf Lupindo: llgavity(meter per second)
[11:32] Andrew Linden: Oddprofessor, yeah there is lots of apparent potential of SL as a medium to teach physics, but there are many hurdles
[11:32] Oddprofessor Snoodle: I use buoyancy to cut down on friction.
[11:32] Kaluura Boa: We're been asking for llMoveToTarget() without damping for a long time already...
[11:32] Andrew Linden: Moving an object at a constant velocity is very hard atm.
[11:32] Oddprofessor Snoodle: So I've noticed!
[11:32] Andrew Linden: Many people have wanted to do that to use as "camera stations" when making machinima videos.
[11:32] Moon Metty: ,
[11:32] Oddprofessor Snoodle: I dug up a chat from... 2008? that mentioned this as a possible dev topic.
[11:32] Liisa Runo: can get somewhat stable movement with llMoveToTarget doing enough small steps, but the most stable movement you prolly get with llVehicle
[11:32] Squirrel Wood: near constant velocity is possible but it does require some fancy scripting
[11:33] Moon Metty: Oddproff, you can do your own math and use llMoveToTarget
[11:33] Oddprofessor Snoodle: I'm working on that right now, in fact Moon.
[11:33] Oddprofessor Snoodle: I'm not a very skilled scripter. I'm kind of learning as I go.
[11:33] Andrew Linden: Liisa said it. Unfortunately the most likely method for uniform velocity would be the "vehicle" feature of LSL scripts.
[11:33] Squirrel Wood: my roller coaster that havok 4 broke used to do it
[11:33] Oddprofessor Snoodle: Since I'm not a programmer, it's probably harder than it should be.
[11:34] Moon Metty: :)
[11:34] Andrew Linden: Oddprofessor, what would your uniform velocity object be doing in the physics demo?
[11:34] Oddprofessor Snoodle: Heh, I've been avoiding the vehicle feature; what I've seen looks very complex, and I was hoping to do it more easily.
[11:34] Oddprofessor Snoodle: But, if I can't...
[11:35] Oddprofessor Snoodle: Right now, I want a glider to move alond a track at a given speed.
[11:35] Oddprofessor Snoodle: I would like to have a very brief acceleration at the start, and a brief deceleration at the end.
[11:35] Oddprofessor Snoodle: But that's just the first application I'm working on.
[11:36] Oddprofessor Snoodle: There are LOTS of times in physics you want something to move at a constant speed in a straight line.
[11:36] Andrew Linden: Oddprofessor, you might try talking to Kitto Flora. He makes trains and other vehicles that follow curving tracks and has had to work around getting them to move at steady speeds.
[11:36] Uni Ninetails: what about one of those touring vehicle scripts?
[11:36] Oddprofessor Snoodle: I'm trying to use llMoveToTarget right now.
[11:37] Rex Cronon: u can check at specific intervals the current velocity and increase/decrease force accordingly:)
[11:37] Andrew Linden: Uh oh. llMoveToTarget() doesn't work well -- critical approach.
[11:37] Oddprofessor Snoodle: Rex, that's what I'm doing, but sadly (for this particular project) the time from start to finish is roughly one second.
[11:37] Oddprofessor Snoodle: Or less.
[11:38] Oddprofessor Snoodle: Andrew, I'm beginning to see that. That's one reason I'm here today.
[11:38] Andrew Linden: that fast Oddprofessor? one second?
[11:38] Rex Cronon: even in rl velocity tends to fluctuates:)
[11:38] Oddprofessor Snoodle: Yep.
[11:38] Rex Cronon: fluctuate*
[11:38] Oddprofessor Snoodle: Yeah, it does, but there are ways to smooth that out.
[11:39] Oddprofessor Snoodle: In my RL lab we use air tracks to approximate frictionless motion,
[11:39] Oddprofessor Snoodle: and, over the short distance, it works fairly well.
[11:39] Oddprofessor Snoodle: Low velocity, short distance, you minimize friction and air resistance
[11:39] Liisa Runo: with llMoveToTarget you get somewhat stable speed putting it to a loop, and moving it in small steps, so that it never reach the destination before itis already given new destination, fiddle with the tau too
[11:39] Squirrel Wood: use llSetForce, get the current velocity, a defined speed and use that to calculate a positive or negative impulse based on how close you are to your target speed. include the objects mass and you may have a winner :)
[11:39] Oddprofessor Snoodle: Oh, Liisa, I didn't think of that.
[11:39] Andrew Linden: hrm. Falcon Linden was working on user-settable friction and restitution, even down to zero friction.
[11:40] Squirrel Wood: oh, and you need to do that in a short timer loop
[11:40] Moon Metty: what's the problem with llMoveToTarget Andrew?
[11:40] Oddprofessor Snoodle: OMG. User settable friction is one of the holy grails around here for teaching physics
[11:40] Squirrel Wood: zero friction. massively important as a specific workaround allowed just that back in havok 1
[11:40] Andrew Linden: Oddprofessor, it is hard to do tight timing when using LSL. The script execution may get delayed by other scripts that need runtime.
[11:41] Oddprofessor Snoodle: Adjusting buoyancy works fairly well over short distances.
[11:41] Andrew Linden: llMoveToTarget() uses a "critical damping velocity" model to get to where it is going
[11:41] Oddprofessor Snoodle: Yes, I'm aware of that. But you can only do what you can do.
[11:42] Oddprofessor Snoodle: I've had a lot of success teaching rotational motion in SL
[11:42] Andrew Linden: so it basically moves toward the target position with an exponential speed solution
[11:42] Oddprofessor Snoodle: It seems a lot easier to control rotation than straight line motion.
[11:42] Moon Metty: yes, but in Oddprof's case the target would be updated very often
[11:42] Oddprofessor Snoodle: Andrew are we back to llMoveToTarget?
[11:42] Moon Metty: so the dampning would never finish
[11:43] Andrew Linden: Oddprofessor, does your object need to actually slide on the track? or can it "float" along its path?
[11:43] Moon Metty: it would start over and over again
[11:43] Oddprofessor Snoodle: It floats.
[11:43] Oddprofessor Snoodle: I keep it off the surface to look kind of hydrofoilish.
[11:43] Rex Cronon: there is one other way to get constant velocity:)
[11:43] Andrew Linden: Moon was asking about llMoveToTarget(). You probably don't want to use it.
[11:43] Rex Cronon: u can use an NPV;)
[11:43] Moon Metty: this bubble uses llMoveToTarget
[11:44] Oddprofessor Snoodle: Rex, what is an NPV?
[11:44] Oddprofessor Snoodle: Moon, that's pretty cool.
[11:44] Rex Cronon: npv=non physical vehicle
[11:44] Moon Metty: :D
[11:44] Liisa Runo: Non Physical Vehicle, it dont really have velocity at all, it dont move, it just changes place
[11:44] Andrew Linden: where "non physical" in this context means "not dynamic"
[11:45] Squirrel Wood: llSetLinkPrimitiveParamsFast?
[11:45] Oddprofessor Snoodle: Ah.
[11:45] Squirrel Wood: lowest timer resolution is 0.05 and you can call yourself lucky if you get it to trigger every single time :)
[11:45] Oddprofessor Snoodle: Yes, I've done a lot of playing with timers.
[11:46] Andrew Linden: Oddprofessor, I think what you're trying to do could be done with teh vehicle feature, but the scripting is complex and has a learning curve.
[11:46] Oddprofessor Snoodle: Why do I want to stamp my feet and whine right now?
[11:46] Oddprofessor Snoodle:
[11:46] Moon Metty: :)
[11:47] Liisa Runo: yes, fiddle lil more with llMoveToTarget, if you cant get it to work, Lock yourself in a laboratory and figure out the messy secretes of llVehicle
[11:47] Oddprofessor Snoodle: I've tried timing small movements along a vector, just moving a tiny increment each pass of the timer, but it's too jerky.
[11:47] Oddprofessor Snoodle: And too processor-intensive.
[11:47] Oddprofessor Snoodle: I shall.
[11:47] Moon Metty: yeah, it would be great to have smooth non-physical movement
[11:48] Andrew Linden: Oddprofessor, you say the whole motion of the object is supposed to be done in 1 second?
[11:48] Andrew Linden: Or was that just the acceleration period?
[11:48] Oddprofessor Snoodle: I would like to jump up and down and cry and demand that someone start working on a simple constant motion code, though.
[11:48] Oddprofessor Snoodle: The whole thing.
[11:48] Andrew Linden: How far is the distance?
[11:48] Oddprofessor Snoodle: hm. maybe 5 or 6 meters.
[11:49] Oddprofessor Snoodle: Total.
[11:49] Oddprofessor Snoodle: The measurement only happens over the first 4, though
[11:49] Liisa Runo: maybe: object with no buoyancy rezzed directly to velocity
[11:49] Oddprofessor Snoodle: That's more or less what I'm doing.
[11:50] Oddprofessor Snoodle: You choose an initial velocity and the glider rezzes, ready to go
[11:50] Oddprofessor Snoodle: And the "photogates" that measure the time will be programmed to give the right timing, no matter what the glider is doing.
[11:50] Oddprofessor Snoodle: But I would like it to look at least a little bit real.
[11:51] Oddprofessor Snoodle: I have a landmark for work in progress if anyone's interested
[11:51] Andrew Linden: Tell you what Oddprofessor, I was trained as a physics, I wrote the vehicle code, and I'm intrigued by your project: I'll take a swing at building something that does what you want this evening in my copius spare time.
[11:52] Liisa Runo: llRezObject("nom",llGetPos(),VELOCITY,llGetRot(),42);
[11:52] Oddprofessor Snoodle: I'm incredibly grateful!
[11:52] Oddprofessor Snoodle: Thank you SO much!
[11:52] Andrew Linden: uh oh... I'm late for a meeting
[11:52] Andrew Linden: I've got to run.
[11:52] Oddprofessor Snoodle: Sorry to keep you.
[11:52] Rex Cronon: tc andrew
[11:52] Qie Niangao: thanks Andrew
[11:52] Andrew Linden: Thanks for coming everyone.
[11:52] Oddprofessor Snoodle: Thank you all for your advice and help!
[11:52] Squirrel Wood: have fun meeting other people ^^
[11:53] Uni Ninetails: Tyty Andrew :)
[11:53] Kaluura Boa: Good timing... I'm so hungry!
[11:53] Moon Metty: thanks Andrew :)
[11:54] Moon Metty: say hello to Simon
[11:54] Moon Metty: Oddprof, the bubble uses something like this:
[11:54] Moon Metty: speed += acceleration;
speed *= friction;
[11:54] Uni Ninetails: Well have a good day folks back to it! *waves
[11:55] Rex Cronon: tc uni
[11:55] Rex Cronon: tc everybody. i am going too
[11:55] Qie Niangao: have fun, all
[11:55] office hours is almost over
[11:56] Moon Metty: (it bounces off the sim walls)
[11:56] Oddprofessor Snoodle: Thanks Moon, I'll take that back and look at it.
[11:56] Moon Metty: :)
[11:57] Oddprofessor Snoodle: OK, goodbye all. thanks again for your suggestions!
[11:57] Moon Metty: good luck !
[11:58] Squirrel Wood: ^^
[11:58] Bronson Blackadder: heeeeeeeeeeeyah!!!!
[11:58] Bronson Blackadder: it's ginsu kitteh
[12:00] Moon Metty: hmmm vwr-5588
[12:00] Objects within draw distance not rendered when standing away some meters
[12:00] Moon Metty: jira is up again
[12:00] Kerry Giha: o/
[12:00] Thank you for coming to Linden office hours

Generated with SLog Wikifier