Commit graph

617 commits

Author SHA1 Message Date
Juan Linietsky
f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00
Overblob
7a74d310aa Fixed error due to bad cursor handling when parsing shader code
Fixed completion error log thrown on "no auto-completion found" for typings with no completion.
2018-07-14 19:59:11 +02:00
Josh Taylor
892a4b175a
Changed minimum visible viewport size
When the viewport's size.y becomes lower than 2, the storage->frame.current_rt->effects.mip_maps[0].sizes Vector during rendering becomes empty, resulting in crashes in at least GLES3. This is a temporary fix to stop rendering a viewport when its size is below 2 rather than below 1.
2018-07-07 17:10:32 -05: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
92bfde531c
Merge pull request #19786 from JFonS/correct_normal_scaling
Add render mode to ensure correct normals when using non-uniform scaling
2018-07-04 15:09:59 +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
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
Bastiaan Olij
ddc40e5115 Fix typo in y shift 2018-06-23 22:41:29 +10:00
JFonS
c8cf71753c Add render mode to ensure correct normals when using non-uniform scaling 2018-06-21 00:12:12 +02: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
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
Oliver Rausch
2368b31e1e Fix return type of isnan and isinf in the shader language 2018-06-01 01:34:32 +02:00
nemerle
f2ba9a1f65 Fix bad operator check in ShaderLanguage::_validate_assign 2018-05-16 21:28:12 +02:00
Juan Linietsky
3051bb8a81
Merge pull request #17845 from JFonS/disable_spatial_shadows
Added flag on SpatialMaterial to disable shadows
2018-05-07 16:18:25 -03:00
Juan Linietsky
0db4c576f1
Merge pull request #18533 from JFonS/fix_shader_compile
Fix vector reduction in shader language
2018-05-07 14:30:44 -03:00
JFonS
5b50685b38 Fix vector reduction in shader language 2018-05-07 19:25:31 +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
35322c0678
Merge pull request #18677 from BastiaanOlij/add_no_blend
Add no-blend canvas item render_mode
2018-05-07 09:44:17 -03:00
Bastiaan Olij
6103c8d7a3 Add no-blend canvas item render_mode 2018-05-07 22:41:12 +10:00
Bastiaan Olij
6f7fefa489 Added option to viewport to keep linear color 2018-05-06 19:28:09 +10:00
Juan Linietsky
b3e4bc562c Skeleton for 2D WIP 2018-05-03 17:29:56 -03:00
Rémi Verschelde
de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Rémi Verschelde
4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Marc Gilleron
c755cced83 Added partial texture update to VisualServer 2018-04-29 03:09:49 +02:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Crazy-P
e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Rémi Verschelde
bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Rémi Verschelde
9a4110a451
Merge pull request #17391 from PJB3005/18-03-09-fix-canvas-light-shaders
Fixes canvas light shaders.
2018-04-18 13:31:28 +02:00
Poommetee Ketson
59b816679e
Fix typos in shader_language.cpp 2018-04-17 19:21:00 +07:00
Pieter-Jan Briers
25ba49fd88 Fixes canvas light shaders.
Fixes #16904

Restore more out functionality, fix built-ins.

Requested changes, I think?
2018-04-13 15:18:28 +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
JFonS
9c307d4b6c Added flag on SpatialMaterial to disable shadows 2018-03-29 18:46:42 +02:00
Chaosus
d974fa1780 Removed redundant abs shader builtin 2018-03-28 12:50:55 +03:00
Rémi Verschelde
aebe55210a
Merge pull request #17532 from BastiaanOlij/arvr_enhancements
A few enhancements on the ARVR Server
2018-03-23 10:15:15 +01:00
robfram
8eedb2afe2 Fix crash in canvas_item_add_polyline when passing more points than colors
When `p_points.size() > p_colors.size()`, it crashed with invalid
array access to `p_colors`. Also, when `p_colors` was an empty
`Vector` it crashed due a missing `else` checking the `size`
condition, as the code handling that special case exists.

This PR fixes the missing `else` for `p_colors.size == 0` and,
following the `canvas_item_add_multiline` spirit, it only uses the
first color for the whole polyline if points and colors differ in
size.

Fix #17621.
2018-03-19 19:22:38 +01: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
JFonS
479f531635 Hinted shader uniforms can have a default value 2018-03-15 15:23:40 +01:00
Bastiaan Olij
5356423377 A few fixes on the ARVR Server 2018-03-15 23:31:02 +11:00
Rémi Verschelde
27a3447790
Merge pull request #17402 from Chaosus/fixmix
Fix invalid mix function overload
2018-03-13 08:43:07 +01:00
Wilson E. Alvarez
e9ac87390c Fixed several leaks in VisualServerScene, RasterizerSceneGLES3 and RasterizerGLES3 2018-03-13 00:22:08 -04:00
Chaosus
2d428a350e Fix few bugs in shader definitions 2018-03-10 21:00:18 +03:00
Chaosus
97bef8d908 Fix invalid mix function overload 2018-03-10 12:56:43 +03:00
Saracen
b095e21d91 Make the shader token names consistent. 2018-03-07 23:56:47 +00: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
Chaosus
c6b6af7bb5 Fix floatBitsToUint function 2018-03-03 16:22:36 +03:00
Juan Linietsky
7cd867c3fe 2D Skeletons WORK IN PROGRESS 2018-02-21 17:24:00 -03:00
Juan Linietsky
9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Juan Linietsky
4c56edfb83
Revert "Handle single-argument constructors in uniform default values" 2018-02-20 07:28:22 -03:00
Rémi Verschelde
05a8675f82
Merge pull request #15985 from Nallebeorn/uniforms-single-argument-constructors
Handle single-argument constructors in uniform default values
2018-02-20 11:26:26 +01:00
Chaosus
8f04a13c98 Added missing shader functions 2018-02-18 18:08:18 +03:00
Paolo Perkovic
08d4bfacaf Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
Benjamin
311e69aa1e Handle single-argument constructors in shaders.
Expand these (fill vectors, fill matrix diagonals) in _reduce_expression() so they're handled properly even as uniform default values (where they previously caused a crash).
2018-01-22 22:32:35 +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
binbitten
bccb4840c8 Fix wrong viewport transparent-bg 2018-01-18 19:11:07 +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
0b07d453f7
Merge pull request #15251 from binbitten/fix-assign-vardecl
Fix premature declaration of shader variables created with assignment
2018-01-04 15:17:10 +01:00
Rémi Verschelde
f9f6f250e6
Merge pull request #15191 from Jerome67000/z_renaming
renames "z" Node2D property to "z_index"
2018-01-04 00:41:45 +01:00
Razah
e3c9a7ed4f Fix broken Info.plist after copyright update
Fixes #15293.
+ related misc fixes by @akien-mga.
2018-01-03 17:10:07 +01:00
Jerome67000
42ae3525a3 #15078 renamed "z" -> "z_index" property in Node2D 2018-01-03 13:02:26 +01:00
binbitten
f141bafba3 Fix premature declaration of shader variables created with assignment 2018-01-03 07:23:04 +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
binbitten
9b2283382e Fixed wrong highlighted line when erroring and using single-line comments, fixes #15167 2017-12-29 19:32:21 +01:00
Noshyaar
5c636875e4
Merge pull request #14971 from mrcdk/particles_emitting
Set particles emitting to false when particles finish emitting with one-shot enabled
2017-12-27 10:45:36 +07:00
Juan Linietsky
2b31155baa Fix sidedness check in material. Also remove SIDE built-in. 2017-12-26 11:09:52 -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
8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Enzo Nocera
8e2a1ffd6e Shader Language: Add in-for declared variables within for-block scope. 2017-12-17 01:43:59 +01:00
Juan Linietsky
652c98a7be Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.
Call needs to be routed via visual server to reach the proper thread.
2017-12-16 17:11:02 -03:00
Juan Linietsky
e946fb8cb0 Made built-in identifiers properly constant in shaders. Fixes #14449, closes #14629 2017-12-15 18:24:30 -03: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
Juan Linietsky
65fb961b8b -Ability to and unwrap lightmap coordinates on import
-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
2017-12-09 14:18:14 -03:00
Rémi Verschelde
ccef401700
Merge pull request #13341 from scayze/interp_v2
Added interpolation qualifiers to shaderlang
2017-12-09 18:12:14 +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
Juan Linietsky
d438ac0aed -Implemented Proxy Textures (needed to solve the problem with ViewportTexture)
-Properly use hierarchy to initialize resources local to scene (solves problem of GUI in 3D)
2017-12-04 15:56:17 -03:00
Scayze
b0fb6b1380 Added interpolation modifiers to shaderlang 2017-11-27 16:47:46 +01:00
Rémi Verschelde
8dc89e787c
Merge pull request #13294 from RaXaR/master
Added overloads of vector parameters for shader Trig functions.
2017-11-27 00:58:14 +01:00
RaXaR
b932d8c37a Added overloads of vector parameters for shader Trig functions.
Ammend: Removed whitespace from blank lines.
Ammend2: Removed extra spaces in an attempt to make Clang happy. :)
2017-11-27 01:18:45 +02:00
Juan Linietsky
22415e5a31
Merge pull request #12572 from RandomShaper/onion-skinning
Onion skinning
2017-11-26 15:13:35 -03:00
Rémi Verschelde
b0e556d1a7
Merge pull request #13289 from sketchyfun/3d_selection_fix
Fixed issue with 3D selections
2017-11-26 14:55:56 +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
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
Pedro J. Estébanez
81c49fb536 Update clang-format in modified files 2017-11-25 02:18:28 +01:00
Pedro J. Estébanez
3aa79fc1a3 Add ability to opt-out buffer swapping in VS::draw() 2017-11-25 02:18:28 +01:00
Ferenc Arn
0ca9181ee8 Rename two-parameter arc-tangent function to atan in shader language, as it is in GLSL.
Fixes #13214.
2017-11-23 21:19:11 -05:00
Juan Linietsky
640856f4d4
Merge pull request #11895 from m4nu3lf/rendering/separate_thread
Restore rendering on a separate thread
2017-11-21 14:31:14 -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
m4nu3lf
871c47a2bb Restore rendering on a separate thread 2017-11-18 18:35:25 +00:00
Ferenc Arn
d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Juan Linietsky
6277e6d40a Ability to update parts of an array, and set arrays as dynamic draw 2017-11-14 17:26:35 -03:00
BastiaanOlij
9d3f8418ca Removed add/remove interface bindings and added get_interfaces 2017-11-13 22:08:43 +11:00
Juan Linietsky
19b1ff0fc5 Disabled filter clip by default and made it optional, fixes #12368, likely others too 2017-11-10 09:22:25 -03:00
Juan Linietsky
192a4d7de5 Reworked how servers preallocate RIDs, should fix #10970 2017-11-09 23:35:34 -03:00
Juan Linietsky
fd07a283e5
Merge pull request #12523 from RandomShaper/fix-margins-drawn-too-late
Fix viewport margins drawn after swapping buffers
2017-10-30 19:47:02 -03:00
Pedro J. Estébanez
793da07a4d Fix viewport margins drawn after swapping buffers 2017-10-30 21:20:12 +01:00
Poommetee Ketson
83f5d7e40a Refactor bufer to buffer 2017-10-28 19:15:51 +07:00
Rémi Verschelde
abea816e54 Revert "Rename Schlick GGX to GGX." 2017-10-23 07:42:36 +02:00
Juan Linietsky
b4f0f59d9f Many fixes to SSAO, should be good now. 2017-10-22 13:52:48 -03:00
Ferenc Arn
cb0bf1edea Rename Schlick GGX to GGX.
Schlick's approximation and GGX are orthogonal concepts.

Furthermore, it's usage so far has been inconsistent: we don't even use it with anisotropic SchlickGGX, and Burley (Disney) diffuse does use it while its name doesn't indicate it.

The use of Schlick's approximation in Burley and GGX is an implementation detail and doesn't need to be reflected to the namig.
2017-10-21 19:35:54 -04:00
Rémi Verschelde
6361e24f29 Cleanup unnecessary debug prints 2017-10-21 20:41:07 +02:00
Daniel J. Ramirez
d67e77e837 Fixed viewport transparent bg when clear mode is enabled. 2017-10-21 02:06:10 -05:00
Pedro J. Estébanez
7764640f22 Fix crash in shader parsing
...that would happen if incorrect syntax was found just after an opening square bracket.

Fixes #12046.
2017-10-16 21:55:42 +02:00
Hiroshi Ogawa
4501a30ce9 Fix GIProbe light visibility
- Fix https://github.com/godotengine/godot/issues/10535
2017-10-04 19:13:07 +09:00
Juan Linietsky
d4e20555e8 Ability to set a custom FOV makes it possible to use sky on orthogonal view. Closes #9186 2017-09-29 18:56:52 -03:00
Juan Linietsky
4f39ce32b9 Fixes to light shaders, should work now.. 2017-09-27 21:45:47 -03:00
Daniel Doran
d0c42da961 Discarding now works in shaders
"discard" has been added to the list of recognised keywords.

A flag specifing when discarding is allowed is now set correctly.
2017-09-24 01:37:53 -06:00
Juan Linietsky
81c9cfdc1b Added light affect parameter to baked AO 2017-09-23 23:10:34 -03:00
Juan Linietsky
d3ea92257d -Fixed redraw always on 3D viewprot bug
-Changed manipulation inertia default values. Do not touch them again or I'll cut your fingers and eat them.
2017-09-23 17:28:28 -03:00
Ferenc Arn
a6c3147c0a Add inversesqrt to shader language. 2017-09-21 21:02:08 -04:00
Juan Linietsky
bf371dcb32 Added proximity and distance fade to SpatialMaterial 2017-09-21 15:20:28 -03:00
Rémi Verschelde
e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02: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
Rémi Verschelde
2b50dc5d4f Merge pull request #11057 from hpvb/fix-various-warnings
Fix various assorted warnings
2017-09-12 11:39:47 +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
Hein-Pieter van Braam
5e18967d77 Fix serveral recent new clang-format errors 2017-09-08 00:20:16 +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
Juan Linietsky
7eb8760477 Added support for for, break and continue. Closes #10560, closes #10661 2017-09-05 15:25:34 -03:00
Juan Linietsky
281fb4e4fb Added transmission shader parameter. 2017-09-03 10:30:37 -03:00
Poommetee Ketson
459f526119 Fix typos 'a' and 'an' 2017-09-02 21:19:06 +07: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
Rémi Verschelde
5a69a663c7 Merge pull request #10864 from Noshyaar/pr-beginning
Fix typo 'begining' to 'beginning'

[ci skip]
2017-09-01 21:29:40 +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
Poommetee Ketson
69ccae3d99 Fix typo 'begining' to 'beginning' 2017-09-01 22:54:57 +07: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
Rémi Verschelde
6dd6e05662 Revert "Fix shader function calls being assignable" 2017-08-31 14:19:27 +02:00
Juan Linietsky
089cf8176e removed DISCARD built in variable, replaced by actual discard GLSL instruction, fixes #9677 2017-08-29 10:15:49 -03: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
9450179ff0 Disable antialiasing for CanvasItem triangle arrays
Fixes #10461 and supersedes #10645 as suggested by @bruvzg.
2017-08-28 23:37:42 +02:00
Rémi Verschelde
456bee46de Merge pull request #10676 from hpvb/speedup-_render_canvas_item_tree
Use memset to zero z_list
2017-08-28 23:08:50 +02: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
Hein-Pieter van Braam
27c142a57b Use memset to zero z_list
Using gprof I found the engine spending 10 - 20% of time in the
_render_canvas_item_tree function. The function profiles as using
about 0.09ms. Swapping the loop with two memset() calls reduces
the time spent in this function a lot, and the time per call to
about 0.02ms.

Likewise the render_canvas function was using ~10% of time, replacing
the loop there dropped per-call time from 0.22ms to 0.18ms.
2017-08-27 13:48:07 +02:00
Rémi Verschelde
9c71da00aa Merge pull request #10590 from MasonAsh/fix-10589
Fix shader function calls being assignable
2017-08-27 02:11:46 +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
Mason Ashbridge
3757cec8f3 Fix shader function calls being assignable 2017-08-23 14:55:03 -04:00
Juan Linietsky
834112772b property validate assignment condition in new variables, fixes #9411 2017-08-20 16:15:46 -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
8fc6bb8f77 Added polygon antialiasing, but it does not work on nvidia. Will have to try something else.. 2017-08-19 13:14:38 -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
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
Rémi Verschelde
44a550421c Shader: Fix typo in "facefordward"
Fixes #10399.
2017-08-17 18:15:16 +02: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
df573f5c3a -Restored Sprite3D to working function, fixes #2061, fixes #9738
-Restored an alpha scissor property in Material
2017-08-08 17:23:44 -03:00
Juan Linietsky
2a6cdfaf91 -Fixed BoneAttachment delay, closes #3966
-Fixed skeleton crash, probably fixes other issues
2017-08-07 22:18:12 -03:00
Juan Linietsky
539fbad919 Restored black bars and custom images instead of black bars, closes #1571 2017-08-07 18:09:13 -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
Rémi Verschelde
38c471bef6 Merge pull request #9765 from Noshyaar/pr-clang
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-23 13:16:48 +02:00
Juan Linietsky
772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03: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
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
Rémi Verschelde
d23fc16b2d Merge pull request #9564 from Noshyaar/pr-threshold
Refactor 'treshold' to 'threshold'
2017-07-08 23:51:53 +02:00
Juan Linietsky
e577c5b070 Some adjustments to toon material to make it more flexible
Ability to also disable specular
2017-07-08 14:01:56 -03:00
Juan Linietsky
f4c8c552f9 Added triplanar mapping, toon mode, and more specular modes for materials. Added multipass support for materials. 2017-07-08 12:36:15 -03:00
Poommetee Ketson
2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
Juan Linietsky
84de71872f -Added triplanar mapping modes
-Some fixes to shader lang
2017-07-08 08:07:49 -03:00
Juan Linietsky
2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Juan Linietsky
3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Juan Linietsky
83ae9a5e28 Ability to restart particle system with a function call 2017-06-25 08:01:50 -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
8ef1c41a4e Small fixes required to get platformer to work.
Added back CanvasItemMaterial
2017-06-23 14:31:59 -03:00
Juan Linietsky
57ebad28a9 Order of 2D nodes in tree affects drawing properly again. 2017-06-22 09:33:20 -03:00
Juan Linietsky
95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Juan Linietsky
0288be1e76 Texture rect_region drawing now clamps UV to avoid bleeding. This avoids scenarios like single-texture tilemap tiles leaking pixels to the next tile when filter is enabled on it. 2017-06-18 22:55:02 -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
2da3f48e5a -Fixed shader lang to not be able to get scalar from matrix (ie mat.x), to make it more GLSL compatible
-Fixed referencing of world_transform in fragment shader not working
-Fixed unsycn bug related to getting shader param list from the server
-Fixed getting all textures from shader properly, fixes #8353
2017-06-17 11:03:48 -03:00
Juan Linietsky
9757fc354c Fix transparent background rendering, closes #8703
Properly implemented UPDATE_WHEN_VISIBLE mode for viewports
2017-06-17 08:59:43 -03:00
Juan Linietsky
e11fae0bbf Particles properly update the shadow maps, closes #8815 2017-06-17 07:32:49 -03:00
Juan Linietsky
b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
Rémi Verschelde
8b1bc9da88 Merge pull request #9208 from Calinou/tweak-default-fov
Increase the default perspective camera FOV
2017-06-16 17:51:04 +02:00
Juan Linietsky
80929d36be TIME constant reverted to a single float, fixes #9123 2017-06-16 08:30:21 -03:00
Juan Linietsky
29cfc365aa Fixes to SSR, WIP. 2017-06-16 08:30:21 -03:00
Hugo Locurcio
cdcc3c919b Increase the default perspective camera FOV
This does not affect existing projects, but will affect newly-created
editor settings and Camera nodes.
2017-06-16 12:07:07 +02:00
Juan Linietsky
f8bd488457 Merge pull request #9109 from RandomShaper/optimize-2d-lighting
Add AT_LIGHT_PASS builtin to canvas shaders
2017-06-14 21:16:09 -03:00
Pedro J. Estébanez
93ffd9023f Add AT_LIGHT_PASS builtin to canvas shaders
This one allows for complex shaders paired with a simple lighting shader to skip code that would otherwise be pointlessly (and wastefully) run during the light pass.

Depending on your game (number of items and lights), this can yield some performance gain.
2017-06-15 02:03:15 +02: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
Juan Linietsky
a8a1f2e2a8 -Fixed occluder rendering, closes #8560
-Ability to smooth out 2D shadow filters
2017-06-13 01:23:04 -03:00
Marc Gilleron
af9fd6f44a Fixed compilation on Windows + removed debug print 2017-06-12 01:58:57 +02:00
Juan Linietsky
61c82f4356 Restored everything related to information polling, and added information box for viewport. 2017-06-11 18:13:04 -03:00
Juan Linietsky
4d50c7ad8c Restored multiple viewport function, as well as view modes. 2017-06-11 15:52:03 -03:00
alexholly
935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Juan Linietsky
612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Juan Linietsky
5bf810b5db -Added proper access to depth texture from shader
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
Juan Linietsky
840ac8c018 Fog is complete! 2017-06-07 08:38:21 -03:00
Juan Linietsky
0fb99306ff -working SCREEN_TEXTURE, SCREEN_UV shader variables
-Added refraction support for default material
-Enabled BCS adjustments, as well as color correction.
2017-06-05 22:34:32 -03:00
Poommetee Ketson
5fd458e03a Fix build error 2017-06-05 21:19:54 +07:00
Rémi Verschelde
f8d7670e82 Merge pull request #9038 from AlexHolly/rect2-rename-pos
renamed all Rect2.pos to Rect2.position
2017-06-05 15:52:05 +02:00
Juan Linietsky
5aa66d03d8 Added depth texture support (using parallax) to default material. 2017-06-04 20:35:45 -03:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Juan Linietsky
c03131fc9f Rework shading modes and change location of light shader 2017-06-01 18:56:02 -03:00
Juan Linietsky
a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
suptoasty
e0befd2f23 Fixed a typo in a Visual Server var name (#8977) 2017-05-29 08:08:16 +02:00
Juan Linietsky
bf6380ee70 Removed skybox support, added panorama support. Skybox support may come back eventually, but hope not. 2017-05-25 14:00:43 -03:00
BastiaanOlij
c51ce72702 Added texture_get_texid 2017-05-20 10:09:36 +10:00
Juan Linietsky
98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Carter Anderson
212c6306a8 Fix get_shader_type index upper bound 2017-05-01 23:41:44 -07:00
Juan Linietsky
1c480698ce -Fixed crash with splash screen on windows
-properly show editor without having to resize window on windows
2017-04-09 20:40:48 -03:00
Juan Linietsky
7ba71fb243 Restored (And auto-generated) splash image 2017-04-09 20:03:38 -03:00
Juan Linietsky
fccf2816d4 -Fix eternal black screen on Windows
-Disabled warnings on windows, need to properly set up warnings
2017-04-09 17:59:17 -03:00
Juan Linietsky
4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -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
Pedro J. Estébanez
5ff0924a93 Map POSITION to gl_FragCoord.xy for 2D shaders 2017-03-08 02:07:59 +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
Thaer Razeq
f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Juan Linietsky
de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03: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
Juan Linietsky
6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
BastiaanOlij
3a02df7739 Working on compile issues for iOS 2017-01-16 23:14:13 +11:00
Rémi Verschelde
f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01: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
495d059a74 Merge branch 'master' of https://github.com/godotengine/godot 2017-01-05 09:18:03 -03:00
Juan Linietsky
0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
BastiaanOlij
55d425807f First set of changes to fix compilation errors and initialise the gles3 renderer for Mac OS X. Still broken at this point. 2017-01-04 23:34:02 +11:00
Juan Linietsky
76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -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
lonesurvivor
8b8807e37d Improvement to y_sort: make clear which item has to be drawn first
when both have the same y coordinate (prevents possible flickering). Reapplying #7241 to the 3.0 code.
2017-01-03 10:35:30 +01:00
Rémi Verschelde
3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
ed518ff713 Revert "small improvement to y_sort: make clear which item has to be drawn first when two have the same y-coordinate"
This reverts commit 4118b21e43.
Same rationale as previous revert.
2017-01-02 20:39:25 +01:00
Rémi Verschelde
86b0669f4c Revert "Add/expose VisualServer::get_default_clear_color()"
This reverts commit 753ba67d65,
in preparation from the merge of the gles3 branch, as the VisualServer
code changed too much to port this commit over during merge conflicts
resolution. It could be readded afterwards.
2017-01-02 20:32:52 +01:00
Juan Linietsky
2820b2d82b fix stupid bug in light downscaling for GI Probe 2017-01-02 14:09:42 -03:00
Juan Linietsky
c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01: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