summaryrefslogtreecommitdiffstats
path: root/scene/resources/surface_tool.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix handling of negative indices in SurfaceToolDelf Neumärker2021-02-181-0/+1
|
* Initialize class variables with default values in scene/ [2/2]Rafał Mikrut2021-02-091-6/+1
|
* Scale error in mesh optimizer so it uses absolute scale.K. S. Ernest (iFire) Lee2021-01-111-0/+2
| | | | | Switch to simplify sloppy for another try. Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Implement automatic LOD (Level of Detail)reduz2020-12-181-1/+2
| | | | | | | -Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
* Reimplement skeletons and blend shapesreduz2020-12-161-2/+2
| | | | Uses compute shaders, which only once, on demand, and all in parallel.
* Rework Mesh handling on scene importing.reduz2020-12-131-176/+179
| | | | | | -Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer. -Integrated MeshOptimizer -Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
* Static analyzer fixes:bruvzg2020-12-091-1/+1
| | | | | | Removes unused code in OS. Fixes return types. Fixes few typos.
* Refactored Mesh internals and formats.reduz2020-12-021-125/+308
| | | | | | | | | | | | | | | -Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES. -Removed compression, it now always uses the most efficient format. -Added support for custom arrays (up to 8 custom formats) -Added support for 8 weights in skeleton data. -Added a simple optional versioning system for imported assets, to reimport if binary is newer -Fixes #43979 (I needed to test) WARNING: -NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change. -NOT backwards compatible with 3.x scenes, this will be eventually re-added. -Skeletons not working any longer, will fix in next PR.
* Refactor MethodBind to use variadic templatesreduz2020-10-181-2/+0
| | | | Removed make_binders and the old style generated binders.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-31/+60
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-68/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Revert "Renamed plane's d to distance"Rémi Verschelde2020-05-101-3/+3
| | | | | | | This reverts commit ec7b481170dcd6a7b4cf0e6c1221e204ff7945f3. This was wrong, `d` is not a distance but the `d` constant in the parametric equation `ax + by + cz = d` describing the plane.
* Renamed plane's d to distanceMarcus Elg2020-05-101-3/+3
|
* Replace NULL with nullptrlupoDharkael2020-04-021-3/+3
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-54/+54
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Fix compilation warnings and re-enable werror=yes on TravisRémi Verschelde2020-02-181-46/+2
| | | | | | | | | | | | | | | | | | | | | Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings raised by GCC 8 and 9. Fix -Wunused-function, -Wunused-private-field and -Wtautological-constant-out-of-range-compare raised by Clang. Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison operation). GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising errors and will thus not abort compilation with `werror=yes`. Treat glslang headers are system headers to avoid raising warnings. Re-enables us to build with `werror=yes` on Linux and macOS, thus catching warnings that would be introduced by new code. Fixes #36132.
* PoolVector is gone, replaced by VectorJuan Linietsky2020-02-181-72/+64
| | | | | Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
* Base 3D engine done, still untested, though.Juan Linietsky2020-02-111-1/+1
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | 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.
* Use reference to constant in functionsqarmin2019-07-101-1/+1
|
* Added release function to PoolVector::Access.Ibrahn Sahir2019-07-061-7/+7
| | | | | | For clarity, assign-to-release idiom for PoolVector::Read/Write replaced with a function call. Existing uses replaced (or removed if already handled by scope)
* Merge pull request #26355 from fire/expose_surface_toolRémi Verschelde2019-05-281-0/+22
|\ | | | | Expose more surface tools and add create_from_blend_shape.
| * Expose more surface tools and add create_from_blend_shape.K. S. Ernest (iFire) Lee2019-04-301-0/+22
| |
* | Fix typos with codespellRémi Verschelde2019-05-191-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Clean up ASSIMP import code.Juan Linietsky2019-04-131-3/+47
|
* Style: Apply new changes from clang-format 8.0Rémi Verschelde2019-04-091-1/+2
| | | | | | It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
* Fix typos with codespellRémi Verschelde2019-02-131-5/+5
| | | | | | | | | | | | | | | | | | | | Using codespell 1.14.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang doubleclick lod nd numer que te unselect EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Removed dangerous and useless function, closes #22884Juan Linietsky2019-01-241-2/+0
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Reverse bitangent on everythings to ensure default normal map behavriour is ↵Bastiaan Olij2018-12-081-1/+1
| | | | consistent
* Generate the tangents without de-indexing and re-indexing the vertices.Guillaume Laforte2018-11-261-34/+70
| | | | | The support for shape keys / blend shapes depends on a consistent order for the vertices. Fixes https://github.com/godotengine/godot/issues/19195.
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-1/+2
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Make some debug prints verbose-only, remove othersRémi Verschelde2018-08-241-7/+3
|
* Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam2018-07-261-18/+18
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Implemented Soft bodyAndreaCatania2018-07-231-0/+1
| | | | | | | - Soft Body Physics node - Soft Body Rendering - Soft body Editor - Soft body importer
* Added flip switch to generate_normalsChaosus2018-02-191-3/+7
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | 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.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* doc: Sync classref with current sourceRémi Verschelde2017-12-101-1/+1
|
* -Ability to and unwrap lightmap coordinates on importJuan Linietsky2017-12-091-3/+111
| | | | | | | | -Added unwrap functionality to Mesh -Ability to display and debug mesh UVs -Added multiline draw, so it's easier and faster to draw UVs -Many fixes to SurfaceTool -Fixes to Thekla Unwrap, but it's a piece of ass and it keeps crashing. Will have to go away
* -Fixes to how collada generates tangents (use SurfaceTool), closes #9562Juan Linietsky2017-08-291-2/+13
| | | | -Fix to gridmap cell size (wrong property type)
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Synchronize parameter names in definition and declarationTwistedTwigleg2017-08-161-10/+10
| | | | Fixes #10244.
* Removes type information from method bindsIgnacio Etcheverry2017-08-101-4/+4
|
* -Added GLTF scene support (still missing animations and .glb extension)Juan Linietsky2017-08-021-25/+50
| | | | -Fixed bugs regarding tangent generation in SurfaceTool
* Bind some useful methods in SurfaceTool to GDScriptAndrii Doroshenko (Xrayez)2017-07-311-4/+15
| | | | | | | | | | | | | | | These include: * generate_tangents() * add_to_format() * create_from() * append_from() Reordered and grouped the bindings to match the header for improved readability. Removed commented out `generate_flat_normals()` method which wasn't present in the header. Fixes #9946
* -Reorganized all properties of project settings (Sorry, Again).Juan Linietsky2017-07-171-0/+1
| | | | | (Lot's of bloat accumulated, so it was time for clean up.) -Made EditorSettings and ProjectSettings search more useful (search in sections too)
* BuildSystem: generated files have .gen.extensionPoommetee Ketson2017-06-251-1/+1
|