Commit graph

1171 commits

Author SHA1 Message Date
MrCdK
408f4cb146 Set correct types on a couple variables inside the canvas.glsl 2018-01-12 22:02:28 +01:00
Juan Linietsky
e56b3439a5 Attempt renaming multiple times on safe file save, and make the behavior optional. Fixes #14339. 2018-01-12 17:03:52 -03:00
Juan Linietsky
0041efec1d Fix mat2 alignment 2018-01-12 12:45:16 -03:00
Juan Linietsky
f4d603b902 Fix uniform alignment, closes #14962 2018-01-12 12:43:26 -03:00
Juan Linietsky
3a05d974e0 Instance dependency for particles was not being get rid of. Again fixes #15591 2018-01-12 09:12:31 -03:00
Juan Linietsky
e3f02b1a1b Properly fix blend equations for both transparent and non transparent framebuffers. Closes #15047 2018-01-11 19:39:47 -03:00
AndreaCatania
252344f706 Fixed graphic artifact caused by anisotropic filter 2018-01-11 12:55:18 +01:00
Rémi Verschelde
e49ddf2984
Merge pull request #15555 from BastiaanOlij/clamp_blends
Clamp blend to fix screen space reflections
2018-01-10 13:36:13 +01:00
Bastiaan Olij
ebc96195d8 Clamp blend to fix screen space reflections 2018-01-10 23:23:00 +11:00
Rémi Verschelde
f1ef2d5183
Merge pull request #15553 from AlmightyScientist/issue-15453
Shader Language: Fixes EXTRA_MATRIX undefined.
2018-01-10 12:46:52 +01:00
AlmightyScientist
4820910648 Shader Language: Fixes EXTRA_MATRIX undefined.
Fixes #15453.
2018-01-10 12:37:28 +01:00
volzhs
b6cff1ba69 Fix stretch aspect keep mode
Fix #15407
Fix #15514
2018-01-10 10:49:26 +09:00
volzhs
1c806abdaa Fix shader compile error on Android
**ERROR**: EffectBlurShaderGLES3: Fragment Program Compilation Failed:
23:191: S0001: Type mismatch, cannot convert from 'int' to 'float'
   At: drivers/gles3/shader_gles3.cpp:168:_display_error_with_code() - EffectBlurShaderGLES3: Fragment Program Compilation Failed:
2018-01-09 16:44:56 +09:00
Jerome67000
87bbaddac3 removed unused project setting rendering/quality/depth_prepass/disable 2018-01-08 21:02:53 +01:00
sambler
384055c86f Fix use of execvp, earlier fix was short sighted and only worked
when godot could be found in PATH.
The correct fix is to use sysctl to get the path to the current executable
this also fixes the ability to call external commands.
2018-01-08 12:07:28 +10:30
Juan Linietsky
4c23f94af9 properly blend interior and exterior ambient in reflection probes, fixes #14695 2018-01-06 19:34:03 -03:00
Juan Linietsky
bfeaf27a3e Properly dispose of instance capture data, fixes #14795 2018-01-06 19:06:04 -03:00
Juan Linietsky
d72a32bc54 Use better initialization value for normalmap, fixes #14720 2018-01-06 18:09:11 -03:00
Juan Linietsky
9cf19f8dee Ensure depth reads go via alpha render list, fixes #14759 2018-01-06 17:38:39 -03:00
Juan Linietsky
a195f81a6a Improve detection of variable writing in shader, fixes #15177 2018-01-06 09:56:47 -03:00
Juan Linietsky
380ee87e80 Fixed problem with missing uninitialized last byte on waveform trip, closes #15316 2018-01-05 16:28:08 -03:00
Juan Linietsky
003f2dab78 Fix dual paraboloid shadow maps, closes #14487 2018-01-05 12:13:52 -03:00
Juan Linietsky
0c86c1ad15 Fixed GIProbe blending, closes #15164 2018-01-05 10:34:31 -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
Juan Linietsky
6e2ed15ff1 Add support from properly exporting shared objects, needed for GDNative export 2018-01-04 15:43:06 -03:00
Emmanuel Leblond
e315c94900 Change OS::initialize signature to return Error (fix segfault on x11) 2018-01-04 15:15:55 +01:00
firefly2442
f066991aa7 found via cppcheck:
remove code that will never run
make definition and declaration names for parameters match
change floats that were being set to bool values
remove pointer that is never used
2018-01-03 21:23:48 -07:00
Rémi Verschelde
d65ac7378c Fix crash in OS::execute on FreeBSD
As spotted by @robfram, closes #15288.
Also reviewed other uses of `if (String.find(.*))` for potential similar mistakes, found a wrong (and useless) one in ScriptEditorDialog.
2018-01-04 01:20:20 +01:00
Rémi Verschelde
72d3c474b0
Merge pull request #15170 from ibrahn/fix-particle-leak
RasterizerStorageGLES3, delete particle objects freed by RID
2018-01-04 01:07:54 +01:00
Juan Linietsky
474523d409
Revert "Add missing image format RGB10A2. Fixes #14964" 2018-01-03 16:43:07 -03:00
Ibrahn Sahir
75c624e119 RasterizerStorageGLES3, delete particle objects freed by RID
fixes #15151
2018-01-03 15:52:47 +00:00
Rémi Verschelde
6d812ad27f
Merge pull request #15051 from binbitten/bug-fixes
Add missing image format RGB10A2. Fixes #14964
2018-01-03 10:17:48 +01:00
Juan Linietsky
2c226e4edf Some fixes to improve precision and speed on Android. Fixes precision issues on Mali and PowerVR. 2018-01-02 18:45:00 -03: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
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
c858dbdc4e Fixed proper texture binding for sprite material, fixes #13987 2017-12-26 15:56:18 -03:00
Juan Linietsky
c54927a127 Property apply shader parameters, even when materials are being reused, fixes #14012 2017-12-26 15:13:00 -03:00
Juan Linietsky
b411029e31
Merge pull request #14796 from AlmightyScientist/issue-14552
Shader Language: Fix Vertex Lighting artifacts.
2017-12-26 12:46:48 -03:00
Juan Linietsky
2b31155baa Fix sidedness check in material. Also remove SIDE built-in. 2017-12-26 11:09:52 -03:00
binbitten
267bad6b4c Add missing image format RGB10A2. Fixes #14964 2017-12-25 21:01:01 +01:00
MrCdK
1f609b7a82 Set particles emitting to false when particles finish emitting with one-shot enabled 2017-12-23 05:23:41 +01:00
Juan Linietsky
7d0cabe9d3 Change skeleton processing to work on global coordinates, should help fix many import problems from Blender, GLTF2, etc. 2017-12-21 17:36:39 -03:00
Juan Linietsky
3ca06e1184 Propertly deinitialize sampler FBO/Texture, fixes #14586,#14805 2017-12-19 15:26:18 -03:00
Guilherme Silva
ffe827ab5a Fix pixel snap not being used in 3.0 2017-12-19 15:18:07 -02:00
Enzo Nocera
6c25eabbc5 Shader Language: Fix Vertex Lighting artifacts.
- When using Direction Lighting along with Vertex Lighting,
  putting a SpatialMaterial Roughness to 1.0 causes artifacts to appear.
  (#14552)

Fixes #14552.
2017-12-18 09:15:28 +01:00
Rémi Verschelde
aefa23eac1
Merge pull request #14794 from endragor/remove-debug-logs
Remove debug logs that are of no use to end users
2017-12-18 07:40:01 +01:00
Ruslan Mustakov
ec31c4f380 Remove debug logs that are of no use to end users 2017-12-18 13:37:37 +07:00
Rémi Verschelde
8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Hein-Pieter van Braam
34991af553 Don't glBindTexture() on viewports without effects
@reduz said there was another place that needed to be checked for a
similar issue but I have to admit I didn't understand.

This fixes #13337
2017-12-16 23:38:02 +01:00
Juan Linietsky
a9ddc8f7cf
Merge pull request #14614 from vitrig/fix-immediate-geometry-acts-strangely
Fix #14564 ImmediateGeometry normals act strangely compared to SurfaceTool
2017-12-16 08:59:27 -03:00
Fabio Alessandrelli
ac7444023e Move windows networking class to drivers/windows/
Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and
StreamPeerWinsock to StreamPeerTCPWinsock.
2017-12-15 18:25:29 +01:00
Fabio Alessandrelli
92067b4714 Remove "const" from PacketPeer get_packet/get_var
They are NOT constant methods, as state by the comment message,
they fetch the last packet and then forget about it, actively
changing the state of the object.
2017-12-15 17:14:17 +01:00
Arnaud PEZEL
6f114c50a7 Fixes built-In "LIGHT" causing fragment compilation error
Add a rename for shader LIGHT built-in, Fix bug #14537
2017-12-14 14:58:13 +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
Rémi Verschelde
b110813134
Merge pull request #14499 from akien-mga/glsl-bone-type
Fix usage of signed type in skeleton shader
2017-12-13 08:37:56 +01:00
Przemyslaw Czarnota
08c8d46593 Fix #14564 ImmediateGeometry normals act strangely compared to SurfaceTool 2017-12-13 07:45:24 +01:00
Rémi Verschelde
7908dc322a Drop unused OS_Unix::has_data and related logic
Closes #5536.
2017-12-10 17:05:24 +01:00
Rémi Verschelde
663f7e6a61 Fix usage of signed type in skeleton shader
The resulting primitive is drawn as GL_UNSIGNED_SHORT, so uvec4 should be used.
Fixes #12804.
2017-12-10 13:58:36 +01:00
Rémi Verschelde
028f959fb1 PropertyEditor: Filter out resource_local_to_scene
This lets the empty "Global" category disappear again.
Also silence a debug print.
2017-12-10 00:18:10 +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
4d6f8f89ed
Merge pull request #13424 from MillionOstrich/particles-pause-fix
Stop particles resetting on pause.
2017-12-09 16:37:02 +01:00
Juan Linietsky
8c78ccb027 After a lot of trial and error, i think rim lighting implementation is now perfect, closes #13986 2017-12-08 11:09:03 -03:00
Juan Linietsky
8717afbfe1 Added small bit of bias depending on lenght for contact shadows, fixes #12726 2017-12-07 16:19:35 -03:00
Rémi Verschelde
13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Rémi Verschelde
d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Juan Linietsky
e8494f7ab7 Fixed rim lighting glitch, closes #13340, closes #13986 2017-12-06 14:30:49 -03:00
Unknown
fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01: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
Rémi Verschelde
9b9fcb1977 Disable invariant gl_Position to workaround Mesa bug 100316
Fixes #13450, though it would be worth reverting if/when the Mesa bug is fixed.
2017-12-03 15:05:39 +01:00
Juan Linietsky
d8953fe737 small fix so shadows dont need to use a separate material for world vertex coords (more perf) 2017-12-01 08:55:21 -03:00
Juan Linietsky
0243803117 Properly take into consideration that VERTEX must be written to in opaque pre pass, does some speed up to scenes using triplanar. 2017-12-01 08:45:36 -03:00
Marcelo Fernandez
a3f0ffdf24 Fix wasapi going silent when number of channels are not supported 2017-11-30 19:51:27 -03:00
MillionOstrich
9ecde5524d Stop particles resetting on pause. 2017-11-30 17:51:18 +00:00
Juan Linietsky
9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Rhody Lugo
a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Rhody Lugo
a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Scayze
b0fb6b1380 Added interpolation modifiers to shaderlang 2017-11-27 16:47:46 +01:00
Rémi Verschelde
90f9f123fd
Merge pull request #13317 from akien-mga/custom_user_dir
Allow customizing user:// path (folder in OS::get_data_path())
2017-11-26 22:25:02 +01:00
Rémi Verschelde
4a1d1cbbb4
Merge pull request #13290 from Chaosus/projectionfix
Fix invalid transform when skip_vertex_transform used
2017-11-26 21:31:02 +01:00
Juan Linietsky
ea70afc9b4
Merge pull request #13264 from zatherz/feature/projectsettings_limits
Add range to anisotropic filter level
2017-11-26 16:04:36 -03:00
Chaosus
284f8f6d91 Fixed invalid transform when skip_vertex_transform used 2017-11-26 22:02:40 +03:00
Juan Linietsky
1c3c9e017b
Merge pull request #13277 from DoctorAlpaca/master
Fix particle preprocessing
2017-11-26 15:59:24 -03: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
af9c67db0c Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use
as user:// on all platforms. The folder is constrained to the platform-specific
OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to).

Fixes #13236.
2017-11-26 19:02:32 +01:00
volzhs
b97e87480e Fix shader compilation fail on Android
Error message from logcat

**ERROR**: SceneShaderGLES3: Fragment Program Compilation Failed:
50:471: S0032: no default precision defined for parameter 'probe'
   At: drivers/gles3/shader_gles3.cpp:167:_display_error_with_code() - SceneShaderGLES3: Fragment Program Compilation Failed:
2017-11-27 01:15:39 +09:00
Juan Linietsky
9738ebcda0 -Fixed height fog (was broken)
-Make sure materials are named in OBJ importer, so they can be saved outside as resources.
2017-11-25 12:32:41 -03:00
Eric Wiltfang
57845b53f3 Fix particle preprocessing. Fixes #12460.
Remove an incorrect check likely left over from copying from the
normal fixed_fps update case.

Also makes sure that the preprocessing_time is always fully simulated,
rather overshooting the mark than stopping early.
2017-11-25 15:41:14 +01:00
Rémi Verschelde
d9faf6f2f4 Fix build on macOS and Android after bc2e8d99 2017-11-25 10:42:20 +01:00
Zatherz
1937fd5e07 Add range to anisotropic filter level (1 to 16 with integer steps) 2017-11-25 06:49:23 +01:00
Indah Sylvia
ac92c147c6 Completed bc2e8d99e5 so that windows can be built 2017-11-25 11:12:07 +07: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
3aa79fc1a3 Add ability to opt-out buffer swapping in VS::draw() 2017-11-25 02:18:28 +01:00
Ruslan Mustakov
d42c5646a5 Return and repair file logging
And make it configurable, too.
2017-11-21 16:43:44 +07:00
Juan Linietsky
98cb49283d Ability to change indirect light energy. 2017-11-19 21:46:00 -03:00
Rémi Verschelde
ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Rémi Verschelde
9fc0b23210
Merge pull request #13051 from akien-mga/check-gles3-support
Check whether GL context supports the expected API
2017-11-20 00:13:28 +01:00
RoyBerube
4d5a87a422 Visual Studio project creation bug fix
A bug in the /drivers SCons script was preventing files in the /drivers and some in the /thirdparty directories from being added to the VS project.

This will only affect builds that use the 'vsproj=yes' option.
2017-11-19 13:56:48 -07:00
Rémi Verschelde
32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
Rémi Verschelde
c574be5566 Check whether GL context supports the expected API
I couldn't test it yet myself (GPU supports GL 4.5), so we'll need to see if it behaves
as expected on systems that don't support OpenGL 3.3 or GL ES 3.0.
2017-11-19 20:47:53 +01:00