Commit Graph

195 Commits

Author SHA1 Message Date
Hein-Pieter van Braam 364f2e8082 Correct hash behavior for floating point numbers
This backports the work in #7815 and the subsequent fixes in #8393

The following program now works as expected in this branch in both
release_debug and debug mode:

```gdscript
        print(sqrt(-1))
        print(sqrt(-1))

        var simple1=asin(10.0)
        var simple2=acos(10.0)
        print(simple1)
        print(simple2)
```

And successfully prints -nan 4 times

This fixes #9580 and fixes #8925
2017-08-20 23:44:28 +02:00
Marcelo Fernandez 647c4ae5bf Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-18 12:10:21 -03:00
Rémi Verschelde 938dc07b2b Merge pull request #7912 from RandomShaper/pause-rasterizer-2.1
Implement time scaling for the rasterizer (2.1)
2017-08-17 11:43:58 +02:00
Marcelo Fernandez 45096ee62c Add missing NULL checks to prevent possible crashes on _add_geometry 2017-08-06 10:37:37 -03:00
Poommetee Ketson 4a0dc529ce BuildSystem: generated files have .gen.ext 2017-06-25 20:31:56 +07:00
Rémi Verschelde 734045667d Merge pull request #9100 from RandomShaper/optimize-2d-lighting-2.1
Add optimizing AT_LIGHT_PASS builtin to canvas shaders (2.1)
2017-06-15 15:12:43 +02:00
Rémi Verschelde 8536d21931 Merge pull request #9101 from RandomShaper/filtered-texscreen-2.1
Add option for filtered texscreen (2.1)
2017-06-15 13:35:33 +02:00
Pedro J. Estébanez 184ef18420 Add optimizing 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.
You can use `if (AT_LIGHT_PASS) , negated or not, and that will be converted to a preprocessed #if when the shader is compiled.
Depending on your game (number of items and lights), this can be a *significant* performance gain, or at least avoids relying on the driver's optimizing abilities.
2017-06-15 02:03:25 +02:00
Pedro J. Estébanez 8e4c60756a Add option for filtered texscreen 2017-06-08 20:19:04 +02:00
George Marques c51f54749f
Fix drivers coding for WinRT
- Add a proper function to retrieve IP addresses.
- Solve issues with Windows FileAccess and DirAccess to use the same code
  for WinRT.
- Add patches to the GLES2 rasterizer to workaround ANGLE issues.
2017-06-07 11:36:00 -03:00
Rémi Verschelde e9b045d9e5 Add "Godot Engine contributors" copyright line 2017-04-08 00:45:24 +02:00
elasota 5d691350c4 Fixed "unshaded" flag not being updated if light_type and receive_shadows_state didn't change. 2017-03-24 20:27:06 -04:00
Pedro J. Estébanez b4119f4fe9 Implement time scaling for the rasterizer
which affects 3D particles and the TIME uniform
2017-03-20 19:58:22 +01:00
Rémi Verschelde f8db8a3faa Bring that Whole New World to the Old Continent too
Applies the clang-format style to the 2.1 branch as done for master in
5dbf1809c6.
2017-03-19 00:36:26 +01:00
Rémi Verschelde 16b78da941 Style: Various fixes to play nice with clang-format
(cherry picked from commit 2a0ddc1e89)
2017-03-18 23:13:47 +01:00
Rémi Verschelde dbf0137576 Style: Fix statements ending with ';;'
(cherry picked from commit f44ee891be)
2017-03-18 21:14:33 +01:00
Pedro J. Estébanez 1e79f80b90 Finish fix for POSITION in 2D shaders 2017-03-06 18:31:29 +01:00
saltpowered 6a62831195 fix for https://github.com/godotengine/godot/issues/3226 2017-01-17 01:05:58 -06:00
Rémi Verschelde d8223ffa75 Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!

(cherry picked from commit c7bc44d5ad)
2017-01-12 19:15:30 +01:00
Pedro J. Estébanez 8589a1b117 Fix uniforms with the same name shadowing others
Follow-up of #7344
2017-01-10 17:05:31 +01:00
Pedro J. Estébanez 490f51a202 Fix error when fragment and lighting code share an uniform 2016-12-21 02:24:47 +01:00
Rémi Verschelde eaf803f71e style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-02 22:30:34 +01:00
Rémi Verschelde 561c1f17a1 style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-02 22:26:55 +01:00
Rémi Verschelde 5a49e45d21 SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.

(cherry picked from commit fc8ccd5b8c)
2016-10-30 14:51:34 +01:00
Rémi Verschelde aa1367595e drivers: Refactor SCsub and drop redundant env_drivers clone
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.

Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.

(cherry picked from commit 248bc9159c)
2016-10-30 14:51:34 +01:00
mookiexl f63b338e0f Limit directional shadow draw distance, fixes #559, optimization (#1991)
* Shadow fadeout exponent hardcoded for now, should be user configurable.
* optimization - skip shadows outside visible range
(cherry picked from commit 0b12ebba11)
2016-10-09 17:33:20 +02:00
Błażej Szczygieł a827734e03 Don't crash in "_process_hdr()" if "framebuffer.luminance" is empty
If "glFramebufferTexture2D()" fails on old drivers the Vector is empty.
Don't allow to read from empty Vector (NULL pointer).

(cherry picked from commit 7b8fe97888)
2016-10-09 17:22:01 +02:00
Błażej Szczygieł f4f5855168 Don't crach when OpenGL version is unsupported
(cherry picked from commit ca3b8deb78)
2016-10-09 17:21:48 +02:00
Błażej Szczygieł f4da1e9ed2 Add compatibility with old OpenGL 2.1 drivers
If ARB_framebuffer_object is not supported, try to fall-back to
EXT_framebuffer_object if present.

In current version of godot, the way framebuffers are used is backward
compatible with the older EXT_framebuffer_object extension.

Fixes #6591
Done with SuperUserNameMan

(cherry picked from commit a27fafb273)
2016-10-09 17:21:41 +02:00
knd b9399e93ad removed redundant assign operation in mesh_add_surface: elem_count is reassigned a value before the old one has been used.
(cherry picked from commit 708a028ce8)
2016-10-09 17:20:20 +02:00
Pedro J. Estébanez c44757c2b7 Expose light shadow color to canvas item shaders
(cherry picked from commit 0960887625)
2016-09-18 23:11:08 +02:00
Pedro J. Estébanez ffe5ecd67d Rename misleading define
The macro USE_LIGHT_SHADOW_COLOR actually was being defined when the shader used SHADOW (the output shadow color), not the shadow color set for the light so it's better named USE_OUTPUT_SHADOW_COLOR. In 3D there's not that difference but renaming as well for consistency.

(cherry picked from commit b69e422af9)
2016-09-18 23:10:26 +02:00
Rémi Verschelde a155342eca GLES2: Check for GPU capabilities to display an error
The engine will still segfault, but the error message should be displayed by the
OS in a blocking manner, so that it will only crash once users have acknowledged
the error dialog.

Closes #1162.
2016-07-25 23:08:46 +02:00
Rémi Verschelde b6ac91c0e6 Removed unused variables (first pass)
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:03 +02:00
Geequlim fdf914e53e Add texture region support for stylebox render 2016-06-05 00:45:53 +08:00
Juan Linietsky 8be2fabbe5 Changed import workflow
-Rearrange favorites in fs dock with drag and drop
-Removed import -> sub-scene, moved to scenetree contextual menu
-Removed import -> re-import , moved and integrated to FS dock
-Added ability in FS dock to re-import more than one resource
simultaneously
-Added ability to drag from native filesystem explorer to Godot, only
works on Windows though
-Removed scene reimport merge options, never worked well. Eventually
merging materials should be re-added
-Added ability to set custom root node type when importing scenes
-Re-Import is now automatic, can be configured back to manual in editor
settings
-Added resource previews in property list for many resource types
2016-05-27 14:19:11 -03:00
Juan Linietsky 8043135e0d missing default value 2016-05-04 12:46:37 -03:00
Juan Linietsky fd6667a7dc fix to avoid video texture scaling 2016-05-04 12:44:50 -03:00
Juan Linietsky 89d87294db ability to shrink all images x2 on load
this is for extreme cases when running on devices with very low video
memory, so you can still retain compatibility.
2016-05-04 12:37:07 -03:00
MSC 7a9998370f free Material 'shadow_material_double_sided' on ::finish() 2016-04-03 19:24:14 +02:00
Rémi Verschelde c9a401e541 Merge pull request #3694 from techtonik/patch-1
Show driver information in verbose mode
2016-03-15 10:30:47 +01:00
Rémi Verschelde aec4f57f95 Merge pull request #3528 from SaracenOne/baked_light_realtime_colourize
Ability to colourize baked lighting in real time.
2016-03-15 10:22:09 +01:00
Saracen 24bc7d8db7 Fix 'FLAG_RECEIVE_SHADOWS' flag for GeometryInstances so that turning it off now correctly disables shadows from affecting the instance. 2016-03-12 16:51:17 +00:00
Juan Linietsky a3d6768199 Merge pull request #3958 from SaracenOne/cpu_skinning_path_fix
Fix to CPU skinning path when using GPU skinning (meshes with morphs)
2016-03-08 15:34:36 -03:00
Saracen 7fecebd8a8 Added extra controls to GeometryInstances to control how they should cast shadows: double-sided and shadows only.
Conflicts:
	servers/visual/visual_server_raster.h
2016-03-07 23:14:14 +00:00
Saracen 23a4683879 Fix to CPU skinning path when using GPU skinning (meshes with morphs) causing modifications to root bone to have doubled offset and wasted performance. 2016-03-06 18:47:52 +00:00
anatoly techtonik ba6858dd41 Show which video driver is used in verbose mode 2016-02-24 23:36:40 +03:00
Saracen fe49ac19df Fixed hardware-accelerated skinning support. 2016-02-24 02:16:20 +00:00
Saracen de5281c398 Ability to colourize baked lighting in real time. 2016-02-06 18:03:20 +00:00
Juan Linietsky f6a8a0f513 -Correctly flip BG texture if viewport is flipped, fixes #3507 2016-02-02 07:40:38 -03:00