Commit graph

497 commits

Author SHA1 Message Date
Juan Linietsky
021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
MrCdK
1f609b7a82 Set particles emitting to false when particles finish emitting with one-shot enabled 2017-12-23 05:23:41 +01:00
Rémi Verschelde
7d9b7f9c47
Merge pull request #14897 from BastiaanOlij/arvr_tweaks
Few small tweaks for ARVR
2017-12-23 00:59:09 +01:00
Daniel J. Ramirez
1696db8f00 Fixes 3d camera keep aspect. 2017-12-22 14:24:38 -06:00
Juan Linietsky
7d0cabe9d3 Change skeleton processing to work on global coordinates, should help fix many import problems from Blender, GLTF2, etc. 2017-12-21 17:36:39 -03:00
Bastiaan Olij
6fd51b6a1b Reserved controller ids 1 and 2 for left and right hand controllers and added new center on hmd option 2017-12-22 01:21:23 +11:00
Juan Linietsky
1fa9aac3e4 -Make capture dependent on a cell size, not subdivision.
-Fixed a bug recently introduced when releasing mouse events and calling popups
2017-12-21 11:05:55 -03:00
Hein-Pieter van Braam
0db5123548 Prevent false sharing in lightbaker RNG state
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-20 14:37:00 +01:00
Hein-Pieter van Braam
ccbb5923ac Fix lightmapper rng
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-20 12:09:09 +01:00
Hein-Pieter van Braam
7a10d3ab78 Correct license headers in main.cpp and voxel_light_baker.cpp
Sorry for the churn
2017-12-20 01:04:30 +01:00
Hein-Pieter van Braam
9fa5a588f0 Fix lightbaker clang-format issue and add license headers 2017-12-20 01:02:03 +01:00
Hein-Pieter van Braam
ff04c07912 Lightbaker: include stdlib.h to fix CI builds 2017-12-20 00:29:27 +01:00
Juan Linietsky
808a3b9c71 Fix randomness in voxel light baker, closes #14841 2017-12-19 19:51:40 -03:00
Juan Linietsky
06dd10b390 Fix raytrace lightmap bake bias 2017-12-19 17:09:05 -03:00
Juan Linietsky
5544b89750 properly plot normal when baking 2017-12-19 15:04:52 -03:00
Juan Linietsky
a714e1a4c7 Fixed bug where all file dialogs requested thumbnails even if hidden. 2017-12-19 12:57:46 -03:00
Rémi Verschelde
abf20709af doc: Sync classref with current source 2017-12-18 08:13:58 +01:00
Juan Linietsky
e96c40f94a Added baked light support for gridmaps. 2017-12-18 00:35:20 -03:00
Stefano Bonicatti
a15721e5c9 Fix Sprite3D alpha_cut member not being initialized 2017-12-17 22:07:43 +01:00
Rémi Verschelde
89a32b4977
Merge pull request #14775 from hpvb/limit-lightmapper-subdiv
Limit the lightmapper subdivide to 1024
2017-12-17 19:59:59 +01:00
Hein-Pieter van Braam
c4c7fa3f5e Limit the lightmapper subdivide to 1024
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-17 18:00:00 +01:00
Rémi Verschelde
8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Rémi Verschelde
ad3393743c
Merge pull request #14760 from hpvb/add-several-unlikely-macros
Add several unlikely() macros
2017-12-17 14:28:15 +01:00
Rémi Verschelde
539fd14cf5
Merge pull request #14758 from hpvb/optimize-lightbaker-rng
Use a more naive RNG for the lightmapper
2017-12-17 14:27:51 +01:00
Hein-Pieter van Braam
9ba134b463 Add several unlikely() macros
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-17 13:10:30 +01:00
Rémi Verschelde
32bc42690c
Merge pull request #14761 from fire/gdnative-lightmapper
Fix gdnative generation for lightmapper.
2017-12-17 11:12:21 +01:00
Hein-Pieter van Braam
a402efeb72 Tweak OpenMP parameters for lightbaker
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-17 03:09:38 +01:00
K. S. Ernest (iFire) Lee
9948da70a0 Fix gdnative generation for lightmapper. 2017-12-16 16:56:54 -08:00
Hein-Pieter van Braam
be4448bd1f Use a more naive RNG for the lightmapper
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-17 00:12:45 +01:00
Rémi Verschelde
1c18943e97
Merge pull request #14330 from matrem/particles_spread
Spread should be in degree (see documentation, and flag_disable_z case)
2017-12-16 14:28:25 +01:00
Rémi Verschelde
0f188461c5
Merge pull request #14365 from willnationsdev/camera-docs
[DOCS] Camera property changes
2017-12-16 14:23:44 +01:00
Rémi Verschelde
dcdf9008ae
Merge pull request #14676 from NathanWarden/nav_create_to_add
Renamed navmesh_create to navmesh_add since no navmesh is created.
2017-12-16 00:36:47 +01:00
matrem
641c6de160 particles spread/flatness fixes, pi factorization 2017-12-15 23:53:53 +01:00
Nathan Warden
38caa4126f Renamed navmesh/poly_create to navmesh/poly_add since no navmesh is created. 2017-12-15 15:09:06 -05:00
Andreas Haas
bca97e33ce
BakedLightmap: Update gizmo when setting extents.
Fixes #14696.
2017-12-15 20:39:45 +01:00
Michele Valente
dea5ba3991 fix for compiling the new lightmapper
also changed two calls that were ambiguous
2017-12-14 15:32:53 +01:00
Juan Linietsky
f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
Will Nations
d9cb00151b [DOCS] Camera property changes 2017-12-11 12:48:41 -06:00
AndreaCatania
050a7ea6cc Fixed bad bindings 2017-12-11 01:42:16 +01:00
AndreaCatania
5dee44bbc1 Implemented physics linear and angular lock 2017-12-10 17:21:14 +01:00
Rémi Verschelde
a845411454 Style: Re-apply clang-format over recent invalid additions 2017-12-10 01:27:02 +01:00
Marc Gilleron
9282270295 Update GIProbe data instead of creating a new one on bake 2017-12-09 18:48:02 +01:00
Rémi Verschelde
25b36f18d3
Merge pull request #12756 from Stratos695/master
Allowing double-axis lock in RigidBody & KinematicBody (Fixes #12500)
2017-12-09 13:01:41 +01:00
Juan Linietsky
6527f2e684 Implement orbit velocity in particles (this is for 2D only, like in 2.1), closes #12764
Fixed tangential velocity (was broken)
2017-12-07 13:18:22 -03:00
Juan Linietsky
dd892a327d Added some clean up in camera/viewport management. Fixes #12279, Fixes #12774 2017-12-07 12:13:20 -03:00
Rémi Verschelde
13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Juan Linietsky
7b7ba58493 -Fix particles with size==0, closes #13931
-Fixed material previews (dont show sphere unless for spatial)
2017-12-06 19:51:13 -03:00
Marco Masselli
4bd4d13570 Ported 'Exclude Parent' from Raycast2D to Raycast 2017-11-30 20:01:19 +01:00
Hugo Locurcio
541df26184
Tweak the default camera node settings
- Increase FOV to 70
- Put the Z-near plane at 0.05 meters
2017-11-25 23:48:30 +01:00
Juan Linietsky
bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Juan Linietsky
81213917d1 change default propagation value 2017-11-22 14:41:45 -03:00
AndreaCatania
d6e413bb9c Removed type_mask and fixed some variable name 2017-11-21 22:56:40 +01:00
Rémi Verschelde
341bf71dc1
Merge pull request #13023 from tom95/particles-align-y-12865
Make particles with DISABLE_Z active respect ALIGN_Y. Fixes #12865
2017-11-20 10:59:34 +01:00
Juan Linietsky
98cb49283d Ability to change indirect light energy. 2017-11-19 21:46:00 -03:00
Tom Beckmann
93be4982d0 Make particles with DISABLE_Z active respect ALIGN_Y. Fixes #12865 2017-11-19 21:32:25 +01:00
Ferenc Arn
d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Ferenc Arn
1980a54dbb Fix energy not affecting emissive texture in GI baker.
Also fix emission_tex being invalid always due to wrong reference type.

Fixes #10534.
2017-11-15 20:01:53 -05:00
Juan Linietsky
7010ee3cb9 -Ability to choose operator for emission, closes #10441
-Ability to use proper operator for GI Probe, closes #10534
-Closes #12938 as it's no longer needed (thanks for the work though)
2017-11-15 12:39:24 -03:00
Poommetee Ketson
045bf23207
Merge pull request #12825 from mrcdk/particles_fix_tangent_random
Fix particles' tangential acceleration randomness
2017-11-11 13:30:00 +07:00
MrCdK
7d517d4a71 Fix particles' tangential acceleration randomness 2017-11-10 23:19:08 +01:00
Eric Rybicki
bd5df84199 Allow double-axis lock in RigidBody and KinematicBody 2017-11-10 22:33:54 +01:00
letheed
482e07af7e Unify degree members and properties 2017-11-10 12:52:07 +01:00
letheed
ab2647a0d0 Remove deprecated rotation methods 2017-11-10 09:09:30 +01:00
Juan Linietsky
192a4d7de5 Reworked how servers preallocate RIDs, should fix #10970 2017-11-09 23:35:34 -03:00
Juan Linietsky
9e6f9742f4 adjust min stop to horizontal velocity 2017-11-09 17:58:32 -03:00
Juan Linietsky
0416ca2fd2 Add slope min stop velocity on 3D physics body, closes #10981 2017-11-09 17:32:50 -03:00
Juan Linietsky
50a9bd4e23
Merge pull request #12713 from AndreaCatania/master
Rewritten kinematic system
2017-11-09 16:08:58 -03:00
AndreaCatania
10f879bf88 Rewritten kinematic system 2017-11-07 15:22:09 +01:00
MillionOstrich
eaa8c461c3 Fix randomisation of initial particle velocity 2017-11-06 16:39:10 +00:00
Bastiaan Olij
167b7b5533 Adding rumble support to ARVR controllers (if implemented on the ARVR interface) 2017-11-01 23:59:14 +11:00
Rémi Verschelde
24b3733f3b
Merge pull request #10770 from RandomShaper/fix-joints
Fix joints collision exceptions, plus a bit more
2017-10-31 23:02:37 +01:00
Juan Linietsky
495bcd7301 Clean up GI Probe baking, proper button and progress bar. 2017-10-30 16:33:37 -03:00
Rémi Verschelde
89cec177a2 Merge pull request #12308 from GiantBlargg/revert-11587-directional_light_init
Revert "In editor, instance DirectionalLight with an initial orientation"
2017-10-26 22:33:27 +02:00
Rémi Verschelde
c529fa6987 Merge pull request #12316 from mrezai/fix-disable-3d
Fix disable_3d=yes compile errors
2017-10-23 23:19:21 +02:00
Jakub Grzesik
8f054d519f missing set/get_collision_mask_bit() for RayCast
in the same fastion how it's implemented in Area or Bodies
2017-10-23 14:31:58 +02:00
mrezai
8f48eeaa88 Fix disable_3d=yes compile errors 2017-10-22 21:24:20 +03:30
Giantblargg
0c5eba826c Revert "In editor, instance DirectionalLight with an initial orientation" 2017-10-22 04:13:46 -06:00
Rémi Verschelde
01a5a8b86c Merge pull request #12291 from RandomShaper/fix-raycast-naming
Rename RayCasts collision_layer to collision_mask
2017-10-21 23:44:46 +02:00
Pedro J. Estébanez
7b12ae39f2 Rename RayCasts collision_layer to collision_mask
The point is that `RayCast`s are checked against objects' `collision_layer`(s), but they themselves are considered no to _belong_ to any layer. Therefore, the correct name for their property is `collision_mask`, rather than `collision_layer`.

Only renaming is needed since the behavior was already the right one, only that it wasn't matching what users would expect from the name and description of the property.

Fixes #7589, where it's also discussed.
2017-10-21 22:17:47 +02:00
Poommetee Ketson
9cadb9e5f3 Bind unbound enums, rearrange some by value 2017-10-22 01:58:02 +07:00
Ferenc Arn
0b89b90b36 Fix PathFollow rotations.
Replaced the lookahead (which is problematic) with exact delta in offset. Also made some other minor fixes and improvements.

Fixes #12258.
2017-10-21 12:51:49 -04:00
Poommetee Ketson
9b634180aa Refactor Fixed to Physics 2017-10-21 21:28:08 +07:00
Rémi Verschelde
7969565de7 Merge pull request #12052 from hi-ogawa/particle-material-conversion-plugin
Create ParticlesMaterialConversionPlugin
2017-10-20 23:54:56 +02:00
Bastiaan Olij
914c4d3066 Always mixing up binary and and boolean and... 2017-10-20 00:28:17 +11:00
Ruslan Mustakov
6106fd88d4 Remove junk output
Remove several prints that were added for engine debugging, but are
of no use to the end user, and only pollute the editor and game logs.
2017-10-13 12:40:19 +07:00
Hiroshi Ogawa
d777681882 Create ParticlesMaterialConversionPlugin and format generated shader code 2017-10-12 21:30:19 +09:00
Bartłomiej T. Listwon
7430bbdac1 Fix LINK/UNLINK console spam with navmeshes
Removed unnecessary debug messages. Fixes #10804
2017-10-06 13:36:15 +02:00
BastiaanOlij
ce74efacbb Made a few tweaks to the interface 2017-10-06 20:35:55 +11:00
Juan Linietsky
ef08228db7 Restored normal bias as default bias in GIProbe 2017-10-04 09:32:16 -03:00
Andreas Haas
5303efb2fa Merge pull request #11659 from AndreaCatania/prephysics
Renamed fixed_process to physics_process
2017-10-02 23:10:36 +02:00
AndreaCatania
4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Lucas Eriksson
4c712b9db5 Added VehicleWheel::get_skidinfo(). 2017-09-30 03:02:16 +02:00
Indah Sylvia
392a94686c Fixed typo: 'texure' to 'texture' 2017-09-29 04:40:01 +07:00
Rémi Verschelde
59c3f61d57 Merge pull request #11587 from Zylann/directional_light_init
In editor, instance DirectionalLight with an initial orientation

[ci skip]
2017-09-26 08:11:57 +02:00
Marc Gilleron
2ac8c2fa91 In editor, instance DirectionalLight with an initial sun-like orientation 2017-09-25 23:17:23 +02:00
Elliott Sales de Andrade
ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
damarindra
b786e7877b Fix: CollisionObject shape owner indexing is inconsistent 2017-09-24 15:55:45 +07:00
Marcelo Fernandez
46af050e93 Rename get_position => get_playback_position and seek_pos => seek on audio classes 2017-09-23 16:55:00 +02:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde
c74bab66aa Merge pull request #11274 from Rubonnek/keep-argument-names-consistent
Renamed function arguments to keep them consistent between declaration and implementation
2017-09-17 12:53:48 +02:00