Yuri Roubinsky
371d48aea1
[3.2] Fix shader's length() function parsing in expressions
2020-06-03 19:43:47 +03:00
Technohacker
9584f24be5
Use DWMEnableBlurBehindWindow instead of WS_EX_LAYERED
...
Affects per-pixel transparency
The current method renders to the screen by copying the GLES output to a
DIB for transparency using the CPU instead of rendering directly to the
window via the GPU. This is slower and also forces the window to be borderless
as WS_EX_LAYERED affects the non-client region as well.
This change uses DWMEnableBlurBehindWindow which allows using the standard
glClearColor() background alpha and is also performed through the GPU,
eliminating CPU bottlenecks
2020-05-10 21:05:37 +05:30
lawnjelly
dcb19ed735
Add Nvidia Workaround for GLES3
...
Ported GLES2 workaround code to GLES3.
2020-05-07 14:54:14 +01:00
lawnjelly
17bb7af425
GLES3 - add counts for 2d drawcall and 2d items to performance monitor
...
This had already been implemented for GLES2 but not GLES3.
2020-05-07 11:31:43 +01:00
Pedro J. Estébanez
d8be5a9986
Add MODULATE builtin to canvas item shaders
2020-05-04 00:10:24 +02:00
Pedro J. Estébanez
7cc0f181c9
Improve shader time roll over
...
- Resurrect it for GL ES 2
- Apply roll over with `fmod()` instead of resetting it to 0
- Expose the setting from the `VisualServer`, since it does not belong in any specific rasterizer
2020-04-29 22:33:03 +02:00
Rémi Verschelde
f2150d1766
Merge pull request #37462 from Chaosus/shader_fix_const_order
...
[3.2] Fix shader constant sorting
2020-04-29 09:41:49 +02:00
Fredia Huya-Kouadio
7c559afe29
Restrict `GL_TEXTURE_EXTERNAL_OES` to Android platform
2020-04-27 10:18:31 -07:00
clayjohn
193b0bf1e3
Reset texture flags after radiance map generation
2020-04-11 16:10:34 -07:00
Yuri Roubinsky
ee93c85ef1
Fix shader constant sorting
2020-03-31 14:32:33 +03:00
fhuya
30d738eda7
Add support for opengl external textures as defined by https://www.khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt
2020-03-05 13:09:49 -08:00
Yuri Roubinsky
786b1cc7ff
Fix shader crash if using multiple underscores in identifier names
...
(cherry picked from commit 15358b808b
)
2020-02-06 13:02:07 +01:00
clayjohn
eb5cb5d016
Add project setting for max irradiance size
2020-01-25 13:27:13 -08:00
clayjohn
3631a3cc9e
Fix recently introduced crash in viewport size
2020-01-23 08:11:01 -08:00
Rémi Verschelde
37897dba80
Merge pull request #35406 from lawnjelly/ortho-shadow
...
Replace CameraMatrix::get_viewport_size with get_viewport_half_extents, shadow culling with ortho camera and other affected issues
2020-01-22 22:02:09 +01:00
lawnjelly
eaf8e5ce52
Change CameraMatrix::get_viewport_size to get_viewport_half_extents
...
Fixes #26637 .
Fixes #19900 .
The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2.
Code which called this function has also been modified accordingly.
This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width.
It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22 18:22:00 +00:00
Rémi Verschelde
00284a75e8
GLES3: Fix invalid value for GL_TEXTURE_MAG_FILTER parameter
...
`GL_LINEAR_MIPMAP_LINEAR` can be used for `GL_TEXTURE_MIN_FILTER`,
but not for `GL_TEXTURE_MAG_FILTER`.
Cf. https://www.khronos.org/opengl/wiki/GLAPI/glTexParameter
Fixes #35436 .
2020-01-22 15:18:56 +01:00
Rémi Verschelde
4faaf6089a
Remove unused #if 0'ed code
2020-01-21 21:41:54 +01:00
Rémi Verschelde
90a224c6eb
Merge pull request #35310 from akien-mga/gles3-irradiance-small-optimization
...
GLES3: Slight optimization to irradiance compute
2020-01-19 18:55:51 +01:00
Rémi Verschelde
dc4db4ab45
GLES3: Slight optimization to irradiance compute
...
All the calculations leading up to `mipLevel` are only relevant for
Panorama mode. Similarly, the `source_resolution` uniform is only
needed for that mode.
2020-01-19 11:03:11 +01:00
clayjohn
0979411cad
reduce complexity of irradiance map generation
2020-01-18 16:51:52 -08:00
clayjohn
041fa57a88
Add multimesh format max for proper error checking
2020-01-16 13:31:17 -08:00
clayjohn
f1d0c391c7
fix light related crashes
2020-01-15 21:40:05 -08:00
Rémi Verschelde
8130decfe4
Merge pull request #35064 from clayjohn/rendering_crashes
...
Fix light and multimesh crashes
2020-01-13 09:13:18 +01:00
clayjohn
179193775b
Fix light and multimesh crashes
2020-01-12 17:45:06 -08:00
clayjohn
796d35d8b3
Fix generation of irradiance map
2020-01-12 14:45:31 -08:00
Rémi Verschelde
815bf761a5
RasterizerCanvas: Use getornull to fetch light occluder polygon
...
Fixes #21286 when the occluder is not fully configured.
2020-01-08 11:29:15 +01:00
Hugo Locurcio
0cad2c0cd1
Add VisualServer methods to get the video adapter name and vendor
...
These methods can be used in scripts to retrieve the OpenGL
`GL_RENDERER` and `GL_VENDOR` strings (respectively).
This closes #28404 .
2020-01-06 00:37:56 +01:00
Rémi Verschelde
fa82664419
Merge pull request #34726 from nekomatata/polygon2d-antialiasing-fix
...
Fixed antialiasing option for Polygon2D with concave/hollow shapes
2020-01-03 14:17:05 +01:00
Rémi Verschelde
2d6586ec78
Merge pull request #34551 from MadEqua/fix-light-with-skeleton
...
Fix 2D lighting when using skeleton.
2020-01-03 08:32:29 +01:00
Tritium Oxide
bb6f04c9f5
Fix wrong return type
...
`ERROR: _display_error_with_code: CanvasShaderGLES3: Fragment Program Compilation Failed:
0:166(2): error: `return' with wrong type int, in function `map_ninepatch_axis' returning float` caused by #34704
2020-01-01 19:14:51 +07:00
Rémi Verschelde
e4907e50fe
GLES3: Fix false positive in ninepatch axis stretch code
...
See #34704 .
2020-01-01 11:49:58 +01:00
PouleyKetchoupp
1591677eb8
Fixed antialiasing option for Polygon2D
...
Some cases were not handled properly for Polygon2D after making changes in common code to fix Line2D antialiasing. Added an option for drawing polygons to differentiate the two use cases.
Fixes #34568
2020-01-01 11:40:14 +01:00
Rémi Verschelde
a7f49ac9a1
Update copyright statements to 2020
...
Happy new year to the wonderful Godot community!
We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.
Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde
a96c95f1ef
Merge pull request #34685 from winston-yallow/fix_omnilight_attenuation
...
Use correct omni light attenuation
2019-12-30 16:11:58 +01:00
Winston
c9fe11dec1
Use correct omni light attenuation
...
fixes godotengine/godot#34683
2019-12-29 17:22:34 +01:00
Bruno Lourenço
16429a4289
Reset GLES3 MultiMesh buffer id when reallocating.
2019-12-28 18:38:25 +00:00
Bruno Lourenço
65195f505f
Fix canvas GLES3 skeleton transform uniform updating.
2019-12-23 18:40:48 +00:00
Bruno Lourenço
f26c9d650b
Fix 2D lighting when using skeleton.
2019-12-23 00:00:18 +00:00
Rémi Verschelde
e21872f4b9
Merge pull request #34527 from MadEqua/fix-gles3-light-cutoff
...
Fix GLES3 light cutoff.
2019-12-21 23:40:15 +01:00
Bruno Lourenço
d47374385c
Fix GLES3 light cutoff.
2019-12-21 20:52:54 +00:00
Bruno Lourenço
d7f9d71be2
Fix contact shadow when light is outside of viewport.
2019-12-21 16:55:41 +00:00
Rémi Verschelde
371de5132c
Merge pull request #34251 from bojidar-bg/32993-lightoccluder-flip
...
Flip cull mode when rendering flipped Light2D and LightOccluder2D
2019-12-12 07:33:19 +01:00
Bojidar Marinov
eec7702711
Flip cull mode when rendering flipped Light2D and LightOccluder2D
...
Fixes #32993
2019-12-11 23:28:35 +02:00
clayjohn
676f647c74
Add a default POINT_SIZE
2019-12-10 23:08:20 -08:00
Rémi Verschelde
cd07a34598
GLES3: Properly unbind buffers after draw commands
...
Patch provided by @oeleo1.
Fixes #34120 .
2019-12-09 09:25:20 +01:00
Rémi Verschelde
745a8915fc
Properly orphan polygon index buffer after binding (take 2)
...
Follow-up to #34088 , patch by @oeleo1 from
https://github.com/godotengine/godot/issues/34065#issuecomment-561530896
2019-12-04 12:16:50 +01:00
clayjohn
b2dfbd77ec
properly orphan polygon index buffer after binding
2019-12-03 07:54:25 -08:00
Rémi Verschelde
10bae7c05b
Merge pull request #33857 from nekomatata/polygon-2d-antialiasing
...
Fixed antialiased option for Polygon2D
2019-12-03 07:51:16 +01:00
Rémi Verschelde
65e6efaa3b
Merge pull request #33836 from clayjohn/blinn-fix
...
Fix Specular Blinn function
2019-12-03 07:50:37 +01:00
Ricardo Maes
ebf2759a1c
Fix render target textures not allowing repeat flag
2019-11-29 18:40:22 -03:00
PouleyKetchoupp
299b85c46f
Disable shadow map sampling when shadows are not used in GLES3
...
Fixes #20742
2019-11-29 06:21:17 +01:00
PouleyKetchoupp
e6ebc43d72
Fixed antialiased option for Polygon2D / Line2D
...
Polygon2D:
The property wasn't used anymore after switching from canvas_item_add_polygon() to canvas_item_add_triangle_array() for drawing.
Line2D:
Added the same property as for Polygon2D & fixed smooth line drawing to use indices correctly.
Fixes #26823
2019-11-28 22:57:27 +01:00
clayjohn
192aacd5d7
Fix radiance map generation on mobile
2019-11-27 22:18:21 -08:00
clayjohn
334d41d7cc
Fix Specular Blinn function
2019-11-22 22:03:26 -08:00
clayjohn
203fb1b348
Fix GL error by properly using float uniform
2019-11-21 07:44:09 -08:00
clayjohn
4d6737ec73
Fix bugs introduced by IBL fixes
2019-11-20 22:54:44 -08:00
Rémi Verschelde
3be6e76f22
Merge pull request #33668 from clayjohn/Fix_environment_mapping_issues
...
Fix issues with environment mapping
2019-11-20 08:45:53 +01:00
clayjohn
cd40154890
Fix issues with environment mapping
2019-11-19 22:30:48 -08:00
Rémi Verschelde
6536105af2
Merge pull request #33527 from clayjohn/GLES2-bufferdata_optimization
...
Improve glBufferSubData usage where safe
2019-11-19 09:36:30 +01:00
clayjohn
1253a33423
Improve glBufferSubData usage where safe
2019-11-11 16:38:41 -08:00
Bastiaan Olij
4e2343160c
Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisation
2019-11-11 21:02:06 +11:00
Rémi Verschelde
47389c3a16
Partial revert of #32657 , undoing line shifting by 0.5
...
As discussed in #32657 , this can't be done here as lines can be used
with a canvas scale, and this breaks them.
A suggestion is to do the pixel shifting at matrix level instead.
Fixes #33393 .
Fixes #33421 .
2019-11-07 15:43:04 +01:00
Rémi Verschelde
63c5cd7eb8
Merge pull request #33104 from qarmin/fix_some_crashes
...
Fix some crashes and using null pointers
2019-10-28 08:37:59 +01:00
Rafał Mikrut
e53e1c566a
Fix some crashes and using null pointers
2019-10-28 08:07:29 +01:00
Rémi Verschelde
3eb8bd08ec
Merge pull request #32657 from ptrojahn/lines
...
Fix draw_rect
2019-10-26 23:09:24 +02:00
Rémi Verschelde
69003457b3
WebGL 2.0: Force decompressing non power-of-2 textures with repeat/mipmap
...
While OpenGL ES 3.0 and WebGL 2.0 both support non power-of-2 (NPOT)
textures in their specification, the situation seems to be less clear
about *compressed* NPOT textures using repeat or mipmap flags.
At least Chrome on Linux doesn't seem to support this combination,
and a variety of mobile hardware have similar limitations.
As a workaround, we force decompressing such textures when running on
WebGL 2.0, at the cost of loading time and memory usage.
Fixes #33058 .
2019-10-25 13:01:10 +02:00
clayjohn
071bf81750
only render depth with alpha prepass on prepass
2019-10-11 22:34:10 -07:00
Paul Trojahn
bdaedb601c
Fix draw_rect
...
OpenGL uses the diamond exit rule to rasterize lines. If we don't shift
the points down and to the right by 0.5, the line can sometimes miss a
pixel when it shouldn't. The final fragment of a line isn't drawn. By
drawing the lines clockwise, we can avoid a missing pixel in the rectangle.
See section 3.4.1 in the OpenGL 1.5 specification.
Fixes #32279
2019-10-11 10:26:53 +02:00
Rémi Verschelde
a39aeade5b
Merge pull request #32170 from puthre/ninepatch-fix
...
GLES2 & GLES3 Fixes ninepatch margins for high resolution textures.
2019-10-09 08:33:56 +02:00
Valentin Zagura
100d05cbec
GLES3 Fixes for ninepatch margins when patch size is smaller than the patch texture resolution
...
Scaled ninepatch margins in screen space to be relative of the ninepatch size when the patch size is smaller than the patch texture resolution.
2019-10-07 13:19:27 +01:00
Yuri Roubinsky
1472fca951
Removed unnecessary shader error log messages
2019-10-02 12:37:22 +03:00
Rémi Verschelde
823c3def72
Fix copyright headers and style issues
2019-09-24 11:52:06 +02:00
Rémi Verschelde
f1146c261d
Merge pull request #31751 from clayjohn/GLES3-Viewport-crash-canvas
...
Throw error when canvas background is used without sample buffer
2019-09-23 15:35:31 +02:00
Rémi Verschelde
159470df08
Merge pull request #32275 from godotengine/skin_support
...
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-23 15:02:15 +02:00
Rémi Verschelde
e23cb2c715
Merge pull request #32004 from raphael10241024/fix_shader_uniform
...
Fix gles3 shader uniform vec3 error
2019-09-19 20:09:04 +02:00
Rémi Verschelde
28265fb526
Merge pull request #31202 from azagaya/light-data
...
Create shadow_vec for altering shadow computation
2019-09-19 20:03:04 +02:00
Juan Linietsky
d81ddaf33e
Added skin support and simplified APIs to override bone position.
2019-09-18 19:46:32 -03:00
clayjohn
e65d2184b9
throw error when user tries to use Canvas background without sample buffer
2019-09-15 21:07:07 -07:00
Chaosus
1333ea2a2d
Implement shader array support for varyings
2019-09-14 18:23:25 +03:00
azagaya
b835868067
Create shadow_vec for altering shadow computation
...
In 2.1 and 3.0, light_vec could be modified for altering shadow_computations.
But it broke shadows when rotating light. shadow_vec would do the same, but without breaking
shadows in rotated lights if not used.
Add inverse light transformation to shadow vec, so it's not affected when rotating lights;
Added usage define for shadow vec.
For shadow vec working properly when rotating a light, it's needed to multiply it by light_matrix normalized. Added usage define in order to don't do that if shadow_vec not used.
2019-09-06 13:55:49 -03:00
RaphaelHunter
b8bb5e90ea
fix gles3 shader uniform vec3 error, close #30930
2019-09-06 14:06:20 +08:00
Holger Dammertz
aa3ef8893b
Removed clamping of the Linear tonemapping when KEEP_3D_LINEAR
...
Changed the behaviour of the Linear tonemapping operator to not clamp to [0, 1] range
in the case when KEEP_3D_LINEAR is defined. This allows to render values > 1.0 in
floating point texture targets (via Viewport) for further processing or saving high
dynamic range data into files. This only works when no color conversion is active.
2019-08-29 18:14:19 +02:00
Yuri Roubinski
982becfa39
Fix hint range step for integer in shaders
2019-08-25 15:11:04 +03:00
Yuri Roubinski
4dda253ee0
Implements switch to shaders
2019-08-23 14:43:09 +03:00
Rémi Verschelde
f21371d7f4
Merge pull request #31419 from NeoSpark314/fix_oculusquest_panorama
...
changed the constant scale of cube_normal to -1.0 instead of -1000000…
2019-08-20 13:39:26 +02:00
Yuri Roubinski
9abf5578ee
Fix ternary operator shader compiler expression
2019-08-19 08:40:54 +03:00
Holger Dammertz
8fb80788df
changed the constant scale of cube_normal to -1.0 instead of -1000000.0; this fixes a rendering issue on oculus quest and does not change the computation as the vector is normalized afterwards.
...
Adapted the comment above the code to reflect the change made as it already mentioned that z could be set to 1.
2019-08-17 14:01:55 +02:00
Braden Bodily
71d71d55b5
Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
...
Condensed some if and ERR statements. Added dots to end of error messages
Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Rémi Verschelde
afecc0bc22
Merge pull request #31309 from raphael10241024/fix_dof
...
DOF can effect transparent objects now,
2019-08-16 23:20:22 +02:00
Rémi Verschelde
6c607c3564
Merge pull request #31266 from IAmActuallyCthulhu/pr/remove-redundant-author-comments
...
Remove redundant author doc comments
2019-08-14 13:45:54 +02:00
Yuri Roubinski
a525e3c5ce
Implemented do/while loops for shaders
2019-08-13 18:39:55 +03:00
IAmActuallyCthulhu
82b9557803
Remove redundant author doc comments
2019-08-12 04:26:38 -05:00
RaphaelHunter
5ff4b13271
DOF can effect transparent objects now, close #28240
2019-08-12 15:49:02 +08:00
Rémi Verschelde
0e823cffbc
Merge pull request #31270 from nekomatata/fix-vertex-color-init-gles3
...
Fixed vertex color initialization with default value in GLES3
2019-08-12 09:28:40 +02:00
PouleyKetchoupp
e852b3a271
Fixed vertex color initialization with default value in gles3
...
Fixes #30275 , #31250
2019-08-11 17:51:47 +02:00
Rémi Verschelde
d2a67c9c1f
Merge pull request #30714 from Calinou/invert-default-fog-height
...
Invert and adjust the default fog height values
2019-08-08 17:20:32 +02:00
Hugo Locurcio
d1a35b5a97
Invert and adjust the default fog height values
...
This makes height fog appear at the bottom of the scene
(instead of the top), which is generally the expected result.
This also tweaks the fog height setting hint to be more flexible.
This closes #30709 .
2019-08-07 18:21:44 +02:00
Rémi Verschelde
7b514d920d
Merge pull request #31099 from Chaosus/shader_local_const
...
Implemented local shader constants
2019-08-07 15:14:35 +02:00
qarmin
e0b5b21863
Add some code changes/fixes proposed by Coverity and Clang Tidy
2019-08-07 12:54:30 +02:00
Yuri Roubinski
b24b3497d6
Implemented local shader constants
2019-08-05 10:35:53 +03:00
Rémi Verschelde
51b2d86685
Merge pull request #30977 from clayjohn/GLES3-screen-uv
...
Properly pass SCREEN_PIXEL_SIZE to canvas light shader
2019-07-31 07:45:41 +02:00
clayjohn
518f0fb190
properly pass SCREEN_PIEXEL_SIZE to canvas light shader
2019-07-30 13:45:11 -07:00
Rémi Verschelde
639127de09
Merge pull request #30898 from clayjohn/max-lights-reflections
...
Add project setting for max lights and reflections in GLES3
2019-07-29 16:01:53 +02:00
clayjohn
1a981ef268
add project setting for max lights and reflections in gles3
2019-07-28 17:54:25 -07:00
RaphaelHunter
47df933c27
update algorithm about paking float to vec4 to fix shadow shift and change rgba_shdow options
2019-07-28 11:43:01 +08:00
Rémi Verschelde
0381ff35aa
Merge pull request #30764 from clayjohn/contact-shadow
...
Fix contact shadows appearing when shading casting is off
2019-07-23 07:02:38 +02:00
clayjohn
b1839e5e85
fix contact shadows appearing when shading casting is off
2019-07-22 15:03:51 -07:00
Hugo Locurcio
b1e382178c
Disable high-quality voxel cone tracing by default
...
This makes GIProbe significantly faster out of the box, at the cost
of worse-looking GIProbe reflections.
This closes #30727 .
2019-07-21 17:39:03 +02:00
Rémi Verschelde
d15cf7b672
Merge pull request #30576 from qarmin/lgtm_coverage
...
Changed some code reported by LGTM and Coverity
2019-07-20 12:00:13 +02:00
qarmin
6cbaf7662f
Changed some code showed in LGTM and Coverage
2019-07-20 08:09:57 +02:00
Chaosus
9379cbc774
Added local array initializer
2019-07-16 07:13:37 +03:00
Chaosus
c37379456f
Implemented local shader arrays
2019-07-15 15:57:39 +03:00
szamq
d5cb280313
Fix get_data layer argument when texture is TEXTURE_TYPE_2D_ARRAY
2019-07-10 14:16:28 +02:00
Rémi Verschelde
af80182016
Merge pull request #30407 from qarmin/small_fixess
...
Fixes minor issues found by static analyzer
2019-07-08 08:16:50 +02:00
qarmin
9a77d748c0
Fixes minor issues found by static analyzer
2019-07-07 23:08:51 +02:00
Ibrahn Sahir
4e4697b1c4
Added release function to PoolVector::Access.
...
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Bojidar Marinov
f7dad789e9
Fix various memory leaks and errors
2019-07-02 17:23:54 +03:00
Rémi Verschelde
6b30f284a0
Merge pull request #29980 from Dentrax/directed-by-qarmin
...
Fix some editor crashes
2019-07-01 14:59:29 +02:00
Furkan Türkal
7d8d337b2c
fix some crashes
2019-07-01 14:28:29 +03:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
...
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
qarmin
4e5310cc60
Some code changed with Clang-Tidy
2019-06-26 15:08:25 +02:00
Rémi Verschelde
25022a1d89
Merge pull request #29974 from clayjohn/particles_restart
...
Properly set emitting when particles restart
2019-06-24 13:48:56 +02:00
clayjohn
64ecc8a5a3
properly set emitting when particles restart
2019-06-21 22:33:11 -07:00
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
...
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e
Fix always true/false values
2019-06-20 16:59:48 +02:00
Bastiaan Olij
4ebedb5f11
Made constants fully upper case in camera server
2019-06-19 22:24:54 +10:00
Rémi Verschelde
6ba1b4e371
Merge pull request #29764 from Calinou/boot-splash-no-filter-option
...
Add an option to disable boot splash filtering
2019-06-16 10:39:53 +02:00
Hugo Locurcio
786a7341a7
Add an option to disable boot splash filtering
...
Disabling filtering is usually desired in projects using a pixel art style.
This closes #19415 .
2019-06-15 23:53:39 +02:00
BastiaanOlij
02ea99129e
Adding a new Camera Server implementation to Godot.
...
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server.
Other parts of Godot can interact with this to obtain images from the camera as textures.
This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-06-15 21:30:32 +10:00
Rémi Verschelde
ae6e562bd8
Merge pull request #29628 from qarmin/fix_invalid_write_mesh
...
Fix write outside array in mesh_add_surface
2019-06-13 10:01:20 +02:00
Rémi Verschelde
c8db517993
Merge pull request #29316 from Chaosus/shader_const
...
Added constant support to shaders
2019-06-12 14:26:45 +02:00
Rémi Verschelde
971b5160c6
Merge pull request #29306 from qarmin/small_code_fixes
...
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-12 12:49:21 +02:00
Rémi Verschelde
6d16f2f053
Fix error macro calls not ending with semicolon
...
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
qarmin
99ba021404
Fix invalid crash in mesh_add_surface
2019-06-09 14:49:59 +02:00
qarmin
8245db869f
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-03 21:52:50 +02:00
clayjohn
2b8b1d7c46
added MultiMeshInstance2D node for using MultiMesh in 2D
2019-06-03 12:11:54 -07:00
Chaosus
c2d4abf62e
Added constant support to shaders
...
Co-authored-by: DavidSichma <sichmada@gmail.com>
2019-06-01 13:41:07 +03:00
Rémi Verschelde
c34636cbc4
Merge pull request #24943 from aqnuep/issue-18201
...
Mute errors on surface->index_array_len == 0 in the GLES3 renderer
2019-06-01 12:12:09 +02:00
Rémi Verschelde
603bb98340
Merge pull request #29188 from Calinou/improve-ssao-performance-quality
...
Improve SSAO performance and quality
2019-05-30 14:27:25 +02:00
qarmin
66a36ba474
Fix some unincialised variables
2019-05-28 19:12:19 +02:00
Hugo Locurcio
eb0cced3c0
Improve SSAO performance and quality
...
This decreases the number of samples significantly, leading to a
notable performance increase with only a very slight loss in
visual quality.
This also tweaks the default SSAO settings to use 3×3 blurring,
which makes noise patterns much less visible.
2019-05-26 12:01:01 +02:00
clayjohn
4c55a909ad
fix radiance map settings
2019-05-25 18:57:32 -07:00
Rémi Verschelde
da617b7943
Merge pull request #29132 from clayjohn/sort_depth_fix
...
Fix "no depth test" and render_priority sorting
2019-05-24 17:46:06 +02:00
Rémi Verschelde
01c41c782b
Merge pull request #28796 from clayjohn/GLES2-optimization
...
GLES2: Allow Viewports to render directly to screen
2019-05-24 17:31:44 +02:00
clayjohn
2abe7deae8
fix no depth test and render_priority sorting
2019-05-23 09:21:57 -07:00
Rémi Verschelde
2b1c3878f9
Merge pull request #29031 from BastiaanOlij/alpha_shadow
...
Implement shadow to opacity
2019-05-23 13:37:54 +02:00
Bastiaan Olij
3ea778e66e
Implement shadow to opacity
2019-05-21 20:07:46 +10:00
clayjohn
cc2d862733
Scale environment lighting correctly in GLES3
2019-05-19 17:59:23 -07:00
clayjohn
55d11330b0
fix lighting bug introduced in clear color changes
2019-05-14 15:04:54 -07:00
Rémi Verschelde
aa3c5f59f2
Merge pull request #27898 from clayjohn/metallic_radiance
...
Added radiance when using clear color
2019-05-14 07:32:01 +02:00
clayjohn
65c211d303
Implement ability to render viewports directly to screen
2019-05-13 15:20:15 -07:00
clayjohn
5c252092e1
added radiance when using clear color and fixed brdf
2019-05-13 12:26:54 -07:00
Daniel Rakos
e34eb5c26c
Fix texture resource reload bug
...
If a non-imported texture resource file (e.g. DDS) gets updated the editor
doesn't reload it. The cause of the problem is two-fold:
First, the code of ImageTexture assumes that textures are always imported
from an image, but that's not the case for e.g. DDS. This change thus adds
code to issue a resource reload in case an image reload is not possible
(which is the case for non-imported texture resources).
Second, the code is filled with bogus calls to Image::get_image_data_size()
to determine the mipmap offset when that should be done using
Image::get_image_mipmap_offset(). Previous code literally passed the integer
mip level value to Image::get_image_data_size() where that actually expects
a boolean. Thus this part of the change might actually solve some other
issues as well.
To be pedantic, the texture_get_data() funciton of the rasterizer drivers is
still quite a mess, as it only ever returns the whole mipchain when
GLES_OVER_GL is set (practically only on desktop builds) but this change does
not attempt to resolve that.
2019-05-08 17:22:40 +02:00
Rémi Verschelde
dd2cd06165
Merge pull request #25670 from aqnuep/bake_mode_affect_gi_prove
...
Disable GI probe capturing lights with bake mode disabled
2019-04-30 18:33:34 +02:00
Daniel Rakos
de33ef2d1b
Disable GI probe capturing lights with bake mode disabled
...
The bake mode property of lights previously didn't affect GI probes.
This change makes the GI probe ignore lights that have their bake mode
set to disabled.
2019-04-23 11:36:36 +02:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
...
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Juan Linietsky
04847ef5f9
Added ability for multiple images to be imported as an atlas
...
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Rémi Verschelde
dab8f8c953
Merge pull request #27967 from clayjohn/fix-mip-bug
...
Fixed bug in computing mip maps from screen texture
2019-04-15 13:05:50 +02:00
clayjohn
670c1b10b2
fixed bug in mip map sigma
2019-04-12 17:48:38 -07:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
qarmin
856a8226a5
Small fixes, mostly dupicated code
2019-04-08 11:03:37 +02:00
Rémi Verschelde
b60754ab40
Merge pull request #26839 from toasteater/fix/keep-linear
...
Respect keep_3d_linear when transparent_bg is on.
2019-04-08 10:58:59 +02:00
Rémi Verschelde
c562a7d149
Merge pull request #27067 from shartte/remove-context-gl
...
Remove ContextGL
2019-04-07 12:38:55 +02:00
Rémi Verschelde
4942e96897
Merge pull request #27527 from BastiaanOlij/render_ext_target
...
Add option to have viewport render into supplied texture (VR)
2019-04-07 11:11:50 +02:00
Rémi Verschelde
b182e038e7
GLES3: Fix regression in particles buffer initialization
...
Bug introduced in #26343 where `(float *)` was mistakenly converted
to `(uint8_t *)`, so we were getting `2` instead of `8`.
Fixes #27705 .
2019-04-06 21:01:51 +02:00
Sebastian Hartte
3a8c6db513
Remove ContextGL since as an abstraction it's unused.
2019-04-06 17:52:52 +02:00
Bastiaan Olij
8349d4fbd9
Add option to have viewport render into supplied texture
2019-04-06 08:24:58 +11:00
K. S. Ernest (iFire) Lee
e3ef7f214a
Add Open Asset Import Library to Godot.
...
FBX support and MMD (pmx) support.
Normals, Albedo, Metallic, and Roughness through Arnold 5 Materials for Maya FBX.
Maya FBX Stingray PBS support.
Importing FBX static meshes work.
Importing FBX animations is a work in progress.
Supports FBX 4 bone influence animations.
Supports FBX blend shapes.
MMDs do not have an associated animation import yet.
Sponsored by IMVU Inc.
2019-04-05 07:17:52 -07:00
toasteater
7cbfce7a8c
Respect keep_3d_linear when transparent_bg is on.
...
When transparent_bg is on, or the render target is too small,
Godot would skip postprocessing and disregard keep_3d_linear.
This fixes #26817 .
2019-04-05 20:42:59 +08:00
marxin
e7f22ebdcd
Enable warnings=extra on clang and GCC testers.
...
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
Daniel Rakos
849596c40c
Fixed handling of depth texture so it's resolved and bound when needed
...
- Cleaned up and improved the code determining when we need to use a depth
prepass (previously it wasn't executed in certain cases even if it was
needed)
- Added code to prepare and bind the depth texture even when no depth prepass
or MRTs (more precisely effect buffers) are used
Fixes #25870 , #25535 , and #25387 .
2019-03-26 17:48:22 +01:00
Juan Linietsky
0eb61c3106
Undo #25557 (was not right anyway), fixes #26258
2019-03-11 14:58:51 -03:00
samHFIT
fbaee40b1d
Added default color to mesh render
2019-03-08 18:26:58 +01:00
Juan Linietsky
6cb841edcb
Ensure ETC2 textures are ALSO compressed to Po2 when have mipmaps. Fixes #26733
2019-03-07 12:16:20 -03:00
Juan Linietsky
53bec9deeb
Fix and restore text, material and mesh previewers.
2019-03-04 15:53:18 -03:00
Rémi Verschelde
b753223ac2
Merge pull request #26567 from clayjohn/pixel_snap_artifact
...
Fixed pixel snap precision artifact
2019-03-04 16:58:08 +01:00
clayjohn
b804c491b7
fixed pixel snap precision artifact
2019-03-04 07:18:02 -08:00
Rémi Verschelde
453d239a69
Merge pull request #26532 from aqnuep/texture_array_fixes
...
Fixed TextureArray and Texture3D issues
2019-03-04 15:09:11 +01:00
Juan Linietsky
4d875f115c
Also take dof blur in consideration for using MRTs, fixes #26236
2019-03-03 16:28:07 -03:00
Juan Linietsky
34dd772054
Properly redraw if something animated is visible
2019-03-03 13:43:54 -03:00
Daniel Rakos
582f62c2b2
Fixed TextureArray and Texture3D issues
...
- Texture arrays and 3D textures weren't working previously due to an
incorrect number of calls to glTexImage3D with incorrect level parameters.
This change fixes that.
- Fixed the incorrect calculation of the byte size of layered textures.
- Added the layer count to the debugger info when viewing video memory usage.
2019-03-03 16:40:48 +01:00
Juan Linietsky
2f32a75d2e
Skeletons can now choose between using local or world coords for processing, fixes #26468
2019-03-03 12:24:00 -03:00
Juan Linietsky
3f681b0681
Clean up blend shape support in GLES2 and GLES3.
2019-03-01 16:01:44 -03:00
Juan Linietsky
5efd693384
Massive improvement to GLES2 performance, rewrote most ShaderGLES2 class.
...
This fixes #26337
2019-02-27 23:49:34 -03:00
marxin
7f289304af
Fix #26100 by casting to integer.
2019-02-26 19:29:08 +01:00
Juan Linietsky
a32b26dfa2
Several fixes to make GLES2 on HTML5 work much better.
...
Changed math class error reporting to be a bit less paranoid.
2019-02-25 21:47:29 -03:00
Hein-Pieter van Braam
a83e77fded
Explicitly use floating point numbers in the our shaders
...
We need to be explicit about using floating point numbers in our shaders
for compatibility with mobile GLES drivers.
2019-02-24 23:35:10 +00:00
Juan Linietsky
16e67388a2
Properly update materials when adding surface, fixes #23790
2019-02-22 16:27:00 -03:00
Juan Linietsky
aef5b36bfa
Ensure that no depth test is used (specially in prepass) for objects that dont test or draw depth, fixes #25201
2019-02-22 14:48:10 -03:00
Juan Linietsky
95e34967d8
Fix precision issue with skeletons, closes #26057 , closes #26062
2019-02-22 13:27:19 -03:00
Rémi Verschelde
a01dca79e2
Merge pull request #26125 from JFonS/revert_light_vec_shadows
...
Revert back to ignoring LIGHT_VEC for 2D shadows
2019-02-21 18:49:14 +01:00
Juan Linietsky
8fd2eb6234
Many fixes regarding depth buffer clearing, closes #25994 , closes #25975
2019-02-21 12:31:41 -03:00
JFonS
32e7641667
Revert back to ignoring LIGHT_VEC for 2D shadows
2019-02-21 12:16:10 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Juan Linietsky
be9b938398
Fix skeleton not being updated in shader, closes #25911
2019-02-16 19:39:35 -03:00
Juan Linietsky
d6a88bbc30
Remove all references to stencil, fixes problems on iOS.
2019-02-13 07:58:52 -03:00
Juan Linietsky
4f72ff4f1c
On mobile, check for float and half float frameuffers supported, fixes #25324 , fixes #25325 .
2019-02-13 07:14:36 -03:00
Rémi Verschelde
5fc86026ca
Fix typos with codespell
...
Using codespell 1.14.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Juan Linietsky
4af8009b9d
Fix fog in GLES2 by using epic hack, closes #25410
2019-02-12 14:35:16 -03:00