Commit graph

211 commits

Author SHA1 Message Date
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
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
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
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
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
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02: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
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
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
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
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
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
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
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
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
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
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