Open TokisanGames opened 1 year ago
And also when using a bigger brush size, it becomes too laggy to even move, because of the lack of that.
couldn't this just be done by drawing to a canvasitem then using get_texture and reuploading the texture to gpu? wouldn't be more ideal than using sub texture but its what zylan's implementation does afaik
@Oracuda drawing to a canvas item means drawing to a viewport, which requires a 16-32 bit viewport, and hasn't been available until recently. See # 3 which provides 16-bit viewports. That still might produce artifacts under certain circumstances, and we may still need partial updates on textures.
I think the compute shader is going to be the way to go as we won't be limited by format.
I'd suggest letting the user increase the size manually by typing in a bigger value into the textbox. I've gotten tolerable performance on brushes as big as 500m after increasing the brush size limit.
@ArtyIF allowed in 1ff769d
Painting large areas like a mountain is quite difficult, and smoothing is impossibly slow.
There are some pending issues in Godot that may be needed before it is feasible:
However there are these possibilities right now:
can read and write 32-bit floats, with some encoding, but it's lossless and sufficient to allow GPU painting