summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
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.
2018-01-03Avoid crashes in skeletonJuan Linietsky
2018-01-02Merge pull request #15083 from tagcup/spatial_rot_fixJuan Linietsky
Restore the behavior of Spatial rotations recently changed in c1153f5.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-29avoid error on setting skeleton from transform changedJuan Linietsky
2017-12-29Missing transform notification for Skeleton.Juan Linietsky
2017-12-29Use a different approach to update skeletons when transform changesJuan Linietsky
2017-12-29Update the skeleton on transformJuan Linietsky
2017-12-28Added more hacks to GLTF2 importer to support crap exporter (MakeHuman in ↵Juan Linietsky
this case), fixes #13393
2017-12-27Restore the behavior of Spatial rotations recently changed in c1153f5.tagcup
That change was borne out of a confusion regarding the meaning of "local" in #14569. Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system. This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself. To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs. This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale. This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
2017-12-27Merge pull request #14971 from mrcdk/particles_emittingNoshyaar
Set particles emitting to false when particles finish emitting with one-shot enabled
2017-12-26Change the rotate function of Spatial to be local, makes more sense. Closes ↵Juan Linietsky
#14569
2017-12-26Merge pull request #14977 from volzhs/fix-crash-groupJuan Linietsky
Fix crash & error at saving scene
2017-12-25Fix error if scene has Camera at saving scenevolzhs
2017-12-24-Removed OpenMP support, replaced by a custom class.Juan Linietsky
-Disabled Opus, implementation is wrong.
2017-12-23Set particles emitting to false when particles finish emitting with one-shot ↵MrCdK
enabled
2017-12-23Merge pull request #14897 from BastiaanOlij/arvr_tweaksRémi Verschelde
Few small tweaks for ARVR
2017-12-22Fixes 3d camera keep aspect.Daniel J. Ramirez
2017-12-21Change skeleton processing to work on global coordinates, should help fix ↵Juan Linietsky
many import problems from Blender, GLTF2, etc.
2017-12-22Reserved controller ids 1 and 2 for left and right hand controllers and ↵Bastiaan Olij
added new center on hmd option
2017-12-21-Make capture dependent on a cell size, not subdivision.Juan Linietsky
-Fixed a bug recently introduced when releasing mouse events and calling popups
2017-12-20Prevent false sharing in lightbaker RNG stateHein-Pieter van Braam
The previous commit corrected the RNG behavior for the lightbaker but also made it significantly slower on high core count systems. Due to the vector of states being physically close together in RAM we force a cache synchronization across all cores whenever we call for the next random number to be generated. This will create a temporary local copy of the RNG state before entering the loop and then saving it back to the global state when done. This will preserve the per-thread RNG state (and random number quality) while significantly improving performance. On my 16 thread box it saves 3 minutes baking the Sponza scene, bringing performance back in line to before the various RNG fixes were introduced, being slightly faster than the first implementation.
2017-12-20Fix lightmapper rngHein-Pieter van Braam
In our previous attempts to fix the lightmapper we may have inadvertently introduced the same issue we were trying to fix. It appears that rand() will on some platforms introduce a mutex making it slower and on others may have a per-thread state that would need to be initialized with srand() on each thread. This slows down the lightbaking further. This sets up a separate rng state for each OpenMP thread by calling rand() only in the single-threaded part of the code. We then keep a vector of states. I believe this solves our problems.
2017-12-20Correct license headers in main.cpp and voxel_light_baker.cppHein-Pieter van Braam
Sorry for the churn
2017-12-20Fix lightbaker clang-format issue and add license headersHein-Pieter van Braam
2017-12-20Lightbaker: include stdlib.h to fix CI buildsHein-Pieter van Braam
2017-12-19Fix randomness in voxel light baker, closes #14841Juan Linietsky
2017-12-19Fix raytrace lightmap bake biasJuan Linietsky
2017-12-19properly plot normal when bakingJuan Linietsky
2017-12-19Fixed bug where all file dialogs requested thumbnails even if hidden.Juan Linietsky
2017-12-18doc: Sync classref with current sourceRémi Verschelde
2017-12-18Added baked light support for gridmaps.Juan Linietsky
2017-12-17Fix Sprite3D alpha_cut member not being initializedStefano Bonicatti
2017-12-17Merge pull request #14775 from hpvb/limit-lightmapper-subdivRémi Verschelde
Limit the lightmapper subdivide to 1024
2017-12-17Limit the lightmapper subdivide to 1024Hein-Pieter van Braam
Due to memory contraints in other places in Godot it is unlikely that anything higher than 1024 will actually work. When/if we improve memory management for vectors we can increase this limit again
2017-12-17Cleanup some #if 0'd codeRémi Verschelde
2017-12-17Merge pull request #14760 from hpvb/add-several-unlikely-macrosRémi Verschelde
Add several unlikely() macros
2017-12-17Merge pull request #14758 from hpvb/optimize-lightbaker-rngRémi Verschelde
Use a more naive RNG for the lightmapper
2017-12-17Add several unlikely() macrosHein-Pieter van Braam
Based off of perf-based prediction misses these seem to be the lowest-hanging fruit for quick (albeit small) improvements. These are based on: * baking a complex lightmap * running platformer 3d * running goltorus
2017-12-17Merge pull request #14761 from fire/gdnative-lightmapperRémi Verschelde
Fix gdnative generation for lightmapper.
2017-12-17Tweak OpenMP parameters for lightbakerHein-Pieter van Braam
On higher threadcount systems this allows for better utilization. On my 16 thread box CPU use goes from 10 - 11 threads to a steady 15 threads on the Sponza scene. Baking time goes from ~10:00 to ~07:30 for me. On lower threadcount systems I expect some improvement also but likely a little less.
2017-12-16Fix gdnative generation for lightmapper.K. S. Ernest (iFire) Lee
2017-12-17Use a more naive RNG for the lightmapperHein-Pieter van Braam
This speeds up the lightmapper by about 10% with no visible impact. A comparison is up here: https://tmm.cx/nextcloud/s/Log1eAXen1dJzBz AMD Ryzen 7 1700 Eight-Core Processor Sponza scene pcg32 256/256/high 00:10:13 256/256/medium 00:02:50 256/256/low 00:01:11 xorshift 256/256/high 00:09:32 256/256/medium 00:02:34 256/256/low 00:01:05
2017-12-16Merge pull request #14330 from matrem/particles_spreadRémi Verschelde
Spread should be in degree (see documentation, and flag_disable_z case)
2017-12-16Merge pull request #14365 from willnationsdev/camera-docsRémi Verschelde
[DOCS] Camera property changes
2017-12-16Merge pull request #14676 from NathanWarden/nav_create_to_addRémi Verschelde
Renamed navmesh_create to navmesh_add since no navmesh is created.
2017-12-15particles spread/flatness fixes, pi factorizationmatrem
2017-12-15Renamed navmesh/poly_create to navmesh/poly_add since no navmesh is created.Nathan Warden
2017-12-15BakedLightmap: Update gizmo when setting extents.Andreas Haas
Fixes #14696.
2017-12-14fix for compiling the new lightmapperMichele Valente
also changed two calls that were ambiguous