summaryrefslogtreecommitdiff
path: root/servers/visual/visual_server_canvas.cpp
AgeCommit message (Collapse)Author
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-11Visual GPU profiler and related profiling support in Vulkan.Juan Linietsky
2020-02-11Modified light rendering to make it more compatible.Juan Linietsky
Modified polygon management to make it more compatible with MoltenVK
2020-02-11Normalmapping and Specularmapping working in 2D engineJuan Linietsky
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
2020-02-11Changed allocation strategy of CanvasItem draw commands.Juan Linietsky
They should now allocate memory in blocks and reuse the same memory every time the item is cleared and redrawn. This should improve performance considerably.
2020-02-11Bugfixes and ability to better specify filter and repeat modes everywhere.Juan Linietsky
Removes antialiased flag for draw_* methods.
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
2020-02-11A lot of progress with canvas rendering, still far from working.Juan Linietsky
2020-02-11Refactored RID/RID_Owner to always use O(1) allocation.Juan Linietsky
* Implements a growing chunked allocator * Removed redudant methods get and getptr, only getornull is supported now.
2020-02-07Fix bug where Control at origin with 0 size not renderednathanwfranke
Make a new method instead to make the code more elegant Move Function down a bit
2020-01-03Merge pull request #34726 from nekomatata/polygon2d-antialiasing-fixRémi Verschelde
Fixed antialiasing option for Polygon2D with concave/hollow shapes
2020-01-01Fixed antialiasing option for Polygon2DPouleyKetchoupp
Some cases were not handled properly for Polygon2D after making changes in common code to fix Line2D antialiasing. Added an option for drawing polygons to differentiate the two use cases. Fixes #34568
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-03Merge pull request #33857 from nekomatata/polygon-2d-antialiasingRémi Verschelde
Fixed antialiased option for Polygon2D
2019-11-28Fixed antialiased option for Polygon2D / Line2DPouleyKetchoupp
Polygon2D: The property wasn't used anymore after switching from canvas_item_add_polygon() to canvas_item_add_triangle_array() for drawing. Line2D: Added the same property as for Polygon2D & fixed smooth line drawing to use indices correctly. Fixes #26823
2019-11-27Fix crash when disabling a YSort nodeBojidar Marinov
Fixes #33932
2019-10-05Correctly flip texture src regionDavid Sichma
2019-08-09Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "main" and "servers" directoriesMichael Alexsander Silva Dias
2019-07-04Ensure that nested YSort preserves intermediate modulate valuesBojidar Marinov
Fixes #28501
2019-06-26Some code changed with Clang-Tidyqarmin
2019-04-22Don't try to statically allocate 2x 8193 pointersHein-Pieter van Braam-Stewart
Maximum stack size is only 8KiB, this will try to allocate 8193 * sizeof(void*) * 2 = 131088 bytes on the stack. This causes a crash in some cases.
2019-04-19Merge pull request #28200 from bojidar-bg/28115-ysort-breaks-shaderRémi Verschelde
Fix nested YSort breaking "Use parent material"
2019-04-19Added ability for multiple images to be imported as an atlasJuan Linietsky
This adds support for groups in the import system, which point to a single file. Add property hint for saving files in file field
2019-04-19Fix nested YSort breaking use_parent_materialBojidar Marinov
Fixes #28115
2019-04-09Do not YSort canvas items that are not visibleBojidar Marinov
Fixes an issue with nested YSorts not regarding visibility
2019-04-06Merge pull request #25624 from nekomatata/texture-rect-flipRémi Verschelde
Add ability to flip TextureRect horizontally or vertically
2019-04-05Ability to make CanvasLayers have pseudo 3D depth.Juan Linietsky
2019-04-03Add ability to flip TextureRect horizontally or verticallyPouleyKetchoupp
2019-03-03Fix style issues from recent commitsRémi Verschelde
2019-03-02Clean up and fix some situations where triangulation may fail, closes #26366Juan Linietsky
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-02-12Drivers, main, servers: Ensure classes match their header filenameRémi Verschelde
Renamed: - `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h` (same for `coremidi` and `winmidi`) - `main/timer_sync.h` -> `main_timer_sync.h` - `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-01-21Cleanup after @reduz :)Rémi Verschelde
Fixes #25172.
2019-01-17Fixes to 2D lights, closes #24750Juan Linietsky
2019-01-09Fix a nested ysort invalid memory read againBojidar Marinov
Fixes #24755
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-04Fix error when adding children to YSortBojidar Marinov
If it weren't for this warning, it would have crashed in release builds. Fix #23889, fixup 6b8d6e3b07c83da1c365f9ad79e84e5147ec26f7
2018-11-21Fix YSort crash when removing a childBojidar Marinov
Fixup of 8e4837f35778e917370e802c167ce1fbd07b068c Fixes #23775
2018-11-12Merge pull request #23407 from bojidar-bg/3281-ysort-recursiveRémi Verschelde
Y-Sort children together in nested YSorts
2018-11-04Remove animation loop from ParticlesMaterial + improvements to CPUParticles2DJFonS
Remove animation loop from ParticlesMaterial and move it to SpatialMaterial for 3D particles and Particles2D for the 2D case. Added animation to CPUParticles2D as well as the "Convert to CPUParticles2D" to the PAarticles2D menu.
2018-10-30Y-Sort children together in nested YSortsBojidar Marinov
Closes #3281
2018-10-19Fixing warnings generated by MSVCDualtagh Murray
Fixes #22684.
2018-08-29Ported CPU particles to 2DJuan Linietsky
2018-07-29Remove pointless check for no texture, fixes #7298Juan Linietsky
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-05-03Skeleton for 2D WIPJuan Linietsky
2018-03-19Fix crash in `canvas_item_add_polyline` when passing more points than colorsrobfram
When `p_points.size() > p_colors.size()`, it crashed with invalid array access to `p_colors`. Also, when `p_colors` was an empty `Vector` it crashed due a missing `else` checking the `size` condition, as the code handling that special case exists. This PR fixes the missing `else` for `p_colors.size == 0` and, following the `canvas_item_add_multiline` spirit, it only uses the first color for the whole polyline if points and colors differ in size. Fix #17621.
2018-02-212D Skeletons WORK IN PROGRESSJuan Linietsky
2018-02-21Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion.Juan Linietsky
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.