10:03:34
selwyn
3b: im considering returning to vr
10:04:28
|3b|
cool, it's on my list of things that would be interesting to do soon, though not sure that implies much for "likely to do soon"
10:05:12
shinmera
I need to decide what to do next because I really don't want to work on implementing GJK
10:05:13
|3b|
ACTION should really find some way to produce income at some point, and that probably doesn't really qualify :/
10:06:02
selwyn
i would like to combine the trial-vr concept with a llm
10:06:57
shinmera
|3b|: Those $2k are still waiting on the collective at least.
10:07:19
selwyn
idea is that one talks to the llm using speech to text
10:07:48
selwyn
and it writes code which is then (with the programmers approval) executed in the repl
10:07:58
|3b|
ACTION should probably get that at some point, need to merge sdf upstream too
10:08:22
shinmera
You should, yes. You've more than earned it :)
10:09:43
shinmera
I've been thinking about refactoring the spatial query structures into their own library and at least adding a grid3 implementation.
10:09:56
shinmera
which I figure ought to be good enough for my use-cases
10:10:24
|3b|
and yeah, looks like things do the same with friction (per-material and combine)
10:10:56
|3b|
unity apparently lets you pick how to combine them per material (avg,min,multiply,max)
10:11:25
selwyn
so you can say 'computer make a chair and put it on the ground to my left' and it will write a lisp snippet to do that
10:11:27
|3b|
bullet looks maybe like multiply with option to override things per pair
10:11:52
shinmera
does bullet have a table of constants I can steal somewhere
10:12:09
|3b|
ACTION didn't see one, but didn't look too closely
10:13:22
selwyn
what would 'complex inertia tensors' be
10:13:47
shinmera
computing an inertia tensor by combining two primitives
10:14:04
shinmera
computing an inertia tensor by sampling complex geometry
10:16:28
shinmera
Doesn't seem like bullet provides any constants at all
10:16:45
shinmera
it just has a btMaterial with a friction and restitution value, but no library for em.
10:17:36
shinmera
selwyn: see inertia-tensors.lis
10:20:43
selwyn
i assume you are following some convention for game engine physics
10:21:09
selwyn
some of this terminology is unexpected
10:21:41
selwyn
just thinking out loud here
10:21:53
selwyn
theres no reason to change that stuff
10:25:45
shinmera
Maybe I'll do a softbody thingy for cloth. That could be fun (and something I'll need).
10:27:26
selwyn
i could add moment of inertia calculations for triangle meshes
10:27:44
selwyn
combining two meshes is not hard at all
10:28:23
shinmera
Even if the possibly intersect?
10:29:39
shinmera
Man my typing recently has been complete ass
10:29:43
selwyn
well, that would be tricky
10:29:51
selwyn
but it seems kind of pathological
10:30:01
selwyn
these things are rigid bodies
10:30:11
shinmera
Not really, I'm afraid.
10:30:31
shinmera
If the easiest way to get a close enough shape to describe what my model is is two partially intersecting cubes, then... well.
10:30:38
selwyn
defining the intersection sensibly would be the difficult part imo
10:31:05
selwyn
if i have a cube of density 3 intersecting a sphere of density 5
10:31:13
selwyn
whats the density of the intersection
10:31:50
selwyn
but then they don't add linearly lol
10:32:18
|3b|
unreal seems to do the same avg/min/*/max combination of per-material values
10:32:38
selwyn
there is a lot to physics engines
10:32:48
shinmera
I suppose for the intersecting case we'd need a whole computational geometry suite to compute mesh union/intersection/etc.
10:33:10
shinmera
3D in general is just a never ending thing :/
10:34:35
shinmera
But yeah, having the simple case covered for now at least would already be better than nothing :)
10:51:22
selwyn
the physics engine seems fine
10:51:31
selwyn
as always, you are better at coding than i am
10:51:55
shinmera
I don't know about that.
10:57:58
shinmera
Well, both of those things, but especially the latter.
10:58:17
shinmera
There's so much stuff that can be done for 3D, I am 100% certain there's things you can offer.
10:59:38
selwyn
i meant i cant offer any critique of this pr
12:28:58
shinmera
gingerale: how do you feel about splitting off bvh2 and quadtree into a 3d-spaces library?
12:30:46
gingerale
So an octree? Sure. Not sure how bvh2 does exactly so I'll have to read on that first but it shouldn't be too tough.
12:31:10
shinmera
I mean just taking the source files and putting them into a library separate from trial
12:31:22
shinmera
and then putting all of the future spacial query structures in that lib
15:09:07
shinmera
Anyone know of a data structure particularly suited for finding groups of objects that are all within a max distance from any other object within that group
15:09:38
shinmera
as in, I want to iterate over disjoint sets of objects wherein every object within each set is less than a max-distance away from every other object within that set.
16:54:19
shinmera
that doesn't have any spatial component, unless I'm misunderstanding.
17:39:34
selwyn
you could build a graph where objects are vertices and they are connected if they are less than max distance away from each other
17:39:51
selwyn
doing union find gets the connected components of that graph
17:40:04
selwyn
though it is not quite what you wanted
17:40:23
selwyn
it might be possible to modify union find in some way to do that?
17:42:57
shinmera
I'm wondering about this because usually you want to do a broad phase search that gives you sets of possible collisions, rather than going over every object and then doing a broad phase against objects in the neighborhood
17:48:22
selwyn
and it's guaranteed that each set has every member being at most n*max distance away from each other
17:49:12
shinmera
how would you quickly add objects to the graph?
17:53:15
selwyn
move the objects themselves?
17:53:35
selwyn
it takes quadratic time to build the graph
17:53:47
selwyn
so maybe it's bad to do it every frame
17:54:14
shinmera
And it's fine to suggest it :v
17:54:43
selwyn
wouldn't an octree do it
17:56:52
shinmera
No, none of those structures really give you an idea about adjacency or clustering, which is what I'm interested in.
18:05:52
gingerale
shinmera: What's the new library with data structures called so I can clone it?
18:06:32
shinmera
I'm trying to come up with a good common interface first.
18:10:12
shinmera
Here's what I have so far https://plaster.tymoon.eu/view/3719#3719
18:10:23
shinmera
|3b|: I think you'd probably have some good insight on this as well ^
18:12:20
shinmera
The point of standardising the region struct is so that all implementations can use that one structure to receive information about the size of the area to query.
18:30:24
shinmera
gingerale: https://github.com/Shirakumo/3d-spaces it's here for now. I just copy pasted the files, will make them work with the interface tomorrow.
19:28:53
shinmera
gingerale: also looks like your emacs config still creates files with CRLF rather than LF by default.
19:29:08
shinmera
Didn't catch that in your initial quadtree PR
19:33:48
gingerale
Weird. I thought I fixed that.
19:35:36
gingerale
I checked. I have "(set-buffer-file-coding-system 'utf-8-unix)" in .emacs file
19:36:00
shinmera
dunno what happened but the file was deffo in crlf
20:55:44
selwyn
i think that union find captures something inherent to the problem
20:56:12
selwyn
one such set of disjoint sets would be to have each set be a singleton
20:56:35
selwyn
but that presumably isn't helpful - you want the smallest number of disjoint sets
20:57:12
selwyn
union find does build up the solution from singletons
20:59:40
shinmera
one of the primary issues I can see is that you need very fast updates to the structure.
20:59:55
shinmera
objects will move a lot and new objects being added cannot be too expensive, or it would lead to lag.
21:00:15
shinmera
trees are nice for that sort of thing
21:01:41
selwyn
adding a new object would just be a union find step right?
21:02:46
shinmera
would it? My brain is no good at this stuff.
21:03:08
selwyn
ill think about it later and see if something can be done
21:03:30
selwyn
ive probably asked this before and forgotten
21:03:43
selwyn
but what is all this 3d stuff for
21:04:07
selwyn
is it for your next title in particular?
21:05:28
selwyn
im going to revisit trial-vr
21:05:42
selwyn
so i might end up using the physics engine
21:06:05
selwyn
the least bad option is to install goddamn windows and do it on there
21:06:12
selwyn
which im not looking forward to
21:07:43
selwyn
speech to text and screen capture is easier on windows
21:10:41
selwyn
do you know if it's still possible to get a free copy of windows with azure?
21:10:53
selwyn
you must have some windows vms for testing kandria
21:11:16
shinmera
There's other ways to get copies and I can just keep cloning the same VM.
Friday, 17th of March 2023, 21:59:29 UTC