Commit Graph

439 Commits

Author SHA1 Message Date
Juan Linietsky 57ebad28a9 Order of 2D nodes in tree affects drawing properly again. 2017-06-22 09:33:20 -03:00
Juan Linietsky 95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Juan Linietsky 0288be1e76 Texture rect_region drawing now clamps UV to avoid bleeding. This avoids scenarios like single-texture tilemap tiles leaking pixels to the next tile when filter is enabled on it. 2017-06-18 22:55:02 -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 2da3f48e5a -Fixed shader lang to not be able to get scalar from matrix (ie mat.x), to make it more GLSL compatible
-Fixed referencing of world_transform in fragment shader not working
-Fixed unsycn bug related to getting shader param list from the server
-Fixed getting all textures from shader properly, fixes #8353
2017-06-17 11:03:48 -03:00
Juan Linietsky 9757fc354c Fix transparent background rendering, closes #8703
Properly implemented UPDATE_WHEN_VISIBLE mode for viewports
2017-06-17 08:59:43 -03:00
Juan Linietsky e11fae0bbf Particles properly update the shadow maps, closes #8815 2017-06-17 07:32:49 -03:00
Juan Linietsky b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
Rémi Verschelde 8b1bc9da88 Merge pull request #9208 from Calinou/tweak-default-fov
Increase the default perspective camera FOV
2017-06-16 17:51:04 +02:00
Juan Linietsky 80929d36be TIME constant reverted to a single float, fixes #9123 2017-06-16 08:30:21 -03:00
Juan Linietsky 29cfc365aa Fixes to SSR, WIP. 2017-06-16 08:30:21 -03:00
Hugo Locurcio cdcc3c919b Increase the default perspective camera FOV
This does not affect existing projects, but will affect newly-created
editor settings and Camera nodes.
2017-06-16 12:07:07 +02:00
Juan Linietsky f8bd488457 Merge pull request #9109 from RandomShaper/optimize-2d-lighting
Add AT_LIGHT_PASS builtin to canvas shaders
2017-06-14 21:16:09 -03:00
Pedro J. Estébanez 93ffd9023f Add 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.

Depending on your game (number of items and lights), this can yield some performance gain.
2017-06-15 02:03:15 +02:00
Juan Linietsky 462d8ceb46 Fixed several bugs with directional light, and changed defaults to be more sensible. 2017-06-14 17:06:36 -03:00
Juan Linietsky a8a1f2e2a8 -Fixed occluder rendering, closes #8560
-Ability to smooth out 2D shadow filters
2017-06-13 01:23:04 -03:00
Marc Gilleron af9fd6f44a Fixed compilation on Windows + removed debug print 2017-06-12 01:58:57 +02:00
Juan Linietsky 61c82f4356 Restored everything related to information polling, and added information box for viewport. 2017-06-11 18:13:04 -03:00
Juan Linietsky 4d50c7ad8c Restored multiple viewport function, as well as view modes. 2017-06-11 15:52:03 -03:00
alexholly 935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Juan Linietsky 612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Juan Linietsky 5bf810b5db -Added proper access to depth texture from shader
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
Juan Linietsky 840ac8c018 Fog is complete! 2017-06-07 08:38:21 -03:00
Juan Linietsky 0fb99306ff -working SCREEN_TEXTURE, SCREEN_UV shader variables
-Added refraction support for default material
-Enabled BCS adjustments, as well as color correction.
2017-06-05 22:34:32 -03:00
Poommetee Ketson 5fd458e03a Fix build error 2017-06-05 21:19:54 +07:00
Rémi Verschelde f8d7670e82 Merge pull request #9038 from AlexHolly/rect2-rename-pos
renamed all Rect2.pos to Rect2.position
2017-06-05 15:52:05 +02:00
Juan Linietsky 5aa66d03d8 Added depth texture support (using parallax) to default material. 2017-06-04 20:35:45 -03:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Juan Linietsky c03131fc9f Rework shading modes and change location of light shader 2017-06-01 18:56:02 -03:00
Juan Linietsky a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
suptoasty e0befd2f23 Fixed a typo in a Visual Server var name (#8977) 2017-05-29 08:08:16 +02:00
Juan Linietsky bf6380ee70 Removed skybox support, added panorama support. Skybox support may come back eventually, but hope not. 2017-05-25 14:00:43 -03:00
BastiaanOlij c51ce72702 Added texture_get_texid 2017-05-20 10:09:36 +10:00
Juan Linietsky 98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Carter Anderson 212c6306a8 Fix get_shader_type index upper bound 2017-05-01 23:41:44 -07:00
Juan Linietsky 1c480698ce -Fixed crash with splash screen on windows
-properly show editor without having to resize window on windows
2017-04-09 20:40:48 -03:00
Juan Linietsky 7ba71fb243 Restored (And auto-generated) splash image 2017-04-09 20:03:38 -03:00
Juan Linietsky fccf2816d4 -Fix eternal black screen on Windows
-Disabled warnings on windows, need to properly set up warnings
2017-04-09 17:59:17 -03:00
Juan Linietsky 4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -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
Pedro J. Estébanez 5ff0924a93 Map POSITION to gl_FragCoord.xy for 2D shaders 2017-03-08 02:07:59 +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
Rémi Verschelde e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Thaer Razeq f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06: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
Juan Linietsky 903a3aa5f0 a ton of bug fixes to the renderer 2017-02-16 08:55:43 -03:00
Kenneth Lorthioir 6961ed21bb Fixed compilation issues with Visual Studio 2017-02-08 18:14:52 -05:00
Juan Linietsky 6bfaa0f12c shadows were not working in-editor for nvidia, fixed now 2017-02-06 20:18:35 -03:00
Juan Linietsky 5cc63dee0f ability to adjust propagation in gi probe 2017-02-06 05:12:15 -03:00
Juan Linietsky 6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
BastiaanOlij 3a02df7739 Working on compile issues for iOS 2017-01-16 23:14:13 +11:00
Rémi Verschelde f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +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
Juan Linietsky 35b404ba08 Unify naming of blendshape / morphtarget into just "Blend Shape" 2017-01-12 08:34:00 -03: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 495d059a74 Merge branch 'master' of https://github.com/godotengine/godot 2017-01-05 09:18:03 -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
BastiaanOlij 55d425807f First set of changes to fix compilation errors and initialise the gles3 renderer for Mac OS X. Still broken at this point. 2017-01-04 23:34:02 +11:00
Juan Linietsky 76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -03:00
Juan Linietsky b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
lonesurvivor 8b8807e37d Improvement to y_sort: make clear which item has to be drawn first
when both have the same y coordinate (prevents possible flickering). Reapplying #7241 to the 3.0 code.
2017-01-03 10:35:30 +01: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 ed518ff713 Revert "small improvement to y_sort: make clear which item has to be drawn first when two have the same y-coordinate"
This reverts commit 4118b21e43.
Same rationale as previous revert.
2017-01-02 20:39:25 +01:00
Rémi Verschelde 86b0669f4c Revert "Add/expose VisualServer::get_default_clear_color()"
This reverts commit 753ba67d65,
in preparation from the merge of the gles3 branch, as the VisualServer
code changed too much to port this commit over during merge conflicts
resolution. It could be readded afterwards.
2017-01-02 20:32:52 +01:00
Juan Linietsky 2820b2d82b fix stupid bug in light downscaling for GI Probe 2017-01-02 14:09:42 -03:00
Juan Linietsky c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03: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 a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
reduz f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
reduz 289bc881aa now it really works on window for real 2016-12-25 08:05:23 -03:00
reduz 0d4abf2aa3 fixed a horrible bug on Windows AMD, scenes saved until now in this branch
are no longer valid :(
2016-12-24 16:23:30 -03:00
Juan Linietsky 3adb42e217 Fixed many more bugs reported by Valgrind 2016-12-23 08:47:16 -03:00
Juan Linietsky 4e729f38e0 baking now shows a proper button, and bakes can be saved. 2016-12-23 00:37:38 -03:00
Juan Linietsky f9603d8236 can bake for omni and spotlight
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky 37f558cd7b Some BRDF fixes 2016-12-21 14:22:17 -03:00
reduz 72b844c349 Godot works on Windows again.. 2016-12-21 02:29:58 -03:00
Juan Linietsky 075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Juan Linietsky 22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Juan Linietsky 18ebd22000 Multi stage glow with light bleeding from HDR 2016-12-08 09:48:38 -03:00
Juan Linietsky 8534ced22d Tonemapping and Auto Exposure support 2016-12-07 17:49:52 -03:00
Patrick Reh 4118b21e43 small improvement to y_sort: make clear which item has to be drawn first when two have the same y-coordinate 2016-12-04 16:51:58 +01:00
Juan Linietsky a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
Juan Linietsky 27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
Juan Linietsky a47c78aed1 Screen space reflection effect 2016-11-29 19:55:12 -03:00
Juan Linietsky a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Juan Linietsky 7cf8d75cf8 WIP immediates and proper buffers swapping 2016-11-23 07:04:55 -03:00
Juan Linietsky 943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Juan Linietsky a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Juan Linietsky a7078a4be9 Done with lights and shadows (wonder if i'm missing something..) 2016-11-11 12:27:52 -03:00
Juan Linietsky cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Rémi Verschelde d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Juan Linietsky 6b2a27bbe5 shadow atlas allocation (work in progress) 2016-10-31 08:47:46 -03:00
Juan Linietsky d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Rémi Verschelde f5818c8e63 Merge pull request #6812 from RandomShaper/get-visualserver-clear-color
Add/expose VisualServer::get_default_clear_color()
2016-10-22 12:52:40 +02:00
Juan Linietsky cb34b70df1 More scene work, can display a skybox 2016-10-21 07:27:13 -03:00
Juan Linietsky 4428115916 Everything returning to normal in 3D, still a long way to go
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03: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
Pedro J. Estébanez 753ba67d65 Add/expose VisualServer::get_default_clear_color() 2016-10-13 11:24:55 +02:00
Juan Linietsky 1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03:00
Juan Linietsky 850eaf7ed7 -the new shader language seems to work
-shader editor plugin can edit shaders
-code completion in shader editor plugin
2016-10-07 11:31:18 -03: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 a6e9dc6153 make editor update by tracking changes in visualserverraster 2016-10-03 23:46:24 -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 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 fc61eb37ce Merge pull request #5920 from 29jm/fix-warnings
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky c5b7385110 Merge pull request #6250 from Ovnuniarchos/CursorHotspot
Mouse hotspot is now honored.
2016-09-10 12:07:08 -03:00
Pedro J. Estébanez 0960887625 Expose light shadow color to canvas item shaders 2016-09-07 01:52:54 +02: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
Ovnuniarchos 8fcd92c38a Mouse hotspot is not honored. 2016-08-23 07:57:04 +02:00
Johan Manuel 046f94d3ac Remove some unused variables 2016-08-13 13:21:35 +02:00
Juan Linietsky 0e6e0ed0e5 Merge pull request #5533 from Hinsbart/cursor_atex
Can use AtlasTextures as custom mouse cursor.
2016-07-10 12:41:57 -03:00
Rémi Verschelde f40f360a2c Remove unused variables (fourth pass) + dead code
Also fix a potential regression from 3fcb9b1ec1.
2016-07-08 16:47:55 +02:00
Andreas Haas 91add16300 Can use AtlasTextures as custom mouse cursor.
fixes #3957
2016-07-03 19:36:12 +02:00
Rémi Verschelde c3bf11d4d4 Drop fully commented-out files
Part of #5272
2016-06-18 20:23:49 +02:00
Rémi Verschelde b7dbf9207a Drop empty files that are not used anywhere
Part of #5272
2016-06-18 19:46:30 +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 d3495b128a -Improve resource previews
-Also fixed draw_texture_rect() tile parameter
2016-05-23 17:11:49 -03:00
Hubert Jarosz 33403d91f7
remove trailing whitespace 2016-05-21 15:29:25 +02: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
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
Hubert Jarosz 7b07bcaf44
fix six possible "divide by zero" 2016-03-09 00:18:23 +01:00
Hubert Jarosz 4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01: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
Nuno Donato 2d1de83434 refix particles3d issue, bringing down the amount limit to 1024 2016-02-16 08:56:31 +00:00
Nuno Donato b3fadd66c8 * raised the max amount of particles to match the max number allowed in the inspector (prevents crash) 2016-02-12 11:45:26 +00:00
Saracen de5281c398 Ability to colourize baked lighting in real time. 2016-02-06 18:03:20 +00:00
Juan Linietsky 199a29b353 Merge pull request #3184 from vnen/update-copyright-2016
Update copyright to 2016 in headers
2016-01-01 11:03:29 -03:00
George Marques 5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky 7879efc50b Make both lights and occluders stop working if hidden, fixes #2437 2016-01-01 10:45:24 -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 38ab47d2f9 Merge pull request #2865 from hurikhan/pr_fix_2791
Added additional token checks for the shader if..else.. statement.
2015-12-08 17:09:58 -03: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
Andrea Chua 67a1c3f136 Bug Fix #2541: Shader language function validation logic
ensures that it finds the correct function to validate.
2015-11-27 21:27:06 +08:00
hurikhan 49f4ec2b71 Added additional token checks for the shader if..else.. statement. Fixes issue #2791. 2015-11-22 13:49:58 +08: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 e82afd9c50 Merge pull request #2629 from firefly2442/float-to-bool
float to bool variable type, fixes: #2478
2015-11-18 19:17:29 -03:00
Juan Linietsky e8435cc721 Merge pull request #2632 from firefly2442/duplicate-inherited-vars
remove child variable that is duplicated from parent class
2015-11-18 19:16:35 -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 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
Juan Linietsky b59c86f6f9 -Ability to debug video memory usage
-Small fix to xml saver (swapping > and <)
2015-10-21 09:50:44 -03:00
firefly2442 bb68dc5210 remove child variable that is duplicated from parent class 2015-10-18 21:45:27 -05:00
firefly2442 4621d30d1b float to bool variable type, fixes: #2478 2015-10-18 19:49:30 -05:00
Juan Linietsky 63033aa646 Merge branch 'master' of https://github.com/okamstudio/godot 2015-10-17 10:30:08 -03:00
Juan Linietsky ab22203791 misc cleanup 2015-10-17 10:29:54 -03:00
Juan Linietsky b217e1417a Merge pull request #2479 from firefly2442/cppcheck-unusedvars
ran cppcheck, found unused variables
2015-10-17 10:25:36 -03:00
Zher Huei Lee 7f001a2c76 nested clipping of canvas items now works 2015-10-05 11:50:16 +01: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
firefly2442 afbb6c064c ran cppcheck, found unused variables 2015-09-16 15:35:30 -05:00
romulox_x e5730c1c7c fixed server breaking error in previous splash screen commit 2015-09-12 19:15:02 -07: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
Juan Linietsky 52308aba68 ability to change shadow color in light2d 2015-06-24 18:15:43 -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 b524b40fdc -fixed many memory initialization issues
-fixed deadlock on previews thread
-fixed compilation errors on unix
2015-06-06 22:06:58 -03:00
Juan Linietsky 9df77d2765 ability to run 2D physics in a thread
also, 2D physics is now thread safe too.
see physics_2d/thread_model
2015-05-26 01:06:05 -03:00
Juan Linietsky e323cc0505 -Rename unexisting by nonexistant, closes #1940
-Added function to retrieve list of actions fron InputMap
2015-05-18 10:20:54 -03:00
ehriche 897a1aade5 optional formal changes 2015-05-06 01:22:31 +02:00
Juan Linietsky 4804462ee0 -Fixes from source code analyzizer, closes #1768 2015-05-01 10:44:08 -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 972af0b0cb -Fixed shader commets, /* */ works well and crash is solved, fixes #1711 2015-04-26 12:34:42 -03:00
Juan Linietsky ec00cd5c41 -Resolved light clipping issue due to wrong global rect cache, fixes #1722 2015-04-25 10:32:34 -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 4661a6e126 -try to avoid errors when path using ".." is present in script include, fixes #1703 2015-04-18 16:17:33 -03:00
Juan Linietsky fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky 3e20391bf6 -Changed bootsplash option to use a file, fixes #1539
-Added OS.get_splash_tick_msec() to query when splash appeared
2015-04-12 17:55:01 -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 7fc4059b13 read depth fixes 2015-03-31 17:57:16 -03:00
Juan Linietsky f706e3e5d1 Merge pull request #1380 from ElectricSolstice/wparentheses_removal
Changed code to remove gcc -Wparentheses warnings.
2015-03-22 15:05:47 -03:00
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 a6f96f46b7 small optimizations to isometric light demo
should work faster, and even faster if exported.. as textures have been
optimized.
2015-03-10 21:05:49 -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 2c2894ceb6 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/gdscript/gd_tokenizer.cpp
	scene/resources/shader_graph.h
2015-03-03 14:41:36 -03:00
Juan Linietsky 4d2198110b merges from okam repo 2015-03-03 14:39:13 -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 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
romulox_x f4312a5076 added option to disable automatic clearing of viewport render buffer 2015-02-21 01:35:06 -08:00
Juan Linietsky 3fdf3d8eab -fix compilation of godot server 2015-02-19 11:54:03 -03:00
Juan Linietsky 5ef3f7392f support for light and normal mapping in 2D 2015-02-18 19:40:02 -03:00
ElectricSolstice 0e1f34b49d Changed code to remove gcc -Wparentheses warnings. 2015-02-16 18:58:41 -08:00
reduz 2bea642583 -Some more work on 2D Lights (NOT FUNCTIONAL YET!) 2015-02-16 14:45:11 -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 67d357191f begin work on lighting system for 2D
nothing functional yet, just experimenting with API
2015-01-22 11:07:16 -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
Juan Linietsky 04af74596d -fix shader param names broken issue on code completion
-fix z order issue in new 2D engine
2015-01-14 09:05:33 -03:00
Juan Linietsky 9012cd408e -Add support for one-way collision in 2D (only works for kinematic body so far)
-Solve drawing order bug introduced in previous commit: solves #1214
2015-01-13 21:19:11 -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 fbdd925d9b -Work in progress visual shader editor *DOES NOT WORK YET* 2015-01-03 16:52:37 -03:00
Juan Linietsky f7f197c409 -ability to set default textures in shader (needed for visual shader editing)
-work in progress new graph system (will replace current one)
-crash fix in s3m loader (out of bounds acess)
-fixed vbox overriding of separation (fixes empty line between section tabs)
2014-12-21 11:42:44 -03:00
Juan Linietsky c79be979d4 Batch of Bugfixes
-=-=-=-=-=-=-=-=-

-Fixed Export UV XForm (should work now). #923
-Fixed enforcement of limits in property editor. #919
-Fixed long-standing bug of export editings in script inheritance. #914, #859, #756
-Fixed horrible error reporting in shader language. #912
-Added kinematic collision with plane (please test well). #911
-Fixed double animation track insert when using 2D rigs. #904
-VKey updates offset parameter in sprite edition. #901
-Do not allow anymore a script to preload itself. (does not fix #899, but narrows it down)
-Avoid connection editor from overriding selected text. #897
-Fixed timer autostart. #876
-Fixed collision layers in 3D physics. #872
-Improved operators in shader #857
-Fixed ambient lighting bug #834
-Avoid editor from processing gamepad input #813
-Added not keyword #752

Please test!
2014-12-07 02:04:20 -03:00
Juan Linietsky d85b67be53 Bug Fixes
-=-=-=-=-

-Fixed problem with scaling shapes (#827), related to not taking scale in consideration for calculating the moment of inertia
-Added support for multiline strings (or comments) using """
-Save subscene bug, properties not being saved in root node (#806)
-Fix Crash in CollisionPolygon2DEditor (#814)
-Restored Ability to compile without 3D (#795)
-Fix InterpolatedCamera (#803)
-Fix UV Import for OBJ Meshes (#771)
-Fixed issue with modifier gizmos (#794)
-Fixed CapsuleShape gizmo handle (#50)
-Fixed Import Button (not properly working in 3D) (#733)
-Many misc fixes (though no new features)
2014-11-02 11:31:01 -03:00
Juan Linietsky e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Juan Linietsky cd218b8c09 Fixes
-=-=-

-Fixed normalmap depth parameter
-Fixes to DirAccess on Windows
-Double click on resource dock will open them
-Fixes to doc generator (should make github wiki on class list more up to date)
2014-10-14 19:44:41 -03:00
Juan Linietsky a84ba9c853 Collada
-=-=-=-

-Fixed some DAE import & export bugs
-Changed Collada exporter to use the mesh loops API
-Added tangent export to Collada exporter
-Added triangulation option to Collada exporter
-Changed a little how normalmaps are handled in shader. Not sure if it's working properly, be careful.
-Fixed some strange bug with kinematic bodies #776
-Fix release compilaiton issues #782
2014-10-14 01:01:25 -03:00
Juan Linietsky 948fd83cdd Little Bits
-=-=-=-=-=-

-fix duplicate function bug when creating script callback in editor
-fix bug where hiding lights does not work
-fix 2D audio listener bug (romulox_x reported)
-fix exported properties with inheritance bug
-fix timer autostart (make it not work on editor)
-reactivate first camara found if viewport runs out of active camera
-option to hide gizmos in viewport
-changed skeleton gizmo because it sucks
-Make convex shapes using CollisionShape visible (use quickhull class)
-fix up menu when editing a mesh, to export collision, navmesh, convex, etc. from it.
-make a menu option to show SRGB in 3D editor views by default
-make option to edit default light direction in viewport settings
-make option to edit default ambient light in viewport settings
-make software conversion of linear->RGB if hardware support not found
2014-10-12 02:13:22 -03:00
Juan Linietsky 9142d6fc40 Misc Bits
-=-=-=-=-

-Added more missing icons to nodes.
-Added more 3D split view modes
-Fixed annoying script editor bug with keyboard focus
2014-10-09 00:06:51 -03:00
Juan Linietsky af4a97bef9 missing fils from yesterday comit.
must have made some mistake with git,
not sure why they were not sent..
2014-10-03 08:58:41 -03:00
Juan Linietsky b24fe3dd20 Huge Amount of BugFix
-=-=-=-=-=-=-=-=-=-=-

-Fixes to Collada Exporter (avoid crash situtions)
-Fixed to Collada Importer (Fixed Animation Optimizer Bugs)
-Fixes to RigidBody/RigidBody2D body_enter/body_exit, was buggy
-Fixed ability for RigidBody/RigidBody2D to get contacts reported and bodyin/out in Kinematic mode.
-Added proper trigger support for 3D Physics shapes
-Changed proper value for Z-Offset in OmniLight
-Fixed spot attenuation bug in SpotLight
-Fixed some 3D and 2D spatial soudn bugs related to distance attenuation.
-Fixed bugs in EventPlayer (channels were muted by default)
-Fix in ButtonGroup (get nodes in group are now returned in order)
-Fixed Linear->SRGB Conversion, previous algo sucked, new algo works OK
-Changed SRGB->Linear conversion to use hardware if supported, improves texture quality a lot
-Fixed options for Y-Fov and X-Fov in camera, should be more intuitive.
-Fixed bugs related to viewports and transparency

Huge Amount of New Stuff:
-=-=-=-=-=-=-=-==-=-=-=-

-Ability to manually advance an AnimationPlayer that is inactive (with advance() function)
-More work in WinRT platform
-Added XY normalmap support, imports on this format by default. Reduces normlmap size and enables much nice compression using LATC
-Added Anisotropic filter support to textures, can be specified on import
-Added support for Non-Square, Isometric and Hexagonal tilemaps in TileMap.
-Added Isometric Dungeon demo.
-Added simple hexagonal map demo.
-Added Truck-Town demo. Shows how most types of joints and vehicles are used. Please somebody make a nicer town, this one is too hardcore.
-Added an Object-Picking API to both RigidBody and Area! (and relevant demo)
2014-10-03 00:10:51 -03:00
Juan Linietsky 0a557f3bf5 - more fixes on #672 on windows
- added #660, but need help on osx, help please I don't have a mac!
- fixed #667 and #668 (eol detection in comments)
- added #670 (hint when using method without () )
2014-09-19 21:01:41 -03:00
Juan Linietsky e0ce701c8c More Bugfix...
-=-=-=-=-=-==

-Fix bug in camera follow script
-Fix negate operator not working in shader language
-Fix uninitialized pointer in raycast query API
2014-09-17 23:23:42 -03:00
Juan Linietsky 990f6cf50e More Bug Fixes
-=-=-=-=-=-=-

-Fixed a few bugs in Mixer, now playback of chiptunes works great :)
-Changed how visibility AABB generation from skeletons work, it's fully automatic and real-time now, generated from current skeleton pose for the frame.
-Fixed camera in 3D kinematic character demo.
2014-09-17 20:03:10 -03:00
Juan Linietsky 2ee4ac183b Little Bits
-=-=-=-=-=-

-Fixed small bugs all around
-Added ability to show/hide entire sections of the spatial (3D) tree
-WIP new vehicle (not ready yet) based on Bullet
2014-08-14 10:31:38 -03:00
Juan Linietsky 9ff6d55822 Polygon2D
-=-=-=-=-

Another gift for those who make 2D games:
-Edit polygons, concave or convex, color them, texture them and uv-map them
-Corresponding editor
-Can have a custom pivot, so they are compatible with bones and IK
2014-07-07 17:44:21 -03:00
reduz 97731696c9 Merge pull request #541 from marynate/PR-fix-uv-xform
Fix FixedMaterial uv xform not working bug
2014-06-29 19:08:46 -03:00
Juan Linietsky 2af2a84a03 Misc Fixes
==========

-NOTIFICATION_WM_QUIT fixed on android (seems tha way this is reported changed in newer sdk)
-WIP implementation of APK Expansion APIs for publishing games larger than 50mb in Play Store
-Feaures in the new tutorials are all present in the sourcecode
-This (hopefully) should get rid of the animation list order getting corrupted
-Improved 3D Scene Importer (Skeletons, Animations and other stuff were not being merged). Anything missing?
-In code editor, the automatic syntax checker will only use file_exists() to check preload() else it might freeze the editor too much while typing if the preload is a big resource
-Fixed bugs in PolygonPathFinder, stil pending to do a node and a demo
2014-06-27 23:21:45 -03:00
marynate d29ccb4db3 Fix FixedMaterial uv xform not working bug 2014-06-21 23:42:57 +08:00
Juan Linietsky ddc0e7fd3b FineTune HDR and Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=-

-More parameters to ESM shadows
-LightMap Octree now can bake to "hdr" (use HDR8 for now)
-New resource PolygonPathFinder, polygon based pathfinder using A-star algorithm. (will add nodes to use it more easily soon)
2014-06-17 11:58:35 -03:00
Juan Linietsky 703004f830 More 3D Work
-=-=-=-=-=-

-ESM Shadow Mapping for softer and less glitchy shadows
-HDR Pipeline (convert to Linear on texture import, convert to SRGB at the end)
-Fix to xml parse bug
2014-06-16 10:22:26 -03:00
Juan Linietsky 9b8696d3dd Light Baker!
-=-=-=-=-=-=

-Support for lightmap baker, have fun figuring out how it works before tutorial is published.
2014-06-11 10:41:03 -03:00
Juan Linietsky 6f0b4678e2 More 3D Improvements
-=-=-=-=-=-=-=-=-=-=

-Sprite3D and AnimatedSprite3D support.
-Opaque pre-pass works, is compatible with shadows
-Improved shadow map rendering (can differentiate between plain opaque and opaque with shaders/discard/etc)
-Added option to use alpha discard in FixedMaterial
-Improved Glow FX, many more options (three modes, Additive, Screen and SoftLight), strength and scale
-Ability for Background (image or cubemap) to send to glow buffer
-Dumb Deploy of clients now actually works in Android
-Many Many rendering fixes, 3D is much more usable now.
2014-05-29 10:56:39 -03:00
Juan Linietsky 72ae89c5aa Lots of 3D improvements:
-Object Manipulator Gizmo keeps proper scale in all windows and projections, (configurable on settings too).
-Manipulator gizmos for other objects (camera, shapes, etc) massively improved and bug-fixed.
-Manipulator gizmos are different for edited object and other objects.
-Properly highlight manipulator gizmo handles when hovered.
-Fixed bugs in fragment program when using more than 1 light together.
-Reload png/jpg files automatically in editor if edited externally.
-Added 4-stages Parallel Split Shadow Mapping, to improve shadow quality in large scenarios
-Added PCF13 to improve smoothness of shadow borders
-General optimization of directional light shadow mapping for Orthogonal,PSM and PSSM.
-Fixed normal mapping when importing DAE files, works nicely now.
2014-05-04 22:50:23 -03:00
Juan Linietsky a4c1fa12a5 heck 2014-04-19 16:46:52 -03:00
Juan Linietsky ec4ef2d2e7 -Added google play services (needed for some stuff)
-Added new screen resizing options, stretch_2d is removed, new much more flexible ones.
-Fixed bug in viewport (can create more instances in 3d-in-2d demo now)
-Can set android permissions and screen sizes manually in the export settings
-Changed export templates extension to .tpz (too many people unzipped the manually..)
-File dialog now ensures that the proper extension is used (will not allow to save without it)
-Fixed bug that made collision exceptions not work in 2D
2014-04-14 22:43:44 -03:00
Juan Linietsky 7ea3e8267a -Fixed a few bugs in Viewport
-Made a few demos using Viewport to show it's true power!
-Fixed some start-up error messages.
2014-04-10 00:18:27 -03:00
Juan Linietsky 31ce3c5fd0 -fix bug in cache for atlas import/export
-fix some menus
-fixed bug in out transition curves
-detect and remove file:/// in collada
-remove multiscript for now
-remove dependencies on mouse in OS, moved to Input
-avoid fscache from screwing up (fix might make it slower, but it works)
-funcref was missing, it's there now
2014-03-13 22:57:24 -03:00
Juan Linietsky 0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00