Rémi Verschelde
4226d56ca9
Style: Enable clang-format on GLSL shaders
...
As of clang-format 6.0.1, putting the `/* clang-format off */` hint
around our "invalid" `[vertex]` and `[shader]` statements isn't enough
to prevent a bogus indent of the next comments and first valid statement,
so we need to enclose that first valid statement in the unformatted chunk.
2018-08-27 07:34:14 +02:00
elasota
30e20b6278
Partial fixes for 3D texture issues
2018-08-26 20:22:56 -04:00
Hein-Pieter van Braam
08f452d1a9
Fall back to GLES2 if GLES3 is not working
...
This adds a static is_viable() method to all rasterizers which has to be
called before initializing the rasterizer. This allows us to check what
rasterizer to use in OS::initialize together with the GL context
initialization.
This commit also adds a new project setting
"rendering/quality/driver/driver_fallback" which allows the creator of a
project to specify whether or not fallback to GLES2 is allowed. This
setting is ignored for the editor so the editor will always open even if
the project itself cannot run. This will hopefully reduce confusion for
users downloading projects from the internet.
We also no longer crash when GLES3 is not functioning on a platform.
This fixes #15324
2018-08-26 16:40:46 +02:00
Juan Linietsky
62233423c7
Fix generation of env map, closes #18880
2018-08-24 13:31:31 -03:00
Rémi Verschelde
1ae7a78d8b
Merge pull request #21364 from akien-mga/shaders-style
...
Style: Fix code formatting in GLSL shaders
2018-08-24 15:17:38 +02:00
Rémi Verschelde
52466d57e9
Make some debug prints verbose-only, remove others
2018-08-24 14:59:01 +02:00
Rémi Verschelde
d442f3d0aa
Merge pull request #21351 from akien-mga/print_verbose
...
Add print_verbose to print to stdout only in verbose mode
2018-08-24 14:58:36 +02:00
Rémi Verschelde
e68b96928b
Style: Fix code formatting in GLES2 shaders
2018-08-24 14:50:59 +02:00
Thomas Herzog
f123694b4e
Merge pull request #21357 from karroffel/gles2-shader-language-f-to-pay-respects
...
[GLES2] fix wrong shader compiler output
2018-08-24 12:14:40 +02:00
Thomas Herzog
56bab6509c
Merge pull request #21318 from karroffel/gles2-shader-fixes
...
[GLES2] attempt to fix some android problems
2018-08-24 12:14:20 +02:00
Thomas Herzog
2fa4b50027
[GLES2] fix wrong shader compiler output
...
The `f` postfix was working fine on dekstop GL but not on
some mobile drivers.
2018-08-24 12:10:54 +02:00
Thomas Herzog
211e0fa4aa
[GLES2] fix multimesh byte colors
...
When using float colors, everything works fine, but when using
the byte format, the colors were read incorrectly.
2018-08-24 11:23:42 +02:00
Rémi Verschelde
de59fe04e7
Add print_verbose to print to stdout only in verbose mode
...
Equivalent of the cumbersome:
if (OS::get_singleton()->is_stdout_verbose())
print_line(msg);
2018-08-24 09:23:20 +02:00
Rémi Verschelde
b2494d3898
Merge pull request #21325 from karroffel/gles2-texture-flags
...
[GLES2] fix texture flags not having an effect
2018-08-23 22:22:33 +02:00
Thomas Herzog
8884b3daad
[GLES2] fix texture flags not having an effect
2018-08-23 18:25:55 +02:00
Thomas Herzog
0edb50f629
Merge pull request #21321 from karroffel/gles2-canvas-modulate
...
[GLES2] fix CanvasModulate not working
2018-08-23 18:15:42 +02:00
Thomas Herzog
0f59cc179c
[GLES2] fix CanvasModulate not working
...
That's what happens when you forget about your debug
shortcuts.
Fixes #21025
2018-08-23 17:38:20 +02:00
Thomas Herzog
5ebc70f288
[GLES2] fix depth for alpha pass
2018-08-23 17:25:00 +02:00
Thomas Herzog
d61fc6a97b
Merge pull request #21317 from karroffel/gles2-canvas-texture-sampler-long-branch-name
...
[GLES2] fix canvas_item sampler allocation
2018-08-23 17:11:00 +02:00
Thomas Herzog
a7bedaf935
[GLES2] attempt to fix some android problems
2018-08-23 17:08:16 +02:00
Thomas Herzog
da876907fd
[GLES2] fix canvas_item sampler allocation
2018-08-23 16:46:43 +02:00
Thomas Herzog
8e7454e5d7
enable hardware skeletons
2018-08-23 16:13:45 +02:00
elasota
35f6ba5c5d
BPTC support
2018-08-21 22:56:04 -04:00
Marcin Zawiejski
bd5ff205b2
Revert "Batch GLES2 draw calls"
...
This reverts commit f55039b194
.
The GLES2 batching seems to require more testing and tweaking in order
to actually make the performance better on Android devices. It's been
proved with #21184 that the current implementation has it's drawbacks
therefore I suggest reverting the commit for now.
2018-08-20 02:10:14 +02:00
Thomas Herzog
b4ce1e3005
Merge pull request #20965 from dragmz/gles2_batching
...
Batch GLES2 draw calls
2018-08-18 18:37:52 +02:00
dumitru.stama
5a74b15b3d
Removed the lines forcing black screen on android GLES2
2018-08-17 22:26:30 -07:00
Thomas Herzog
0ef85b55e0
[gles2] fix black bar artifacts
2018-08-15 17:12:21 +02:00
Rémi Verschelde
4c6cf97257
Merge pull request #20941 from codingHahn/fix-normals-on-shader
...
Fix handling of normals that approach 1
2018-08-15 08:40:16 +02:00
Marcin Zawiejski
ab1e460f53
Reduce verbosity for unsupported GLES2 bg modes
2018-08-14 15:11:19 +02:00
Marcin Zawiejski
f55039b194
Batch GLES2 draw calls
...
Adds GLES2 draw calls batching for the same render list item that uses
multiple rasterizer commands (e.g. Label node; a node with multiple
GDScript draw_* calls).
2018-08-14 10:47:16 +02:00
Thomas Herzog
3d2984c962
[gles2] added ImmediateGeometry rendering
2018-08-13 16:16:23 +02:00
Nick Hahn
66eba18969
Fix handling of normals that approach 1
2018-08-12 12:45:43 +02:00
Marcin Zawiejski
a0afaaeeb9
Fix mat4 uniform writes
2018-08-08 21:39:43 +02:00
Thomas Herzog
1800664e80
Merge pull request #20805 from karroffel/gles2-misc-fixes
...
unhacking some GLES2 code
2018-08-08 17:28:35 +02:00
Thomas Herzog
73fe08be2e
GLES2 refactors
...
This commit unhacks some parts of the 3D rendering.
Most notably:
- possibility to use negative texture units
(no longer weird manual index allocation for user samplers)
- refactoring of light code, now sorts in a different way,
should yield better performance
- fixes a crash while saving (because of "Illegal instruction" execution)
when using a decent compiler (clang, it's clang. Thanks GCC for not telling me about UB).
2018-08-08 17:09:44 +02:00
Juan Linietsky
b67f982723
Merge pull request #20681 from DavidSichma/master
...
Keeping track of discard
2018-08-08 09:54:59 -03:00
Hugo Locurcio
31c12f05c4
Tweak the default SpatialMaterial properties
...
Roughness is now set to 1 by default and albedo is now white,
even on meshes that do not have any materials defined.
This means there is no longer a visual difference between a
mesh with no materials defined and a mesh with a default
SpatialMaterial defined.
2018-08-07 17:04:30 +02:00
Juan Linietsky
edde52c8de
Added proper import support for 3D and Array textures
2018-08-06 14:56:06 -03:00
Juan Linietsky
07a982e614
Merge pull request #20597 from karroffel/tex3d
...
add 3D textures
2018-08-06 07:20:00 -03:00
Marcin Zawiejski
477f496162
Fix uniform set for mat3 and mat4
2018-08-04 07:30:25 +02:00
David Sichma
c101dd5fa6
Keeping track of discard
...
Shader compilation now keeps track of the discard key word.
Previously only variables were monitored. But discard, which needs
special treatment in some cases, went unnoticed by the compiler as
discard is not a variable but a flow control.
This commit adds monitoring for discard.
2018-08-02 21:55:02 +02:00
Thomas Herzog
b4d3f541e7
add 3D textures
2018-07-30 12:20:27 +02:00
karroffel
b64171e79c
add initial GLES2 3D renderer
2018-07-27 14:15:46 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Rémi Verschelde
e38051970c
Merge pull request #20448 from volzhs/duplicated-code
...
Remove duplicated codes
2018-07-25 22:20:47 +02:00
Rémi Verschelde
237148e80f
Merge pull request #18368 from Gamblify/RasterizerEngineSync
...
sync rasterizers with engine
2018-07-25 20:33:37 +02:00
volzhs
946be8be50
Remove duplicated codes
2018-07-25 23:34:25 +09:00
Marcin Zawiejski
2d05ae39a2
fix disappearing lines in visual script editor
2018-07-23 09:07:32 +02:00
Rémi Verschelde
c579c48461
Merge pull request #20353 from dragmz/gles2_redundant
...
Remove redundant uniform set call
2018-07-22 16:20:23 +02:00
dragmz
00180ef264
remove redundant uniform set call
2018-07-22 15:42:43 +02:00
dragmz
d2e909847d
initialize texture shrink to false by default
2018-07-22 15:09:00 +02:00
Rémi Verschelde
00dfc9c8eb
Shader lang: Properly assign INSTANCE_ID to gl_InstanceID
...
Note that gl_InstanceID is not supported in OpenGL ES 2.0,
so in the gles2 backend we assign it to 0.
Also clean up some duplicates/commented out code.
Fixes #20088 .
2018-07-22 14:26:46 +02:00
Rémi Verschelde
7c9f7452f4
Style: Format code with clang-format 6.0.1
2018-07-18 16:27:03 +02:00
Max Hilbrunner
277793439a
Revert "Fix #19507 Not emitted particles affects performance"
2018-07-17 16:52:13 +02:00
Max Hilbrunner
4b626dc114
Merge pull request #19764 from malbach/godot_malbach
...
Fix #19507 Not emitted particles affects performance
2018-07-17 16:47:41 +02:00
Juan Linietsky
de910f8c26
Finally figured out how to implement AnimatedTexture properly.
2018-07-16 11:43:49 -03:00
Max Hilbrunner
40f38216cf
Merge pull request #19707 from toger5/fix_clipping_vflip
...
fix clipping with v_flip fixes : #18600
2018-07-12 05:05:56 +02:00
Juan Linietsky
7dcaabaf19
Support for CPU based particles, which aids compatibility with OpenGL ES 2.0
2018-07-06 20:21:42 -03:00
Rémi Verschelde
8ce6444f59
Fix server build after 7fc23675
2018-07-03 13:53:00 +02:00
Juan Linietsky
7fc2367508
Added ability for SSAO to affect AO textures too
2018-07-02 16:50:52 -03:00
malbach
cef8d355d2
Fix #19507 Not emitted particles affects performance
2018-06-25 18:17:28 +02:00
toger5
b4b7ca89f5
fix clipping with v_flip fixes : #2929
2018-06-16 22:55:21 +02:00
nemerle
7d9a55bdc5
A typo in ShaderCompilerGLES2 constructor code '==' used instead of '='
2018-06-13 15:49:13 +02:00
Gustav Lund
35eb7f2d6a
Rasterizers are now in sync with engine
...
The rasterisers (both GLES3 and GLES2) were calculating their own frame delta time
This fix lets the rasterizers get the frame delta through the draw call
That way any regulations to the frame step from the main script will not cause particle systems to process at a different step than the rest of the Engine.
Remove unused rasterizer storage variable
frame.prev_tick variable were not used anywhere and has been removed
2018-06-05 16:33:02 +02:00
Rémi Verschelde
43b7ebf0a0
Style: Apply clang-format (5.0) to some missed files
2018-05-31 09:00:37 +02:00
bruvzg
6f0a83b681
Fix UWP build after #14622 .
2018-05-18 19:29:24 +03:00
Hein-Pieter van Braam
e668757aa9
Merge pull request #14622 from bruvzg/non-rectangular-windows
...
Experimental support for windows with per-pixel transparency.
2018-05-08 16:44:35 +02:00
Juan Linietsky
b96cd25305
Merge pull request #18495 from Zylann/partial_texture_update
...
Added partial texture update to VisualServer
2018-05-07 13:20:38 -03:00
Juan Linietsky
b3e4bc562c
Skeleton for 2D WIP
2018-05-03 17:29:56 -03:00
Marc Gilleron
c755cced83
Added partial texture update to VisualServer
2018-04-29 03:09:49 +02:00
Juan Linietsky
8a5fb669ae
Merge pull request #17421 from Chaosus/fixshaderbugs
...
Fix few bugs in shader definitions
2018-04-08 09:33:12 -03:00
bruvzg
ddae098dee
Experimental support for windows with per-pixel transparency (macOS, X11 and Windows).
2018-04-07 17:11:45 +03:00
Poommetee Ketson
ff070de986
s/2017/2018/g for gles2, websocket, linux appdata
2018-03-21 16:07:51 +07:00
Chaosus
2d428a350e
Fix few bugs in shader definitions
2018-03-10 21:00:18 +03:00
bruvzg
e256f9d4e5
Add GL_ARB_framebuffer_object extension support check and GL_EXT_framebuffer_object fallback for GLES2 (updated GLAD bindings).
...
Add GL_ARB_debug_output extension support check on all platforms.
2018-03-05 20:49:47 +02:00
Rémi Verschelde
3bab5477ff
Merge pull request #17173 from karroffel/gles2-line-rendering-fix
...
fix GLES2 line rendering
2018-03-02 13:37:44 +01:00
karroffel
8b82f4ad2e
fix GLES2 line rendering
...
fixes #17147
2018-03-02 12:35:34 +01:00
bruvzg
a5a4f3714b
GLES2 renderer support on macOS.
2018-03-02 13:15:12 +02:00
karroffel
eac4c984df
add GLES 2 renderer for 2D
...
This commit adds a new rendering backend, GLES2, and adds a
project setting to enable it.
Currently this backend can only be used on the X11 platform,
but integrating into other platforms is planned.
2018-03-01 15:12:30 +01:00
Rémi Verschelde
7ad14e7a3e
Dead code tells no tales
2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Wilson E. Alvarez
738d2ab969
Removed unnecessary assignments
2017-08-21 15:15:55 -04:00
Marcelo Fernandez
eab850524e
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-17 19:51:13 -03:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Poommetee Ketson
c7c65ca6ba
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-22 18:14:08 +07:00
Juan Linietsky
25678b1876
-Renamed GlobalConfig to ProjectSettings, makes more sense.
...
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky
bbada82f80
-Reorganized all properties of project settings (Sorry, Again).
...
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
12a8fedfe6
Some changes to dual paraboloid envmap generation, fixes somme bleeding
2017-07-05 19:39:45 -03:00
Juan Linietsky
5c6cac4e53
Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far.
2017-06-17 23:27:42 -03:00
Juan Linietsky
98a3296702
Removal of Image from Variant, converted to a Resource.
2017-05-17 07:37:45 -03:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Juan Linietsky
74808ac4d9
New particle system, mostly working, some small features missing.
2017-04-06 23:49:27 -03:00
Rémi Verschelde
debeee56f7
Fix typos in source code using codespell
...
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Rémi Verschelde
5dbf1809c6
A Whole New World (clang-format edition)
...
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Juan Linietsky
de0045cf1b
-renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
...
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
Hein-Pieter van Braam
b696beea65
Correct hash behavior for floating point numbers
...
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947 .
2017-02-16 18:44:29 +01:00
Rémi Verschelde
2a0ddc1e89
Style: Various fixes to play nice with clang-format
2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
a540e15cd1
Merge pull request #7513 from djrm/compilation_fix
...
Matrix32 -> Transform2D
2017-01-15 00:27:05 +01:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Daniel J. Ramirez
aafaf2226f
Matrix32 -> Transform2D
2017-01-13 01:34:32 -06:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
0f7af4ea51
-Changed most project settings in the engine, so they have major and minor categories.
...
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
c7bc44d5ad
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!
2017-01-01 22:03:33 +01:00
Juan Linietsky
a47c78aed1
Screen space reflection effect
2016-11-29 19:55:12 -03:00
Rémi Verschelde
f34151ff0f
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-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e
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-01 00:33:51 +01:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
248bc9159c
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.
2016-10-15 18:10:18 +02:00
Juan Linietsky
cf5778e51a
-Added ViewportContainer, this is the only way to make viewports show up in GUI now
...
-2D editing now seems to work
-Added some functions and refactoring to Viewport
2016-10-05 01:26:35 -03:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Rémi Verschelde
78d97b060a
Merge pull request #6605 from zaps166/old-gl-ext-funcs
...
Add compatibility with old OpenGL 2.1 drivers
2016-10-03 14:21:37 +02:00
mookiexl
0b12ebba11
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
2016-10-03 12:28:32 +02:00
Rémi Verschelde
463a42c71e
Merge pull request #6606 from zaps166/don-crash-on-unsupported-gl
...
Don't crach when OpenGL version is unsupported
2016-10-03 11:54:49 +02:00
Błażej Szczygieł
7b8fe97888
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).
2016-09-25 13:09:23 +02:00
Błażej Szczygieł
ca3b8deb78
Don't crach when OpenGL version is unsupported
2016-09-25 13:06:14 +02:00
Błażej Szczygieł
a27fafb273
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
2016-09-25 12:58:22 +02:00
knd
708a028ce8
removed redundant assign operation in mesh_add_surface: elem_count is reassigned a value before the old one has been used.
2016-09-21 05:23:42 +03:00
Rémi Verschelde
80861b7d59
Merge pull request #6414 from RandomShaper/improve-shader-shadow
...
Expose additional light/shadow properties to canvas item shaders
2016-09-17 18:34:22 +02:00
Juan Linietsky
e2aad59b59
Merge pull request #5962 from Alex-doc/Y_billboard
...
Implements Y billboard
2016-09-10 12:12:26 -03:00
Juan Linietsky
7a27d5d9e7
Merge pull request #6363 from vnen/winrt
...
Fix the support for WinRT/UWP
2016-09-10 11:47:42 -03:00
Pedro J. Estébanez
0960887625
Expose light shadow color to canvas item shaders
2016-09-07 01:52:54 +02:00
Pedro J. Estébanez
b69e422af9
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.
2016-09-07 00:51:03 +02:00
George Marques
c9b82498b4
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.
2016-09-03 19:36:44 -03:00
Juan Linietsky
fb4d6d1db0
More visual script improvements
...
-Added anti-aliasing on lines
-Improved draw performance enormously
-Removed sequence ports for most nodes, current visual scripts will likely be broken now. Sorry!
2016-08-30 23:46:41 -03:00
Alex Piola
c3b9ef8229
Implements Y billboard
...
Y billboard wasn't hooked up. This commit implements it.
2016-08-01 14:00:30 +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
Juan Linietsky
2fce78ad10
Correct viewport scaling with stretch mode viewport, fixes #1571
2016-01-24 00:46:26 -03:00
Rémi Verschelde
d67df42cc8
Merge pull request #2180 from sketchyfun/SketchyFun
...
Billboards were displayed upside down when drawn to a render texture
2016-01-19 22:25:40 +01:00
Saracen
1cc5ccba1b
Allows vec4 shader uniforms to be set by quaternion variant type.
2016-01-13 22:09:07 +00:00
Juan Linietsky
6eb742d49f
-Make a rare corner case where disabling/reenabling mipmaps causes invalid texture state. Fixes #3102
2016-01-10 21:45:58 -03:00
Juan Linietsky
f6798d9d73
-Made tile parameter work, fixes #3167
2016-01-10 17:45:41 -03:00
Juan Linietsky
eca92bb7ac
make it impossible to shrink framebuffer < 0, fixes #2066
2016-01-02 21:08:57 -03:00
Juan Linietsky
8fb70142e4
Ability to use opacity on distance field textures, fixes #2148
2016-01-02 15:57:19 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
reduz
77b5b4f4df
removed some prints
2015-12-29 12:56:58 -03:00
Juan Linietsky
428984ec0c
-New mask mode for lights, makes using masks MUCH easier.
2015-12-08 20:25:08 -03:00
Juan Linietsky
e176bb6a7c
Merge pull request #2719 from SaracenOne/clipping_fix
...
Canvas Clipping fix
2015-12-08 17:18:19 -03:00
Saracen
157b97b087
Extended clipping fix to missing clipping-related features.
2015-12-07 13:59:42 +00:00
Juan Linietsky
4b1f0afb01
-several fixes to Android to work better on Tegra 3/4 devices, uses 16 bits FBOs so all 2D shader effects should now work in every single Android device.
2015-12-02 11:15:48 -03:00
Saracen
2cc52bc3ff
Modification to GUI in 3D demo to show resolved viewport clipping bug and small fix to bug causing viewport clipping to be inverted.
2015-11-19 23:47:25 +00:00
Saracen
dd00452997
Merge branch 'master' of https://github.com/okamstudio/godot into shadow_color
...
Conflicts:
drivers/gles2/shader_compiler_gles2.cpp
2015-11-18 23:18:10 +00:00
Juan Linietsky
0c3386b2ed
Merge pull request #2707 from akien-mga/master
...
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Juan Linietsky
f0aeb036d1
Merge pull request #2715 from SaracenOne/shader_fix_and_enhancement
...
Write to 4-dimensional position access and shader graph code generation fix.
2015-11-18 19:36:47 -03:00
Juan Linietsky
0fd3e18818
Merge pull request #2724 from SaracenOne/disable_baked_light_sampling_on_shadeless
...
Disable baked lighting sampling on shadeless materials.
2015-11-18 19:31:18 -03:00
Juan Linietsky
1ceefd4759
Merge pull request #2661 from romulox-x/lowMem2D
...
Added low_memory_2d_mode
2015-11-18 19:12:34 -03:00
Aren Villanueva
402c24ec8b
iOS compile fixes.
2015-11-16 11:10:07 +11:00
Saracen
c1d19ad258
New shader feature: change the colour of shadows on a per-material basis.
...
Conflicts:
drivers/gles2/shader_compiler_gles2.cpp
2015-11-08 03:54:55 +00:00
Saracen
539bbd6654
Disable baked lighting sampling on shadeless materials.
2015-11-02 17:30:18 +00:00
Saracen
ff363c94db
Another clipping fix: default back to using window size to calculate clipping on viewports which don't have a rendertarget which fixes clipping on the editor viewport.
2015-11-02 16:48:11 +00:00
Saracen
5072134f41
Fixed canvas clipping on offscreen viewports.
2015-11-02 16:48:09 +00:00
Saracen
b54d96ceba
Added ability to write directly to 4-dimensional position vector from within custom vertex shader code. Bugfixes to shader graph code generation concerning xforms.
2015-11-02 16:03:31 +00:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
romulox_x
b86e3c3402
added low_memory_2d_mode, to indicate when 3D post processing buffers and viewport depth buffers should not be allocated
2015-10-21 19:23:34 -07:00
Juan Linietsky
b59c86f6f9
-Ability to debug video memory usage
...
-Small fix to xml saver (swapping > and <)
2015-10-21 09:50:44 -03:00
Juan Linietsky
5d86a25f4d
-some fixes to where screen is read from rasterizer
...
-fixed bug in ogg vorbis looping
-properly flushing audiostream rb when stopping
2015-10-19 18:47:49 -03:00
Juan Linietsky
79e5ced7e6
-A little More control about pixel snapping in 2D
2015-10-13 15:53:34 -03:00
romulox_x
187c000ab5
removed unnecessary clear, which prevented root viewport from working right when told not to clear
2015-10-01 13:30:10 -07:00
Juan Linietsky
83d9a692be
Ability to visually debug geometry visually:
...
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
steve
b0e5031f1f
ios now displays splash screen between launch image and main scene, instead of a black screen
2015-09-10 15:01:02 -07:00
Juan Linietsky
b0aa49accb
merged some stuff for okam
2015-09-03 23:24:55 -03:00
romulox_x
85e49d4e75
added support for mirrored repeat texture wrapping
2015-06-25 14:51:21 -07:00
Juan Linietsky
52308aba68
ability to change shadow color in light2d
2015-06-24 18:15:43 -03:00
BenH
d807a22981
Billboards were being displayed upside down when drawn to a render texture
...
Render texture's view transforms seem to be inverted, so when drawing
billboards, the 'up' vector given to set_look_at() is also inverted and
so the billboard gets drawn upside down.
2015-06-24 21:06:31 +01:00
Juan Linietsky
4b35654a02
Update rasterizer_gles2.cpp
...
fixed camera plane
2015-06-12 09:54:19 -03:00
Juan Linietsky
9e479065f5
new space shooter demo
...
ortho camera sort fix, closes #2063
2015-06-11 10:00:48 -03:00
Juan Linietsky
9acab32daa
new file dialog!
...
-ItemList control for easier lists/thumbnails
-New file dialog, with support for thumbnails, favorites, recent places,
etc
-Moved .fscache out of the project, no more bugs due to committed/pulled
.fscache!
-Dir dialog now sorts directories
2015-06-06 09:44:38 -03:00
Juan Linietsky
f4caddbc23
-corrected frac() and hyperbolic sin,cos,tan when running on PC (GLSL120), fixes #1775
2015-05-04 10:53:54 -03:00
Juan Linietsky
c45ffc2ca9
-fixed old condition in TextureFrame that caused bugs in materials, closes #1742
2015-05-01 12:16:51 -03:00
Juan Linietsky
5c6b31c024
-fixed broken lighting in release version of godot for isometric light demo, fixes #1697
2015-04-30 11:34:24 -03:00
Juan Linietsky
0adca0a7c9
-made normalmaps easier in 2D, fixes #1467
2015-04-27 08:11:54 -03:00
Juan Linietsky
52e2f4606f
-Objects with BlendMode!=MIX do not get affected by CanvasModulate, fixes #1724
2015-04-24 23:46:42 -03:00
Juan Linietsky
59154cccf9
-Changed Godot exit to be clean.
...
-Added more debug information on memory cleanliness on exit (if run with -v)
-Fixed several memory leaks, fixes #1731 , fixes #755
2015-04-20 19:38:02 -03:00
Juan Linietsky
a5cbfbbcbb
-fixed relative path saving to file, fixes #1694
2015-04-18 16:33:31 -03:00
Juan Linietsky
fdaa2920eb
Updated copyright year in all headers
2015-04-18 14:38:54 -03:00
Juan Linietsky
3b434eacde
Fix clipping when used in viewport or inside another viewport, fixes #1661
2015-04-14 22:05:14 -03:00
Juan Linietsky
e573d3a945
fixed broken lighting, closes #1671
2015-04-12 20:41:25 -03:00
Juan Linietsky
f9906eeac8
-Fixed screen capture for viewports, added a screen capture demo, fixes #1529
2015-04-12 18:58:05 -03:00
Juan Linietsky
d148a03848
-Fixes bug in ShaderGraph material, when uniform property is not used, fixes #1634 and #1610
2015-04-09 00:29:21 -03:00
Juan Linietsky
b135cdbf05
Merge pull request #1531 from vkbsb/h5_canvas_polygon_fix
...
H5 canvas polygon fix
2015-04-07 20:22:58 -03:00
Juan Linietsky
b36e41cb71
Added a PVRTC encoder for iOS
2015-04-06 21:48:20 -03:00
Juan Linietsky
5d99e15e43
fix shadow issue with lights in mix mode, i think fixes #1611
2015-04-03 14:36:10 -03:00
Juan Linietsky
9fa1698c74
Changes to Light
...
-=-=-=-=-=-=-=-=
-Changed material unshaded property for an enum, which supports light-only shading
-Added a "Mix" shading mode, useful for using lights as masks
-Added energy parameter to Light2D
2015-04-03 01:43:37 -03:00
Juan Linietsky
68e42f53ba
Beta1 Attempt #1
...
-=-==-=-=-=-=-=-
-Small fixes in canvas item light shader
-Fixed compilation in server target
-Export for Android makes 32 bits display as default
-changed version to 1.1beta1
2015-04-02 12:59:23 -03:00
Juan Linietsky
76c2b9d812
fix shadow attenuation
2015-04-01 12:23:13 -03:00
Juan Linietsky
7fc4059b13
read depth fixes
2015-03-31 17:57:16 -03:00
Juan Linietsky
ad634876b5
fixes for light2d in androids that do not support
...
read depth
2015-03-31 14:59:28 -03:00
reduz
7f8a0cddcf
fixes to shader to get most new demos working on mobile
2015-03-25 22:56:35 -03:00
V.VamsiKrishna
4fa71a6ee0
Removing Print statement effects perf.
2015-03-21 22:25:48 +05:30
V.VamsiKrishna
372fa5277c
Fix for canvas_draw_polygon on webgl.
2015-03-21 10:12:25 +05:30
Juan Linietsky
acc6f3b285
signed distance field font support
2015-03-21 00:43:33 -03:00
Juan Linietsky
53e1694e1e
New option to send canvas to render buffer
...
allows to use 3D environment effects for post processing such as Glow,
Bloom, HDR, etc. in 2D.
2015-03-16 01:14:59 -03:00
Juan Linietsky
650e13f3cd
back buffer copy node, to improve on texscreen()
...
back buffer copy node and respective demo
2015-03-12 01:05:50 -03:00
Juan Linietsky
91744e9ed3
New Demo, Screen Space Shaders
...
-Fixes to screen space shaders.
-Fixes to isometric light demo.
2015-03-10 00:53:50 -03:00
Juan Linietsky
09489e3a78
lot of work on 2D lighting and isometric maps
...
added a new demo, isometric_light that does full isometric sorting,
lights, shadows, etc.
2015-03-09 02:34:56 -03:00
Juan Linietsky
a0ee5cc353
time was not being set properly with the rest of the uniforms.
2015-03-02 19:21:46 -03:00
Juan Linietsky
a1f715a4da
support for 2D shadow casters
...
Added support for 2D shadow casters.
*DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a
CanvasItem and pull this, you will lose them. Shaders now work through a
2D material system similar to 3D. If you don't want to lose the 2D
shader code, save the shader as a .shd, then create a material in
CanvasItem and re-assign the shader.
2015-03-02 00:54:43 -03:00
romulox_x
320700fc92
changed the blending function when using a transparent render target so that it blends properly
2015-03-01 15:44:02 -08:00
romulox_x
2ac767b1f5
changed viewport clearing to use the alpha value of the clear color, and made the transparent bg option of viewport force a clear color of 0,0,0,0
2015-02-21 13:57:12 -08:00
Juan Linietsky
1d7337ba10
Merge pull request #1369 from not-surt/tile_rotation
...
Tile Rotation
2015-02-21 15:37:02 -03:00
Juan Linietsky
5ef3f7392f
support for light and normal mapping in 2D
2015-02-18 19:40:02 -03:00
Carl Olsson
196185d0be
Merge branch 'master' of https://github.com/okamstudio/godot
...
Conflicts:
scene/2d/tile_map.cpp
2015-02-15 18:21:35 +10:00
Juan Linietsky
a49802ae33
-resolved shader set parameter bug, closes #1361
2015-02-14 14:54:58 -03:00
Carl Olsson
6a38ab1b43
Reorder tile transforms so transpose occurs before flips. Much more intuitive for flipping transposed tiles.
2015-02-13 10:56:53 +10:00
Carl Olsson
573ae5dd92
Merge branch 'master' of https://github.com/okamstudio/godot
...
Conflicts:
demos/2d/polygon_path_finder_demo/.fscache
2015-02-11 21:15:49 +10:00
Juan Linietsky
e74982e55e
fixes to skinned buffer
...
should avoid targets with large objects using morphs
also skinned buffer size is properly customizable on project settings.
2015-02-10 19:14:22 -03:00
Juan Linietsky
a34d27438c
ability to customize max render elements
...
should close #1339
2015-02-09 22:18:44 -03:00
Juan Linietsky
e7918ebbf2
Merge pull request #1281 from sanikoyes/Pr-fix-rtt-filters
...
Pr-fix-rtt-filters
2015-02-09 21:24:09 -03:00
Carl Olsson
ee44664b2a
Merge branch 'master' of https://github.com/okamstudio/godot
2015-02-02 21:34:47 +10:00
Carl Olsson
c5bf43f6eb
Working TileMap tile transpose transform.
2015-02-02 21:27:48 +10:00
Juan Linietsky
c6eabbbec5
fixed world vertex issues in canvas item shader
2015-01-21 00:57:37 -03:00
Juan Linietsky
14ade5500f
Fixed bug in 3D material
...
textures that failed to load should now load again properly
2015-01-20 23:58:47 -03:00
Juan Linietsky
da0d4e4dea
Fixes to texscreen, fixes to white testcube
2015-01-20 22:31:32 -03:00
Juan Linietsky
11c1756257
Visual Shader Editing for 2D
...
Editing 2D shaders with visual editor seems to work now.
2015-01-20 20:36:25 -03:00
sanikoyes
75be78b370
Fix filter options not works in render target texture
2015-01-20 20:01:58 +08:00
Juan Linietsky
a0511ed59a
Color Ramp and Curve Map added to visual shader editing.
...
Added Color Ramp and Curve Map to shader nodes.
Fixed an issue that crashed Godot Editor right when opened.
2015-01-19 02:39:58 -03:00
sanikoyes
ffe53061cd
Add missing shader function: refract
2015-01-14 00:28:18 +08:00
Juan Linietsky
2ef5a342e3
-begin work on unidirectional collision detection
...
-fixed performance issue in new 2D engine
-texscreen() working in shader 2D
2015-01-13 10:49:26 -03:00
Juan Linietsky
30d3658110
-fixed issue with shader not being reset on layers, closes #1199
...
-ability for shader to use parent shader and params, closes #1198
2015-01-12 20:44:02 -03:00
Juan Linietsky
544ce2a1db
-Initial working(?) implementation of shaders for 2D. Lighting still not there though.
...
Check for reference:
https://github.com/okamstudio/godot/wiki/shader
2015-01-12 10:19:09 -03:00
reduz
f3dc51fc69
2D shader progress
2015-01-11 20:52:42 -03:00
Juan Linietsky
66afddb3e8
-Initial (untested) implementation of 2D shaders. Probably broken, will be fixed later.
...
-fixed issue of opacity not working
2015-01-11 11:43:31 -03:00
Juan Linietsky
8997084831
2D Rewrite Step [1]
...
-=-=-=-=-=-=-=-=-=-
-Moved drawing code to a single function that takes linked list (should make it easier to optimize in the future).
-Implemented Z ordering of 2D nodes. Node2D and those that inherit have a visibility/Z property that affects drawing order (besides the tree order)
-Removed OpenGL ES 1.x support. Good riddance!
2015-01-10 17:35:26 -03:00
Juan Linietsky
78f4b93703
Fixes to GraphEdit:
...
-Working area is bigger now, solves #1148
-Using Position now works, fixes #1141
-RGB ops now work, fixes #1139
-Missing bindings to GraphEdit and GraphNode added
-Shader Graph Editor Shows errors on cyclic links and missing connections
2015-01-08 00:41:34 -03:00
Juan Linietsky
7a0e4c822c
-Visual Shader Editing Finished, PLEASE TEST!
2015-01-07 01:45:46 -03:00
Juan Linietsky
ddf7457894
Merge branch 'master' of https://github.com/okamstudio/godot
2015-01-03 16:53:39 -03:00
Juan Linietsky
fbdd925d9b
-Work in progress visual shader editor *DOES NOT WORK YET*
2015-01-03 16:52:37 -03:00
Juan Linietsky
6b5b95bb4e
-added new code completion guess locations, closes #1032
...
-moved commandline fix to mingw-only, should fix #1064
2015-01-03 13:03:13 -03:00
Juan Linietsky
cef3bd026f
-fixed issue with denormals in half precission, closes #1073
...
-added h_offset and v_offset to 3D Camera, should allow to do the same as in #1102
2015-01-03 11:06:53 -03:00
Juan Linietsky
d722537154
-proper minimum size computation for TabContainer
2015-01-02 22:34:22 -03:00