Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
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-07-26 00:54:16 +02:00
Juan Linietsky
ec85fd554b
Fix issues with CPUParticles and related conversion from Particles. Closes #20126
2018-07-23 12:28:50 -03:00
Juan Linietsky
2b9902db06
-Fix disable_3d flag
...
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21 17:26:49 -03:00
Max Hilbrunner
277793439a
Revert "Fix #19507 Not emitted particles affects performance"
2018-07-17 16:52:13 +02:00
Max Hilbrunner
4b626dc114
Merge pull request #19764 from malbach/godot_malbach
...
Fix #19507 Not emitted particles affects performance
2018-07-17 16:47:41 +02:00
Juan Linietsky
d280b14e6e
Hacked around duplication bug. I think duplicate needs to be even smarter, maybe pass two bools? (containers and/or resources)
2018-07-03 08:34:06 -03:00
malbach
cef8d355d2
Fix #19507 Not emitted particles affects performance
2018-06-25 18:17:28 +02:00
Bastiaan Olij
ddc40e5115
Fix typo in y shift
2018-06-23 22:41:29 +10:00
Bastiaan Olij
3fc9b5d93f
Moved culling, updated lights and shadows into a prepare function so it is only called once for stereo rendering
2018-06-11 21:51:30 +10:00
Hein-Pieter van Braam
009b0bab49
Merge pull request #17248 from Cygon/implement-extra-culling-margin
...
Apply culling margin (fixes issue #16115 )
2018-03-15 23:45:59 +01:00
Wilson E. Alvarez
e9ac87390c
Fixed several leaks in VisualServerScene, RasterizerSceneGLES3 and RasterizerGLES3
2018-03-13 00:22:08 -04:00
Markus Ewald
fc166f3ee1
Implement VisualServerScene::instance_set_extra_visibility_margin() method to actually apply extra culling margin and mark instance AABB dirty
2018-03-04 14:20:59 +01:00
Rémi Verschelde
9f479f096c
Fix typos in code and docs with codespell
...
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Juan Linietsky
bfeaf27a3e
Properly dispose of instance capture data, fixes #14795
2018-01-06 19:06:04 -03:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
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-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +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
Przemyslaw Czarnota
c3c1d119ec
Fix #14429 GIProbe does not work with SpotLights
2017-12-09 20:57:28 +01: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
0bc573635c
Fixes to some thread safety situations to avoid GIProbe from freezing on save. Fixes #13338
2017-12-06 18:06:34 -03:00
Juan Linietsky
431dfc1458
Attempt to see if this can solve the problem with #13338
2017-12-06 16:41:19 -03:00
BenH
dd5037ba82
Fixed issue with 3D selections losing precsion due to an offset bug
2017-11-25 20:14:54 +00: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
Marc Gilleron
17b9accd0c
Implement per-instance custom bounding box
...
# Conflicts:
# servers/visual/visual_server_scene.h
2017-11-20 20:54:26 +01:00
Juan Linietsky
98cb49283d
Ability to change indirect light energy.
2017-11-19 21:46:00 -03:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Hiroshi Ogawa
4501a30ce9
Fix GIProbe light visibility
...
- Fix https://github.com/godotengine/godot/issues/10535
2017-10-04 19:13:07 +09:00
Rémi Verschelde
aabbd00284
Merge pull request #10908 from hpvb/fix-unused-variables
...
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Hein-Pieter van Braam
b2a38854fd
Fix unused variable warnings
...
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
67a706fc1b
Fix various assorted warnings
...
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
Juan Linietsky
eedb39091a
Several fixes to directional shadows, closes #10926
...
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
Hein-Pieter van Braam
9c63ab99f0
Fix use of unitialized variables
...
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
dac150108a
Merge pull request #10846 from hpvb/fix-sign-compare
...
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Juan Linietsky
8f30c52a37
Removed ontop property, added a material rendering priority system. Fixes #9935 , closes #10135
2017-09-01 13:01:08 -03:00
Hein-Pieter van Braam
f9467ec1ea
Fix signed and unsigned comparisons
...
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Bojidar Marinov
839083789a
Fix #10723 , a regression from 7a07895
...
Using @akien-mga's patch
2017-08-29 14:32:01 +03:00
Rémi Verschelde
7ad14e7a3e
Dead code tells no tales
2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Wilson E. Alvarez
7a07895920
Added/Fixed null pointer checks
2017-08-26 16:58:47 -04:00
Juan Linietsky
1894157c9f
-Massive clean up to gizmos
...
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
Juan Linietsky
7e5890d23d
-Fix all shadow and culling related issues, fixes #9330
2017-08-19 20:07:21 -03:00
Juan Linietsky
588ffbc08a
Fixed wrong usage of has_no_area function, closes #10434
2017-08-19 14:54:04 -03:00
Juan Linietsky
72be8876ea
Properly manage drawing of primitives when they lack an area, fixes #8930
2017-08-18 15:12:48 -03:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Rémi Verschelde
035d74f54a
Rename cull_AABB to cull_aabb
...
Part of #8830 .
2017-08-16 17:01:05 +02:00
Juan Linietsky
2a6cdfaf91
-Fixed BoneAttachment delay, closes #3966
...
-Fixed skeleton crash, probably fixes other issues
2017-08-07 22:18:12 -03:00
Indah Sylvia
5ae78fdf6a
Makes all Godot API's methods Lower Case
2017-08-07 18:24:35 +07:00
Rémi Verschelde
62464839ad
Merge pull request #8567 from BastiaanOlij/ar_vr_server
...
AR/VR base classes and position tracker support
2017-07-31 13:29:18 +02:00
Juan Linietsky
b276d92c8a
Few small GI Probe fixes
2017-07-29 00:04:29 -03:00
BastiaanOlij
d2ba2d0873
Adding base classes and structures for ARVR support
...
Added ArVrScriptInterface
Added ARVRCamera, ARVRController and ARVROrigin helper objects
2017-07-28 10:39:15 +10:00
Juan Linietsky
3da3a36034
Many fixes to improve GI Probe quality
2017-07-15 23:24:37 -03:00
Juan Linietsky
741145febd
-Fix for multiple reflection probes causing issues.
...
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Juan Linietsky
2e73be99d8
Lots of work on Audio & Physics engine:
...
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Juan Linietsky
0cac32910a
-Restored support for Canvas BG mode on Environment
...
-Improved ease of use of WorldEnvironment (no longer extends Spatial)
-2D editor viewport can now work in HDR!
2017-06-24 08:58:27 -03:00
Juan Linietsky
e11fae0bbf
Particles properly update the shadow maps, closes #8815
2017-06-17 07:32:49 -03:00
Juan Linietsky
462d8ceb46
Fixed several bugs with directional light, and changed defaults to be more sensible.
2017-06-14 17:06:36 -03:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Juan Linietsky
74808ac4d9
New particle system, mostly working, some small features missing.
2017-04-06 23:49:27 -03:00
Rémi Verschelde
debeee56f7
Fix typos in source code using codespell
...
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Rémi Verschelde
5dbf1809c6
A Whole New World (clang-format edition)
...
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
e1c1d7d1d7
Add a bunch of missing Godot headers in own files
2017-03-05 15:47:28 +01:00
Juan Linietsky
903a3aa5f0
a ton of bug fixes to the renderer
2017-02-16 08:55:43 -03:00
Kenneth Lorthioir
6961ed21bb
Fixed compilation issues with Visual Studio
2017-02-08 18:14:52 -05:00
Juan Linietsky
6bfaa0f12c
shadows were not working in-editor for nvidia, fixed now
2017-02-06 20:18:35 -03:00
Juan Linietsky
5cc63dee0f
ability to adjust propagation in gi probe
2017-02-06 05:12:15 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
35b404ba08
Unify naming of blendshape / morphtarget into just "Blend Shape"
2017-01-12 08:34:00 -03:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
b085c40edf
-Conversion of most properties to a simpler syntax, easier to use by script
...
-Modified help to display properties
GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
Juan Linietsky
2820b2d82b
fix stupid bug in light downscaling for GI Probe
2017-01-02 14:09:42 -03:00
Juan Linietsky
a62c99c4e4
Some fixes and clean ups
2016-12-31 10:53:29 -03:00
reduz
f4a56e7782
begin work on new particle system
2016-12-30 08:35:54 -03:00
reduz
0d4abf2aa3
fixed a horrible bug on Windows AMD, scenes saved until now in this branch
...
are no longer valid :(
2016-12-24 16:23:30 -03:00
Juan Linietsky
4e729f38e0
baking now shows a proper button, and bakes can be saved.
2016-12-23 00:37:38 -03:00
Juan Linietsky
f9603d8236
can bake for omni and spotlight
...
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky
37f558cd7b
Some BRDF fixes
2016-12-21 14:22:17 -03:00
Juan Linietsky
075fde7f26
work in progress global illumination
2016-12-20 00:21:07 -03:00
Juan Linietsky
27a46d78ec
Subsurface scattering material param is now working!
2016-12-02 22:23:16 -03:00
Juan Linietsky
a732708b9d
Blend shapes using transform feedback (GPU)
2016-11-24 20:46:55 -03:00
Juan Linietsky
7cf8d75cf8
WIP immediates and proper buffers swapping
2016-11-23 07:04:55 -03:00
Juan Linietsky
943d27f46d
Instancing is working! (hooray)
2016-11-22 01:26:56 -03:00
Juan Linietsky
c39d2b3f42
working reflection probes!!
2016-11-19 13:23:37 -03:00
Juan Linietsky
a7078a4be9
Done with lights and shadows (wonder if i'm missing something..)
2016-11-11 12:27:52 -03:00
Juan Linietsky
cacf9ebb7f
all light types and shadows are working, pending a lot of clean-up
2016-11-09 23:55:06 -03:00
Juan Linietsky
6b2a27bbe5
shadow atlas allocation (work in progress)
2016-10-31 08:47:46 -03:00
Juan Linietsky
d6567010bf
-Many many fixes
...
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky
53d8f2b1ec
PBR more or less working, still working on bringing gizmos back
2016-10-27 11:50:26 -03:00
Juan Linietsky
cb34b70df1
More scene work, can display a skybox
2016-10-21 07:27:13 -03:00
Juan Linietsky
4428115916
Everything returning to normal in 3D, still a long way to go
...
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00