Commit Graph

634 Commits

Author SHA1 Message Date
Juan Linietsky d2aaf460fb Manually fix, merge and close #15168 2018-07-29 12:18:37 -03:00
Juan Linietsky 6a5aec3644 Rename flag to better name 2018-07-27 08:59:18 -03:00
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
Todd Ross 9423f23ffb allow comments and whitespace before shader_type declaration 2018-07-26 00:17:57 +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
Chaosus ca0a6c3fca Added conversions between matrixes in shaders 2018-07-25 18:14:52 +03:00
Juan Linietsky dc976cac57
Merge pull request #12678 from AndreaCatania/soft
Soft body
2018-07-23 16:04:32 -03:00
AndreaCatania 17ebbfb56d Implemented Soft body
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky ec85fd554b Fix issues with CPUParticles and related conversion from Particles. Closes #20126 2018-07-23 12:28:50 -03:00
AndreaCatania fbf3ad2841 Added some API to visual server so from control VRAM buffer is more easy 2018-07-23 12:59:27 +02: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
Alex Roman 2ce1118faa Add disable ambient light flag to shaders and materials 2018-07-17 21:30:43 +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
Rémi Verschelde 1d84c4f870
Merge pull request #20158 from Overblob/Fixed_shader_parsing_error_log
Fixed shader parsing error log
2018-07-17 14:16:56 +02:00
Juan Linietsky de910f8c26 Finally figured out how to implement AnimatedTexture properly. 2018-07-16 11:43:49 -03:00
Overblob e6ad5e23b4 * Small hex/float/integer parsing refactoring
* Potential bug fix on hex (cannot be used atm)
* Added optional typing for floats, eg:
"1f" -> "1.0"
"1.f" -> "1.0"
"1.99f" -> "1.99"
"1." -> "1.0"
2018-07-15 14:58:23 +02:00
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