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
4faaf6089a
Remove unused #if 0'ed code
2020-01-21 21:41:54 +01:00
Rémi Verschelde
3af0400a32
Merge pull request #35176 from clayjohn/csg-crash
...
Fix light related crashes
2020-01-16 08:03:56 +01:00
clayjohn
f1d0c391c7
fix light related crashes
2020-01-15 21:40:05 -08:00
clayjohn
a345088433
Add background mode keep to GLES2
2020-01-15 15:59:00 -08: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
clayjohn
2a694a44cb
fix shadow color in GLES2 by making sRGB
2019-12-15 10:27:31 -08:00
PouleyKetchoupp
f5e81b894a
Removed duplicated conditional in GLES2
2019-11-29 06:32:55 +01: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
14b06fc207
Fix negative light flickering
2019-11-17 22:18:54 -08:00
clayjohn
1253a33423
Improve glBufferSubData usage where safe
2019-11-11 16:38:41 -08:00
Bastiaan Olij
add5eaca43
Make MSAA work with external texture
2019-11-08 23:27:48 +11:00
clayjohn
6ec7686a0c
Fix shadow mapping with RGBA textures on html
2019-10-26 10:17:22 -07:00
Rémi Verschelde
234289de2b
Merge pull request #32613 from clayjohn/GLES2-canvas-bg-mode
...
Add canvas background mode to GLES2
2019-10-07 08:57:44 +02:00
clayjohn
77939c6e2e
add canvas background mode to GLES2
2019-10-06 23:26:11 -07:00
clayjohn
cea1f13176
fix current issues with post-processing
2019-10-06 12:07:31 -07:00
clayjohn
07fd9719bf
Fix reflection probe crash in GLES2 with post-processing
2019-10-02 14:35:10 -07:00
clayjohn
82f63633d1
Implement DOF blur, Glow, and BCS in GLES2
2019-09-30 08:04:31 -07: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
lawnjelly
f5365aa0e1
Fix GLES2 skinning where VERTEX_TEXTURE not supported
...
Although the backup USE_SKELETON_SOFTWARE skinning path is currently used when float texture is not supported, the default skinning path still fails when float texture is supported but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0, i.e. the device cannot read from texture during vertex shader. This PR adds the logic to activate the SKELETON_SOFTWARE path if either of these cases occur, preventing crashes on devices which have this combination of features.
2019-09-22 15:38:20 +01:00
Juan Linietsky
d81ddaf33e
Added skin support and simplified APIs to override bone position.
2019-09-18 19:46:32 -03: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
clayjohn
96c3004855
allow omnilights and spotlights to use negative in GLES2
2019-07-30 23:44:22 -07:00
clayjohn
150487e728
fix gles2 shadow transparency bug
2019-07-21 23:52:19 -07: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
SonerSound
545bf86d39
Fix inconsistent lighting in GLES2
...
Issue was possibily being caused by duplicating a light even when that
light was not in the render_light_instances array.
2019-07-14 19:12:26 +01:00
Bastiaan Olij
4ebedb5f11
Made constants fully upper case in camera server
2019-06-19 22:24:54 +10: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
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
clayjohn
9af94d650f
use def ANDROID_ENABLED so android features are not included in javascript builds
2019-06-04 23:12:20 -07:00
qarmin
8245db869f
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-03 21:52:50 +02:00
Rémi Verschelde
bac7e22cb1
Merge pull request #29236 from clayjohn/gles2-mirror
...
Separate culling state management from material state in GLES2
2019-05-30 15:01:50 +02:00
Rémi Verschelde
c2e2bcbca9
Fix -Werror=maybe-uninitialized in GLES2 on release builds
...
Issue introduced in #28796 .
2019-05-29 16:40:06 +02:00
clayjohn
2b59bd7695
separate culling state management from material
2019-05-27 11:45:53 -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
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02: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
Rémi Verschelde
e0517a12c5
Merge pull request #28518 from clayjohn/GLES2-MSAA
...
Added MSAA to GLES2 backend
2019-05-13 17:46:11 +02:00
clayjohn
a3d5aec68d
added MSAA to GLES backend
2019-05-02 14:24:20 -07:00
clayjohn
7ae3809f4b
Fixed GLES2 transparency order
2019-04-29 12:22:41 -07: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
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
Bastiaan Olij
8349d4fbd9
Add option to have viewport render into supplied texture
2019-04-06 08:24:58 +11:00
Rémi Verschelde
cffbb99327
Merge pull request #27411 from KidRigger/raster_store
...
Added GLES2 RenderStorage Info calculations.
2019-04-05 15:22:22 +02: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
Anish Bhobe
4839b17f93
Added GLES2 RenderStorage Info calculations.
...
Proper counting code has been added to update info struct.
Extra: Added the render_info_capture calculations.
Fixes : #27273
2019-03-25 23:08:23 +05:30
Juan Linietsky
7141c73ae8
Use glCopyTexSubImage2D instead of glCopyTexImage2D, should be safer and faster.
...
May be a solution to #26500
2019-03-07 00:14:13 -03:00
Juan Linietsky
34dd772054
Properly redraw if something animated is visible
2019-03-03 13:43:54 -03: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
7bad1706c2
-Fix prepass state not being reset, closes #26348
...
-Send zero values for shader if no default exists
2019-03-01 19:28:24 -03:00
Juan Linietsky
8799f69b2c
Strive for maximum compatibility in GLES2 regarding depth buffers.
2019-03-01 11:21:21 -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
Juan Linietsky
057d3e874d
Detect for 24 bits oes support on GLES2, closes #26344
2019-02-27 18:57:33 -03:00
Rémi Verschelde
426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
...
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01:00
Rémi Verschelde
0ba75c195e
Fix GCC 5 build after #26331 and cleanup style
...
Also cleanup after 01a3dd3
.
2019-02-27 09:01:24 +01:00
marxin
e5f665c718
Fix -Wsign-compare warnings.
...
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +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
Juan Linietsky
aab8f443f9
-Support DEPTH_TEXTURE in GLES2, fixes #25106
...
-Fix use of transparent framebuffers in GLES2
-Fix use of ambient color clearing in GLES2 when no environment exists.
2019-02-22 11:35:39 -03:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Rémi Verschelde
19f79d04fb
Merge pull request #26005 from clayjohn/gles2_shadow_color
...
Added shadow_color property to gles2
2019-02-18 13:48:17 +01:00
clayjohn
9b0326d2f3
added shadow_color property to gles2
2019-02-17 23:57:57 -08: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
9430e68cf3
Support SCREEN_TEXTURE in GLES2, fixes #25405
2019-02-12 18:49:57 -03:00
Juan Linietsky
b8319e7c60
Ability to vflip viewports in GLES2, fixes #24555
...
Also culling was reversed somehow.
2019-02-12 15:56:39 -03:00
Rémi Verschelde
6e43bd4e85
Merge pull request #25623 from clayjohn/multimesh_color_bug
...
[GLES2] Initialize color buffer to white in gles2 multimesh
2019-02-12 11:31:45 +01:00
Juan Linietsky
7713ec8637
Merge pull request #25134 from staddy/master
...
Check for null pointer in RasterizerSceneGLES2::render_shadow
2019-02-12 07:04:12 -03:00
clayjohn
f752aaf970
initialize color buffer to white in gles2 multimesh
2019-02-04 20:08:35 -08:00
Juan Linietsky
2e5ede7a4e
Properly discard fragments during depth prepass opaque pass, fixes #23321
2019-01-27 20:20:07 -03:00
Juan Linietsky
5b5db08a51
Fix depth prepass in GLES2, closes #23321
2019-01-25 09:41:25 -03:00
Juan Linietsky
fb7c526ec4
Fix crash with cube shadows in gles2, closes #22635
2019-01-24 17:51:49 -03:00
Juan Linietsky
4333a68ca0
Do not use shadow cubemaps if depth write is not supported to avoid errors, closes #25219
2019-01-22 11:07:26 -03:00
Juan Linietsky
46af4b0a4b
Changes to GLES2 renderer to not use cube shadows if not available, fixes #25132
2019-01-22 10:05:23 -03:00
santouits
3c1cd2873b
WebGL1 some changes
...
glRenderBufferStorage doesn't accept the _DEPTH_COMPONENT24_OES so I changed it to GL_DEPTH_COMPONENT16
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/renderbufferStorage
https://www.khronos.org/registry/webgl/extensions/rejected/OES_depth24/
Enabled ext_shader_texture_lod extension. I guess it does the same like the GL_ARB_shader_texture_lod extension, but in WebGL1
https://www.khronos.org/registry/webgl/extensions/EXT_shader_texture_lod/
And last WebGL1 doesn't allow indexes not constant, so I changed it into a loop reading this:
https://stackoverflow.com/questions/19529690/index-expression-must-be-constant-webgl-glsl-error
2019-01-22 13:40:28 +02:00
Stanislav
dc7d9f8868
Check for null pointer in RasterizerSceneGLES2::render_shadow
...
Fixes #25131
2019-01-19 16:48:43 +03:00
Juan Linietsky
ffcb5cd18c
Ensure texture hints are obeyed, fixes #24875
2019-01-16 00:37:00 -03:00
Juan Linietsky
a3a537c2cf
Fix background color rendering on GLES2 (linear should not be used)
2019-01-07 10:52:24 -03:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Bastiaan Olij
f3dd3c0830
Adding option to re-orient our sky
2018-12-15 19:41:34 +11:00
muiroc
2827ee77d0
gles2 implemented VIEWPORT_SIZE builtin for spatial shader
2018-12-11 18:11:07 +01:00
Rémi Verschelde
c7dd58a4d5
Merge pull request #23981 from khairul169/fix_gles2_clearcolor
...
GLES2: Set clear color based on env background mode when rendering scene and fix viewport transparent bg flag
2018-11-28 15:10:28 +01:00
Juan Linietsky
af8d941c55
Added luminance capping to avoid glitches on small dots. closes #17996
2018-11-28 01:22:20 -03:00
khairul169
797bcfd44d
GLES2: clear color on scene render
2018-11-27 01:47:34 +07:00
Wilson E. Alvarez
f8e0051420
Removed unnecessary assignments
2018-11-17 20:40:55 -05:00
Juan Linietsky
e77afb8507
Ensure environment radiance is not used on refprobe interiors, fixes #17868
2018-11-16 11:46:21 -03:00
Juan Linietsky
bb9127a78b
Removed unnecesary normal multiplication (only culling was really needed), fixes #17776
2018-11-16 10:52:31 -03:00
Juan Linietsky
55f5f4757e
Merge pull request #23248 from dlasalle/fog
...
Add parameters for fog end depth and use alpha as density.
2018-11-14 10:24:55 -03:00
Dominique LaSalle
6eae6247e4
Add parameter for fog max depth and use alpha as density.
2018-11-13 17:19:11 -08:00
Ibrahn Sahir
352b3c9c93
Cleaning up some uninitialised variables in GLES2 stuff.
...
Initialise keep_original_textures and use_fast_texture_filter in storage
config. Removed any other variables from storage config that were both unused
and uninitialised to avoid future confusion (if they're needed it's
easier to spot an uninitialised variable problem in a PR that adds the
variable again rather than just uses it).
Copied storage Texture struct constructor from GLES3 implementation
(except where variables were already initialised with different values).
Gives us sensible tested defaults for previously uninitialised vars.
Added assignments for state.current_main_tex based on same in GLES3.
2018-11-02 14:09:32 +00:00
Rémi Verschelde
1169196f04
Merge pull request #22779 from Superwaitsum/LimitSettings
...
Limit several project settings
2018-10-25 11:38:06 +02:00
Superwaitsum
e5041ad0f5
Add some limits on the Editor Settings
2018-10-24 19:46:33 -05:00
Bastiaan Olij
ef06079ad1
Fixed stereoscopic (VR) sky in GLES2
2018-10-21 11:36:01 +11:00
Juan Linietsky
286b70839e
vertex lit optimization for fog.
2018-10-02 19:08:33 -03:00
Juan Linietsky
11f088279d
Implemented FOG support in GLES2.
2018-10-02 18:53:16 -03:00
Juan Linietsky
bad991ea83
Many more fixes for GLES2 mobile export. Also added ability to turn on OpenGL debugging on Android export.
2018-10-02 10:00:15 -03:00