[10:54] Ubit.Umarov @hg.osgrid.org:80: welcome back
[10:54] Ubit.Umarov @hg.osgrid.org:80: we all did.. osgrid decided to delete all assets and inventories
[10:54] Joe Magarac: I'm working on infinite draw distance for Second Life. See https://www.animats.com/sharpview/technotes/impostor.html
[10:55] Ubit.Umarov @hg.osgrid.org:80: outch.. is that a good idea?
[10:55] Joe Magarac: Is this something worth supporting for OpenSim?
[10:55] Joe Magarac: It's a trick with impostors.
[10:55] Vincent Sylvester: Where do the impostors come from?
[10:55] Ubit.Umarov @hg.osgrid.org:80: even so... infinity is a big thig
[10:55] Joe Magarac: Right now, the world map.
[10:56] Ubit.Umarov @hg.osgrid.org:80: a kind of fog wold be a better idea :)
[10:56] Joe Magarac: I'm getting help from Eric Mondrian in SL who has built mesh 3D models of all of SL mainland.
[10:56] Joe Magarac: Just terrain, no objects.
[10:56] Ubit.Umarov @hg.osgrid.org:80: ie the opositice.. limit to 512m or so :)
[10:57] Vincent Sylvester: Yeah not sure you'll get such models unless you parse the heightmaps
[10:57] Joe Magarac: I'm looking into using Open Drone Map to turn aerial photos into meshes.
[10:57] Joe Magarac: Mondrian is already parsing height maps in bulk.
[10:58] Vincent Sylvester: Not sure the effort is worth it
[10:58] Joe Magarac: Here's what Mondrian has: https://www.youtube.com/watch?v=OCdQO179uqM
[10:58] Ubit.Umarov @hg.osgrid.org:80: don't think big world games show miles.. they jsut fake very well
[10:58] Vincent Sylvester: mainland is somewhat rare here
[10:59] Joe Magarac: Right. So it may not be worth it for OS.
[10:59] Ubit.Umarov @hg.osgrid.org:80: and those have predefined and cooked regions ( some procedural )
[10:59] Ubit.Umarov @hg.osgrid.org:80: well os is like sl
[10:59] Ubit.Umarov @hg.osgrid.org:80: even have base functions 4km wide
[10:59] Joe Magarac: The idea is that when you're flying, you can see a distant runway.
[10:59] Ubit.Umarov @hg.osgrid.org:80 whispers: functios??? regions!!
[11:00] Motoko.Karu @login.digiworldz.com:8002 entered draw distance (24.94 m).
[11:00] Motoko.Karu @login.digiworldz.com:8002 entered the region (24.94 m).
[11:00] Joe Magarac: When sailing, you can see distant shores.
[11:00] Motoko.Karu @login.digiworldz.com:8002 entered chat range (17.72 m).
[11:00] Vincent Sylvester: If you just want to project the maptiles onto flat squares that would be a start
[11:00] Vincent Sylvester: Parsing heightmaps, could always build a cache somewhere
[11:01] Vincent Sylvester: Could add a cap for sending the raw heightmap data perhaps
[11:01] Ubit.Umarov @hg.osgrid.org:80: ( for now opensim regions are also square )
[11:01] Joe Magarac: What I'm doing is making full objects, with a mesh and texture. Then there is an index file. The index file is used by my viewer to display the impostor objects as off-sim objects.
[11:02] Joe Magarac: I have this in test in Sharpview.
[11:02] Vincent Sylvester: Taking the heightmap to generate a mesh and projecting the maptile over it might not look pretty, but might work
[11:03] Joe Magarac: See the video I linked, which does exactly that.
[11:04] Joe Magarac: I just want a sense of whether this is worth the trouble to implement for varregions. There are a lot more cases.
[11:04] Ubit.Umarov @hg.osgrid.org:80: yeah seen the video.. a very ublyt thing hihihi
[11:04] Vincent Sylvester: The maptiles can be pulled from robust, but the heightmaps might be harder to get
[11:05] Joe Magarac: Someone has already done that. I've done it for single regions myself.
[11:05] Andrew Hellershanks: Hello, everyone.
[11:06] Andrew Hellershanks: Late lunch today due to a long meeting. :P
[11:06] Joe Magarac: OS has two varregion restrictions: 1) square and 2) only one neighbor per side. Are those going to remain? Sharpview does not currently have either of those restrictions.
[11:06] Ubit.Umarov @hg.osgrid.org:80: anyways, opensim is like sp on that, except for var size regions
[11:07] Vincent Sylvester: The second thing isn't a rule, it's just breaking most viewers and teleport routes
[11:07] Vincent Sylvester: People combine difference scale regions against all better judgment all the time
[11:07] Joe Magarac: I've seen that on the OS map but the regions involved are never up.
[11:08] Ubit.Umarov @hg.osgrid.org:80: other viewers blow up if 2 is violated
[11:08] orbert tatham: t it
[11:08] Ubit.Umarov @hg.osgrid.org:80: 1 is in fact everywhere in code, except protocol
[11:08] Joe Magarac: ah.
[11:09] Joe Magarac: I just started from the protocol spec and implemented what seemed possible.
[11:09] Ubit.Umarov @hg.osgrid.org:80: 2 is just because other viewers store regions terrains in a array len 8
[11:10] Ubit.Umarov @hg.osgrid.org:80: you can put 2 regions on aside and all works fine
[11:10] Ubit.Umarov @hg.osgrid.org:80: until you tp out
[11:10] Joe Magarac: In the C++ viewers, regions have north, south, east, and west neighbors. It's not general.
[11:11] Ubit.Umarov @hg.osgrid.org:80 whispers: viewer cleans one, sets null on the array entry for that side, then accesses it do delete teh second... BUMM
[11:11] Ubit.Umarov @hg.osgrid.org:80: or something like that
[11:11] Vincent Sylvester: You might end up in weird places crossing between different size regions as well
[11:11] Joe Magarac: OK. Well, I get a sense of weak interest, and will proceed accordingly.
[11:12] Vincent Sylvester: My concern is getting the terrain data, because if you want to fetch that dynamically that's processing a lot of data
[11:12] Vincent Sylvester: Also not quite sure there is a way to fetch that data from a region without pretending to be teleporting there
[11:13] Ubit.Umarov @hg.osgrid.org:80: or region in view range
[11:13] Joe Magarac: Right. Are there places in OS where neighboring regions use different asset servers?
[11:13] Joe Magarac: With SL, there is only one asset server.
[11:13] Ubit.Umarov @hg.osgrid.org:80: each region tells you that
[11:13] Joe Magarac: Right. I know and support that.
[11:13] Ubit.Umarov @hg.osgrid.org:80: you must use what region tells you on respective cap
[11:14] Ubit.Umarov @hg.osgrid.org:80: ( in teory we can still link a HG region on map )
[11:14] Joe Magarac: This impostor thing requires getting mesh and texture assets from some asset server somewhere.
[11:14] Ubit.Umarov @hg.osgrid.org:80: well i kinda did hide that..
[11:14] Vincent Sylvester: Well then that's not gonna work is it
[11:14] Ubit.Umarov @hg.osgrid.org:80: but on original HG we could have a HG region just next to this one
[11:14] Vincent Sylvester: The texture you could get from robust directly as it can provide the maptiles it holds
[11:15] Ubit.Umarov @hg.osgrid.org:80: ie a region actually on another grid
[11:15] Vincent Sylvester: Mesh you'd have to generate on the fly based on the region heightmap
[11:15] Joe Magarac: There's two parts to this. Impostor generation, which is like map making, and display in the viewer.
[11:15] Joe Magarac: Those are separate problems.
[11:16] Joe Magarac: The problem is, where to store meshes and textures for off-region objects.
[11:16] Vincent Sylvester: In a local file cache
[11:16] Vincent Sylvester: Not on assets, that's silly
[11:17] Ubit.Umarov @hg.osgrid.org:80: another thing is that on same grids regions move around :)
[11:17] Joe Magarac: Maybe. Anyway, I'm delaying the meeting.
[11:17] Vincent Sylvester: I'd start with the maptiles, get those from robust and put them on flat squares then we can see about heightmaps and whether regions can provide that independently of a user being there
[11:18] Ubit.Umarov @hg.osgrid.org:80: anyways.. guess each region should gen its own impostors
[11:18] Andrew Hellershanks: np, Joe. I thought it is all part of the meeting.
[11:18] Ubit.Umarov @hg.osgrid.org:80: and then viewers should ask them
[11:18] Vincent Sylvester: Shouldn't be hard to add something to return a heightmap on request
[11:18] Ubit.Umarov @hg.osgrid.org:80: global thing makes no sense
[11:18] Joe Magarac: OK.
[11:19] Ubit.Umarov @hg.osgrid.org:80: well a 4km heighmap is a big thing
[11:19] Ubit.Umarov @hg.osgrid.org:80: ( so that i really wanted some fog to not send it all :P )
[11:19] Vincent Sylvester: The heightmap data should give you xyz points that you can use for a mesh as points for vertices, then just simplify it somewhat and apply the maptile texture as projection on top
[11:19] Ubit.Umarov @hg.osgrid.org:80: duhh
[11:20] Ubit.Umarov @hg.osgrid.org:80: heighmap is Z points
[11:20] Vincent Sylvester: Viewer using gpu will have ten times more hardware to do that compared to cpu on server end
[11:21] Vincent Sylvester: zw ocean is a couple hundred connected var regions you can probably test there and I'll implement you a cap for sending the heightmap if it comes to that
[11:21] Ubit.Umarov @hg.osgrid.org:80: that is why it is called HEIGHTmap
[11:21] Ubit.Umarov @hg.osgrid.org:80: :p
[11:21] Joe Magarac: The way I'm doing this is that each impostor is an in-world object, with one mesh and textures. It's not limited to being a heightmap.
[11:22] Joe Magarac: But it cannot have edit parameters - it's an object in the default state after an upload. No texture rotations, materials, PBR, etc.
[11:22] Vincent Sylvester: Problem with that is dynamic nature of things. If the heightmap changes then the impostor is going to be wrong and has to be remade
[11:22] Ubit.Umarov @hg.osgrid.org:80: 33,554,432 triangles is not a fun thing to have
[11:22] Joe Magarac: Think of impostor making as being like the world map. it's always running behind. But the terrain doesn't change that fast.
[11:23] Joe Magarac: See the web page I linked for how the impostors are reduced.
[11:24] Joe Magarac: There are impostors at increasing sizes and decreasing resolutoin, like a slippy map.
[11:24] Joe Magarac: 1x1, 4x4, 16x16, 64x64, ...
[11:24] Ubit.Umarov @hg.osgrid.org:80: some call that LODs..
[11:24] Joe Magarac: Faraway stuff is very condensed but you can still see it.
[11:25] Joe Magarac: It's a kind of LOD system, yes.
[11:25] Joe Magarac: but that's how I can get 5,000 SL regions down to under 100 impostor objects.
[11:26] Vincent Sylvester: While it would be easier for you to just ask a region for this data, the problem of caching and times remains either way so you might as well generate the stuff locally based on maptile and heightmap rather than having the region provide meshes
[11:26] Ubit.Umarov @hg.osgrid.org:80 whispers: how did you got their heightmaps?
[11:26] Joe Magarac: How do I get hiight maps? LLCastRay.
[11:26] Ubit.Umarov @hg.osgrid.org:80: duhhh
[11:26] Ubit.Umarov @hg.osgrid.org:80: suicidal
[11:27] Joe Magarac: Eric Mondrian already did it.
[11:27] Ubit.Umarov @hg.osgrid.org:80: well keep that out of opensim
[11:27] Ubit.Umarov @hg.osgrid.org:80: llraycast for that is bad
[11:27] Joe Magarac: He will have a relief map of SL mainland on display.
[11:27] Ubit.Umarov @hg.osgrid.org:80: why that when you can get the heightmaps with viewers??
[11:27] Ubit.Umarov @hg.osgrid.org:80: gezz
[11:28] Joe Magarac: It's not done often. Think of impostor building as a weekly job.
[11:28] Vincent Sylvester: It's still backwards doing it that way
[11:28] Ubit.Umarov @hg.osgrid.org:80: that is insane
[11:28] Vincent Sylvester: Think about it. With OpenSim you have everything you need. Robust can give you maptiles for grid coordinates and regions can supply their entire heightmap already
[11:29] Ubit.Umarov @hg.osgrid.org:80: well keep that use of llraycast to sl only
[11:29] Joe Magarac: The reason to do it that way is that I want to also overfly each region and take about 50-100 pictures, then feed those into Open Drone Map.
[11:29] Joe Magarac: Open Drone Map will generate a Google Earth type 3d model.
[11:29] Ubit.Umarov @hg.osgrid.org:80: lag their regions :P
[11:29] Joe Magarac: Anyway, I'll have more to say after all this is working for SL. It's in test now.
[11:30] orbert tatham: I would guess that llCastRay is quite expensive in CPU terms
[11:30] Vincent Sylvester: That's great for them, but realistically if you want impostors with decent enough detail in OpenSim the best option would be taking maptile and heightmap and doing some math to generate them and store them local to the viewer in a file cache
[11:30] Ubit.Umarov @hg.osgrid.org:80: and when there are ll functions that give terrain height
[11:30] Ubit.Umarov @hg.osgrid.org:80: bahhh
[11:30] Vincent Sylvester: Similarly to object cache
[11:31] Joe Magarac: With Open Drone Map, you can get the sides of buildings and can go under bridges.
[11:31] Joe Magarac: It's really good.
[11:31] Vincent Sylvester: For static terrain and land that might work, but OpenSim rarely has something this static and assuming that is a bad time either way
[11:32] Ubit.Umarov @hg.osgrid.org:80: bahh when some ppl have trouble to just see a simple region, ppl came up with nonsense lag generators like that
[11:32] Ubit.Umarov @hg.osgrid.org:80: whatever
[11:32] Vincent Sylvester: More of a gimmick that part, impostors themselves can work, but not relying on such static data
[11:32] Joe Magarac: Most of the OS regions I visit dont' change that fast.
[11:32] Joe Magarac: Anyway, enough for now.
[11:33] Ubit.Umarov @hg.osgrid.org:80: wel lets us know how things do
[11:33] Joe Magarac: BRB
[11:33] Ubit.Umarov @hg.osgrid.org:80: just not llraycast :p
[11:33] Ubit.Umarov @hg.osgrid.org:80: :p
[11:33] Vincent Sylvester: That just means you can assume longer times for a cache, but assuming how regions behave when users are involved is a bad time
[11:34] Ubit.Umarov @hg.osgrid.org:80: wel abotu last week code changes.. none
[11:34] Ubit.Umarov @hg.osgrid.org:80: i was just looking for my cat last days...
[11:34] Ubit.Umarov @hg.osgrid.org:80: she died sunday
[11:34] Motoko.Karu @login.digiworldz.com:8002: =(
[11:34] Andrew Hellershanks: I did notice as I check for changes by the start of the meeting.
[11:35] Andrew Hellershanks: Sorry to hear that, Ubit.
[11:35] Vincent Sylvester: My condolences
[11:35] Ubit.Umarov @hg.osgrid.org:80: soem may had chat with here at IRC
[11:35] Motoko.Karu @login.digiworldz.com:8002: so sorry to hear... :('
[11:35] Ubit.Umarov @hg.osgrid.org:80: with her..
[11:35] Andrew Hellershanks: How old was your cat?
[11:35] Ubit.Umarov @hg.osgrid.org:80: would be 16 next month
[11:36] Andrew Hellershanks: Not a bad age for a cat.
[11:36] Andrew Hellershanks: Always tough to lose a family member.
[11:37] Andrew Hellershanks: Nice looking animal. My cats have all been gray or black and white.
[11:38] Ubit Umarov: she was a great opensim dev supporter
[11:38] Ubit Umarov: :)
[11:39] Andrew Hellershanks: :)
[11:43] Andrew Hellershanks: With no code changes to talk about today what is our next topic of discussion?
[11:44] Andrew Hellershanks: Quick side question, if anyone knows of any regions that have recreations of manufacturing plants or industrial CNC machines please let me know.
[11:44] Jagga.Meridith @hg.zetaworlds.com:80: sympathies fpr your cat
[11:44] Ubit Umarov: ty
[11:45] Andrew Hellershanks: Ubit, try and ignore those people who hear the news and then respond with the question, "(when) are you going to get another one?". :P
[11:45] Jagga.Meridith @hg.zetaworlds.com:80: I've got some stuff on aviworlds
[11:46] orbert tatham: Well put, Andrew
[11:46] orbert tatham: Those people obviously have no idea how much pain they inflict
[11:47] Andrew Hellershanks: Those people have probably never had a pet.
[11:47] Ubit Umarov: i still have her sister
[11:47] Ubit Umarov: also having some bad time now
[11:47] Andrew Hellershanks: How old is the sister?
[11:47] Ubit Umarov: 16 next month :)
[11:49] orbert tatham: Any more topics? I need to do a few things.....
[11:51] Andrew Hellershanks: np if you have to leave, orbert. We are close to the top of the hour so there won't be much more before we wrap for today.
[11:52] Vincent.Sylvester @hg.zetaworlds.com:8002: At some point have to look at the opensim libs and libomv things and actually document and automate them, but I am not all that motivated to slog through that at the moment
[11:53] Andrew Hellershanks: Automate them in what sense?
[11:53] Vincent.Sylvester @hg.zetaworlds.com:8002: In that I click build and it makes me a binary
[11:53] Ubit Umarov: i have libomv auto build on my repo
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002: What libs need to be build, where the source is and how to build them is not documented, that should change
[11:54] Ubit Umarov: there is a time limit on that at github
[11:54] Ubit Umarov: for free acounts
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002: Unless you host the build server yourself, which you can
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002: I did that last week setting up a windows host to run mainline builds from
[11:55] Ubit Umarov: yeah but im not doing that for now
[11:55] Vincent.Sylvester @hg.zetaworlds.com:8002: Well you need a machine for it that is... well
[11:55] Ubit Umarov: no poin
[11:55] Ubit Umarov: and not big point on building those
[11:55] Ubit Umarov: they end up on main opensim bin
[11:56] Ubit Umarov: and in many cases with a main code change to match
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002: Well not constantly, but in the interest of transparency and for future reference documenting them should be done at some point
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002: Especially in regards to the altered versions
[11:56] Ubit Umarov: and teh libs.. that is a BIG mess
[11:56] Ubit Umarov: very diferent things
[11:56] Ubit Umarov: inc native code
[11:57] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah, but kinda necessary in the long run
[11:57] Vincent.Sylvester @hg.zetaworlds.com:8002: Remember, documentation is good, it's annoying, but good
[11:57] Ubit Umarov: again.. the respective bins will endup on main opensim repo
[11:58] Andrew Hellershanks: Good documentation is even better. :)
[11:58] Ubit Umarov: wel im talking about auto comple
[11:58] Ubit Umarov: compile
[11:59] Andrew Hellershanks: I remember github sort of pushing their CI/CD features when they were rolled out. Didn't now there was any time limit on their use.
[11:59] Joe Magarac: Gotta go, next meeting.
[11:59] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah no not in the sense to build the libs each time, but in case they need another change to adjust to changes in the third-party software like last time with mysql, having the source and build process documented so the necessary binaries can be made is good practice
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: Shipping altered binaries without documentation of their source or how they were created is... not ideal
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: But that's going to be a long process either way I agree
[12:00] Andrew Hellershanks: ok, tc Joe.
[12:00] Lyr.Lobo @cc.opensimulator.org:8002 waves
[12:01] Andrew Hellershanks: Any other last minute items for today?
[12:02] Andrew Hellershanks: I take that as a no since I don't see signs of anyone in the middle of typing a reply.
[12:02] Andrew Hellershanks: That will wrap up the gathering for today. Thank you all for coming. See you again next week.