summaryrefslogtreecommitdiff
path: root/modules/csg/csg.cpp
AgeCommit message (Collapse)Author
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-16Add missing copyright headersGuilherme Felipe
2018-05-03updated OAHashMap to use robinhood hashingkarroffel
2018-04-28-Changed how operators work, any shape can operate on any otherJuan Linietsky
-Added some break condition for bad poly data to avoid editor freezes
2018-04-28Avoid CSG freeze condition on degeneratesJuan Linietsky
2018-04-28Reduce false positives in interior detection by adding a small offset to ↵Juan Linietsky
raycast, fixes #18476
2018-04-27CSG Support for Godot!Juan Linietsky
-Missing Icons -Missing freezing option (for baking light and faster load) -Missing a way to export from Godot (GLTF2?) -Probably buggy (may freeze editor, can be worked around easily, but let me know if this happens so it's easier to catch bugs) Happy testing!