-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement GPU Painting #174
Comments
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. |
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
The text was updated successfully, but these errors were encountered: