godot/scene/main
Sabs, like Sobs 3475156ae3 Expose pixel snapping settings add pixel-art notes
This small in-engine documentation change aims to make it easier to
discover ways to handle pixel art aesthetics.

- I have moved 2D pixel snapping settings out of "Advanced." This now matches other pixel-art-friendly settings for
GUI Snapping and Default Texture filtering.
- I've added notes to the project settings and Sprite/AnimatedSprite sources to hint users towards better understanding of why pixelated sprites may not work correctly and what to do about it. This should help users make informed decisions for their needs.

Context: Proper handling of pixel art in Godot is routinely frustrating for new users: I, like others, assumed that Godot would act on pixels, not subpixels, when I was working a pixel art game. I was confused when my interpolations would appear blurry, and when pixel textures would be distorted for no apparent reason (this was because of centering).
I had naively thought that setting Linear interpolation would be the single "it's a pixel art game" toggle, but that only hid the underlying issues until later. I had no idea there was a snap-to-pixel option because it was hidden in the Advanced options, since my default assumption was that a pixel art game would want no subpixels at all.

Some references for the frustration:

- https://github.com/godotengine/godot/issues/82696
- https://www.reddit.com/r/godot/comments/fah25e/best_way_to_achieve_pixel_perfect_rendering/
- https://shaggydev.com/2021/09/21/project-setup-for-pixel-art/
2024-02-17 23:40:53 +00:00
..
canvas_item.cpp Remove unecessary _set_global_invalid added by mistake 2024-01-18 10:48:23 +01:00
canvas_item.h Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
canvas_layer.cpp Replace radians range hint with radians_as_degrees 2023-09-25 08:50:19 +02:00
canvas_layer.h Remove NOTIFICATION_MOVED_IN_PARENT 2023-04-06 13:57:13 +02:00
http_request.cpp Improve error reporting in the asset library and in related types 2024-01-26 20:33:22 +01:00
http_request.h [NET] Refactor TLS configuration. 2023-01-28 11:08:02 +01:00
instance_placeholder.cpp Copy network authority when instancing placeholder nodes. 2023-10-05 12:58:17 +01:00
instance_placeholder.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
missing_node.cpp Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
missing_node.h Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
multiplayer_api.cpp [MP] Fix orphan StringName on close. 2023-02-27 09:45:16 +01:00
multiplayer_api.h Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
multiplayer_peer.cpp Add missing documentation for MultiplayerPeerExtension 2023-03-20 08:08:59 -07:00
multiplayer_peer.h Extract ScriptInstance to simplify includes 2023-09-06 22:54:38 +02:00
node.cpp Revert "Allow configuration warnings to refer to a property" 2024-02-17 19:04:18 +01:00
node.h Revert "Allow configuration warnings to refer to a property" 2024-02-17 19:04:18 +01:00
resource_preloader.cpp Remove unnecessary assignments 2023-12-13 11:06:26 -05:00
resource_preloader.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
scene_tree.cpp Expose pixel snapping settings add pixel-art notes 2024-02-17 23:40:53 +00:00
scene_tree.h Merge pull request #78206 from alula/node-count-in-group 2023-12-14 17:38:00 +01:00
SCsub SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
shader_globals_override.cpp Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
shader_globals_override.h Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
status_indicator.cpp Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
status_indicator.h Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
timer.cpp Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
timer.h Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
viewport.cpp Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
viewport.h Revert "Update Node::get_configuration_warnings signature" 2024-02-17 19:03:21 +01:00
window.cpp Make auto translation inheritable 2024-02-15 16:51:19 -03:00
window.h Make auto translation inheritable 2024-02-15 16:51:19 -03:00