Keiwan

170 posts

Keiwan banner
Keiwan

Keiwan

@keiwando

I write software. Always working on too many projects at once. I like Corgi-sized and Corgi-shaped dogs.

Katılım Ekim 2011
83 Takip Edilen728 Takipçiler
Keiwan
Keiwan@keiwando·
@pcwalton Also just thanks for all of your insights so far!
English
0
0
0
138
Keiwan
Keiwan@keiwando·
@pcwalton …at once and was wondering whether the overhead of that calculation and data storage scales nicely if you need to perform it in multiple smaller parts vs all at once. (Since it's not a one-time upfront cost like tessellation but has to be done on each frame)
English
1
0
0
154
Keiwan
Keiwan@keiwando·
@pcwalton Hi Patrick! Do you happen to know if there is a robust implementation of the Loop-Blinn tessellation step out in the open anywhere? One that reliably handles self-intersections / partial curve overlaps and both even-odd and nonzero fill rules?
English
1
0
3
286
Keiwan
Keiwan@keiwando·
@pcwalton And did you ever happen to be able to do side-by-side benchmarking of Pathfinder against Slug?
English
1
0
0
121
Keiwan
Keiwan@keiwando·
@pcwalton Does the Pathfinder tiling approach scale well for use cases where you might not be able to render all of the vector shapes at once? E.g. if the shapes were interleaved with other objects that couldn't be composited with the same shader.
English
2
0
0
163
Keiwan
Keiwan@keiwando·
@pcwalton Paper.js uses Bézier clipping as far as I know and I don't think they even try to handle the inevitable precision issues that come with that approach. The clipping will regularly lead to one curve being very small while the other is still long, causing significant FLTp errors.
English
0
0
0
84
Patrick Walton
Patrick Walton@pcwalton·
@keiwando Ah, I see. I think what you're really looking for is an algorithm that eliminates self-intersections from an arbitrary beziergon, because once you have that the tessellation problem is simple. Paper.js has a method to detect those intersections; dunno how reliable it is.
English
2
0
0
158
Keiwan
Keiwan@keiwando·
@pcwalton It's easier to implement for sure but the stencil-based approach unfortunately kills the rendering performance when there are a lot of shapes.
English
1
0
0
61
Patrick Walton
Patrick Walton@pcwalton·
@keiwando I'm not aware of any Loop-Blinn implementation that actually tries to eliminate self-intersections though. It's a lot easier to just use either stencil or blending to implement the fill rule directly.
English
1
0
1
128
Keiwan
Keiwan@keiwando·
@pcwalton If there are multiple identical curves (i.e. with perfect overlap) in the shape, those need special treatment as well, since no amount of splitting will stop their bounding triangles from overlapping.
English
1
0
0
49
Keiwan
Keiwan@keiwando·
@pcwalton The intersection needs to be found in a numerically stable way, free of potential floating-point errors. Same for the determination whether the control point of the Bézier is inside or outside of the vector shape to know whether to invert the implicit curve in the shader.
English
1
0
0
51
Keiwan
Keiwan@keiwando·
@FreyaHolmer GDPR generally requires opt-in consent for everything (you can't even have a checkbox for an optional newsletter pre-checked). Patreon probably also had you sign a data processing agreement with them that defines how you can use a supporter's e-mail address.
English
0
0
2
128
Freya Holmér
Freya Holmér@FreyaHolmer·
do you think it would be okay to add my patreon supporters to the mailing list, as a start? I don't want to piss people off by adding them to a mailing list they didn't technically sign up for, but it should be easy enough to unsub the first email would be an apology lol
English
8
0
14
3K
Freya Holmér
Freya Holmér@FreyaHolmer·
I have to figure out how to survive as a creator online when platforms are as unstable as they are right now the hard part is not finding a stable platform for your content, you can always self-host the hard part is taking your audience with you, and staying discoverable
English
9
15
275
17.6K
Keiwan
Keiwan@keiwando·
@LapisLutea No. I have the videos that I originally saw of similar simulators that inspired me to make mine linked in the description of this video: youtube.com/watch?v=yQTurX… Maybe one of them is the one you're thinking of?
YouTube video
YouTube
English
0
0
0
326
Eloka
Eloka@LapisLutea·
@keiwando i remember playing a game way back in 2006-2008 that had the same building as Evolution - moving creatures made out of joints/muscles. Did you create that too?
English
1
0
0
139
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
How do we downgrade a phone to iOS 13? We have a bug that repros only on iOS 13, and all devices supporting iOS 13 also support 14 and 15, and our devices have been autoupdated.
English
13
2
15
16.2K
Keiwan
Keiwan@keiwando·
@SebAaltonen @tontsa There's currently a bug in the latest Xcode version (14.3) that causes apps to crash at startup on iOS 13. If that's the same issue here, you should try building with the previous Xcode version.
English
1
1
7
3.3K
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
@tontsa We can't ask all the customers to upgrade. This bug causes a crash on iOS 13 at startup. These people could have upgraded already to 14 years ago but didn't. I don't think we can force them to upgrade to 15.
English
1
0
6
1.5K
Keiwan
Keiwan@keiwando·
@SebAaltonen The error also says "unrecognized selector", which means that the "setType" function doesn't exist.
English
0
0
0
183
Keiwan
Keiwan@keiwando·
@SebAaltonen The MTLHeapType enum is only supported in iOS 13 and above, which is probably why it's crashing on the iPhone 6, even though the chip itself supports that feature. The iPhone 6 doesn't have enough RAM for iOS 13 but the iPad Mini 4 (also A8) does, so it shouldn't crash there.
English
1
0
0
266
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
iPhone 6 (A8) with the new renderer. MTL::HeapTypePlacement not supported -> Bumping min spec to iOS 13. Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MTLHeapDescriptorInternal setType:]: unrecognized selector sent to instance 0x28180fc80
Sebastian Aaltonen tweet media
English
1
0
12
6K
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
Question to Apple engineers? Is MTL::HeapTypePlacement supported on iPad Air 2 and iPad Mini. Those are still supported in iPadOS 13. I didn't find a document descibing the device support for Metal heaps.
English
1
0
1
3K