Commit graph

466 commits

Author SHA1 Message Date
Rémi Verschelde
1fbb83de2c
Merge pull request #16467 from godotengine/gles3-light-shader-time
using TIME in light shader enables uses_fragment_time
2018-02-20 11:19:14 +01:00
Bojidar Marinov
ea57a19b34
Fix a rendering bug with screen_texture 2018-02-19 22:07:38 +02:00
Rémi Verschelde
3ab72da645
Merge pull request #15710 from AndreaCatania/p1
Fixed sky reflection rendering when transparent BG
2018-02-14 16:29:08 +01:00
Chaosus
e1c2bde0ec Fix invalid particle movement when time_scale is zero 2018-02-14 16:44:59 +03:00
karroffel
bb655856e2 using TIME in light shader enables uses_fragment_time
The GLES3 shader compiler performs certain checks to enable or disable
the usage of certain uniform variables (and with that the set-up of UBOs).

If the `TIME` variable gets used inside the `vertex` function then the
renderer knows that it has to insert that value into the UBO.
The same applies to the `fragment` function.

The `light` function gets executed inside the fragment shader for every
light source that is relevant to the current pixel. If the `TIME` variable
gets used in that function then it needs to be present in the fragment-UBO.
The check for this was missing, so if a shader uses `TIME` inside `light`
but not inside `fragment` then the uniform will not actually be set up.
2018-02-07 11:56:52 +01:00
Hugo Locurcio
84267915f5
Remove a few debugging prints 2018-02-05 11:30:50 +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
92473a9e9e Convert special case RGB10_A2 to RGBA8 when obtaining texture data 2018-01-18 18:05:01 +01:00
Leon Krause
cbc194dde6 Fix copy shader in GLSL ES 3.0 2018-01-15 23:46:45 +01:00
Leon Krause
e4609acc5d Fix Particles2D in WebGL 2.0 2018-01-15 20:39:17 +01:00
AndreaCatania
c34f18acce Fixed sky reflection rendering when transparent BG 2018-01-14 20:28:26 +01:00
Rémi Verschelde
e1a0f2bd71
Merge pull request #15636 from mrcdk/fix_canvas_light
Set correct types on a couple variables inside light_compute in canvas.glsl
2018-01-13 01:42:52 +01:00
binbitten
de8f43d95d Fix mat2 alignment 2018-01-12 22:26:50 +01:00
MrCdK
408f4cb146 Set correct types on a couple variables inside the canvas.glsl 2018-01-12 22:02:28 +01: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
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
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
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
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
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
Przemyslaw Czarnota
08c8d46593 Fix #14564 ImmediateGeometry normals act strangely compared to SurfaceTool 2017-12-13 07:45: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
MillionOstrich
9ecde5524d Stop particles resetting on pause. 2017-11-30 17:51:18 +00:00
Scayze
b0fb6b1380 Added interpolation modifiers to shaderlang 2017-11-27 16:47:46 +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
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
Zatherz
1937fd5e07 Add range to anisotropic filter level (1 to 16 with integer steps) 2017-11-25 06:49:23 +01: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
Juan Linietsky
98cb49283d Ability to change indirect light energy. 2017-11-19 21:46:00 -03: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
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
Rémi Verschelde
9f134aa5d1 Cleanup old references to GLES2 renderer
There are still some left in the Android Java code, even stuff to swap between
GLES1 and GLES2 support from early Godot days... would be good to see some cleanup
there too one day.

The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported.
It can be readded when GLES 2.0 support comes back. Fixes #13004.
2017-11-19 17:52:18 +01:00
Rémi Verschelde
0968c8d2f6
Merge pull request #12982 from tagcup/aabb_rename
Rename Rect3 to AABB.
2017-11-17 20:04:29 +01:00
Juan Linietsky
1feeb3e1c8
Merge pull request #12924 from vnen/light-shader
Enable light shaders when light variables are used
2017-11-17 16:02:34 -03:00
Ferenc Arn
d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
andrzej.buczynski
4c0e927ccf Fix alpha dithering in viewports with TransparentBg=false and Usage=2D, issue #11416 2017-11-17 01:40:00 +01: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
George Marques
78441b486a
Enable light shaders when light variables are used 2017-11-14 13:08:03 -02:00
Juan Linietsky
4c000a05f6 Do not enable light if atlas size is 0, closes #9335 2017-11-13 15:13:01 -03:00
Juan Linietsky
2e3a1caa06 Disable OpenGL warnings unless running with -v, closes #7171 2017-11-13 13:40:07 -03:00