Log in to follow projects

Following a project allows you to receive updates via email. It also lets the owner know that you like them.

×

Femto Paint

By Oliver Smith

A paint app for my iPad where I can micromanage the UX

35% complete
1 follower 2161 views
About Log (6) Discussion (0)
See more posts

iPad glitches hopefully fixed (crashes remain), basic gallery and Save-to-PNG


I finally figured out my iPad glitch problems - turns out I was using 16-bit precision in a shader to do my vertex transformation, and my vertex coords for drawing brush strokes are just pixel coords into the artwork. When they got big, like x >= 2000, it was losing some precision, I guess in the matrix transformation. I switched it to use 32-bit floats and now it looks pretty consistent (fingers crossed), as you can see from my lovely screenshot.

Still having some crashes though, so I turned on the 40-minute debug cloud builds (sad face) to try and figure that out. I also made a quick gallery scene so you can set your screen size, and did a save-to-photos button that pulls the data off the GPU and saves to a PNG.

Beyond that I've been trying to work more with UniRx, which is a reactive programming library for Unity that I've been meaning to learn for a while. It brings some of the concepts I like from React (the Javascript framework), which for me makes UI programming so much nicer. There's a learning curve though, and it doesn't have all the really good stuff from React/MobX like computed properties and the simple render() concept, but I guess it's probably tough to do that in a game engine where performance is such an issue.

UniRx lets you have reactive properties, so essentially a variable that sends events whenever you change it. So you can hook up your UI to your variables and vice versa, and then you don't have to worry about keeping UI in sync with your model. It can do a lot of other things too like throttling/debouncing; I'm still trying to wrap my head around the extent of it. Even if all I get out of it is the reactive properties though, I think it still would be really valuable to me.