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
Rémi Verschelde
e38051970c
Merge pull request #20448 from volzhs/duplicated-code
...
Remove duplicated codes
2018-07-25 22:20:47 +02:00
Rémi Verschelde
237148e80f
Merge pull request #18368 from Gamblify/RasterizerEngineSync
...
sync rasterizers with engine
2018-07-25 20:33:37 +02:00
volzhs
946be8be50
Remove duplicated codes
2018-07-25 23:34:25 +09:00
Marcin Zawiejski
2d05ae39a2
fix disappearing lines in visual script editor
2018-07-23 09:07:32 +02:00
Rémi Verschelde
c579c48461
Merge pull request #20353 from dragmz/gles2_redundant
...
Remove redundant uniform set call
2018-07-22 16:20:23 +02:00
dragmz
00180ef264
remove redundant uniform set call
2018-07-22 15:42:43 +02:00
dragmz
d2e909847d
initialize texture shrink to false by default
2018-07-22 15:09:00 +02:00
Rémi Verschelde
00dfc9c8eb
Shader lang: Properly assign INSTANCE_ID to gl_InstanceID
...
Note that gl_InstanceID is not supported in OpenGL ES 2.0,
so in the gles2 backend we assign it to 0.
Also clean up some duplicates/commented out code.
Fixes #20088 .
2018-07-22 14:26:46 +02:00
Rémi Verschelde
7c9f7452f4
Style: Format code with clang-format 6.0.1
2018-07-18 16:27:03 +02: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
de910f8c26
Finally figured out how to implement AnimatedTexture properly.
2018-07-16 11:43:49 -03:00
Max Hilbrunner
40f38216cf
Merge pull request #19707 from toger5/fix_clipping_vflip
...
fix clipping with v_flip fixes : #18600
2018-07-12 05:05:56 +02:00
Juan Linietsky
7dcaabaf19
Support for CPU based particles, which aids compatibility with OpenGL ES 2.0
2018-07-06 20:21:42 -03:00
Rémi Verschelde
8ce6444f59
Fix server build after 7fc23675
2018-07-03 13:53:00 +02:00
Juan Linietsky
7fc2367508
Added ability for SSAO to affect AO textures too
2018-07-02 16:50:52 -03:00
malbach
cef8d355d2
Fix #19507 Not emitted particles affects performance
2018-06-25 18:17:28 +02:00
toger5
b4b7ca89f5
fix clipping with v_flip fixes : #2929
2018-06-16 22:55:21 +02:00
nemerle
7d9a55bdc5
A typo in ShaderCompilerGLES2 constructor code '==' used instead of '='
2018-06-13 15:49:13 +02:00
Gustav Lund
35eb7f2d6a
Rasterizers are now in sync with engine
...
The rasterisers (both GLES3 and GLES2) were calculating their own frame delta time
This fix lets the rasterizers get the frame delta through the draw call
That way any regulations to the frame step from the main script will not cause particle systems to process at a different step than the rest of the Engine.
Remove unused rasterizer storage variable
frame.prev_tick variable were not used anywhere and has been removed
2018-06-05 16:33:02 +02:00
Rémi Verschelde
43b7ebf0a0
Style: Apply clang-format (5.0) to some missed files
2018-05-31 09:00:37 +02:00
bruvzg
6f0a83b681
Fix UWP build after #14622 .
2018-05-18 19:29:24 +03:00
Hein-Pieter van Braam
e668757aa9
Merge pull request #14622 from bruvzg/non-rectangular-windows
...
Experimental support for windows with per-pixel transparency.
2018-05-08 16:44:35 +02:00
Juan Linietsky
b96cd25305
Merge pull request #18495 from Zylann/partial_texture_update
...
Added partial texture update to VisualServer
2018-05-07 13:20:38 -03:00
Juan Linietsky
b3e4bc562c
Skeleton for 2D WIP
2018-05-03 17:29:56 -03:00
Marc Gilleron
c755cced83
Added partial texture update to VisualServer
2018-04-29 03:09:49 +02:00
Juan Linietsky
8a5fb669ae
Merge pull request #17421 from Chaosus/fixshaderbugs
...
Fix few bugs in shader definitions
2018-04-08 09:33:12 -03:00
bruvzg
ddae098dee
Experimental support for windows with per-pixel transparency (macOS, X11 and Windows).
2018-04-07 17:11:45 +03:00
Poommetee Ketson
ff070de986
s/2017/2018/g for gles2, websocket, linux appdata
2018-03-21 16:07:51 +07:00
Chaosus
2d428a350e
Fix few bugs in shader definitions
2018-03-10 21:00:18 +03:00
bruvzg
e256f9d4e5
Add GL_ARB_framebuffer_object extension support check and GL_EXT_framebuffer_object fallback for GLES2 (updated GLAD bindings).
...
Add GL_ARB_debug_output extension support check on all platforms.
2018-03-05 20:49:47 +02:00
Rémi Verschelde
3bab5477ff
Merge pull request #17173 from karroffel/gles2-line-rendering-fix
...
fix GLES2 line rendering
2018-03-02 13:37:44 +01:00
karroffel
8b82f4ad2e
fix GLES2 line rendering
...
fixes #17147
2018-03-02 12:35:34 +01:00
bruvzg
a5a4f3714b
GLES2 renderer support on macOS.
2018-03-02 13:15:12 +02:00
karroffel
eac4c984df
add GLES 2 renderer for 2D
...
This commit adds a new rendering backend, GLES2, and adds a
project setting to enable it.
Currently this backend can only be used on the X11 platform,
but integrating into other platforms is planned.
2018-03-01 15:12:30 +01: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
738d2ab969
Removed unnecessary assignments
2017-08-21 15:15:55 -04:00
Marcelo Fernandez
eab850524e
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-17 19:51:13 -03:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Poommetee Ketson
c7c65ca6ba
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-22 18:14:08 +07:00
Juan Linietsky
25678b1876
-Renamed GlobalConfig to ProjectSettings, makes more sense.
...
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky
bbada82f80
-Reorganized all properties of project settings (Sorry, Again).
...
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
12a8fedfe6
Some changes to dual paraboloid envmap generation, fixes somme bleeding
2017-07-05 19:39:45 -03:00
Juan Linietsky
5c6cac4e53
Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far.
2017-06-17 23:27:42 -03:00
Juan Linietsky
98a3296702
Removal of Image from Variant, converted to a Resource.
2017-05-17 07:37:45 -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