Commit Graph

221 Commits

Author SHA1 Message Date
Thomas Herzog b4d3f541e7 add 3D textures 2018-07-30 12:20:27 +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
Juan Linietsky 4b549faaab transmission was broken, fix was made. Also fixed treshold. 2018-07-22 14:04:11 -03:00
Juan Linietsky ad88979841 Fix opaque pre pass not casting shadows 2018-07-22 13:18:27 -03:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03: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
Juan Linietsky 7dcaabaf19 Support for CPU based particles, which aids compatibility with OpenGL ES 2.0 2018-07-06 20:21:42 -03: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
Bastiaan Olij f4638d16f1 Fixed generating radiance texture when using viewport texture for sky 2018-05-19 12:37:26 +10:00
Juan Linietsky f1d2b0ebf9
Merge pull request #18159 from ShyRed/viewportsky
Fix binding of ViewportTexture to Sky
2018-05-07 15:34:13 -03:00
Bastiaan Olij 6f7fefa489 Added option to viewport to keep linear color 2018-05-06 19:28:09 +10:00
ShyRed deca3f18b7 Fix binding of ViewportTexture to Sky
In order to the get the actual rendered image from a ViewportTexture the sky needs to access the proxy texture.
2018-04-12 22:51:35 +02:00
Ben Hickling 314a419511 multiply blend mode fix for spatial materials 2018-03-26 14:23:43 +01:00
Wilson E. Alvarez e9ac87390c Fixed several leaks in VisualServerScene, RasterizerSceneGLES3 and RasterizerGLES3 2018-03-13 00:22:08 -04:00
Poommetee Ketson 7a1b7ddf6c Fix error spam when using PanoramaSky without texture 2018-02-22 21:43:17 +07:00
Rémi Verschelde 3ab72da645
Merge pull request #15710 from AndreaCatania/p1
Fixed sky reflection rendering when transparent BG
2018-02-14 16:29:08 +01:00
Hugo Locurcio 84267915f5
Remove a few debugging prints 2018-02-05 11:30:50 +01:00
AndreaCatania c34f18acce Fixed sky reflection rendering when transparent BG 2018-01-14 20:28:26 +01:00
Juan Linietsky 9cf19f8dee Ensure depth reads go via alpha render list, fixes #14759 2018-01-06 17:38:39 -03:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Juan Linietsky c858dbdc4e Fixed proper texture binding for sprite material, fixes #13987 2017-12-26 15:56:18 -03:00
Rémi Verschelde 8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Juan Linietsky a9ddc8f7cf
Merge pull request #14614 from vitrig/fix-immediate-geometry-acts-strangely
Fix #14564 ImmediateGeometry normals act strangely compared to SurfaceTool
2017-12-16 08:59:27 -03:00
Juan Linietsky f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
Przemyslaw Czarnota 08c8d46593 Fix #14564 ImmediateGeometry normals act strangely compared to SurfaceTool 2017-12-13 07:45:24 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Juan Linietsky d438ac0aed -Implemented Proxy Textures (needed to solve the problem with ViewportTexture)
-Properly use hierarchy to initialize resources local to scene (solves problem of GUI in 3D)
2017-12-04 15:56:17 -03:00
Juan Linietsky d8953fe737 small fix so shadows dont need to use a separate material for world vertex coords (more perf) 2017-12-01 08:55:21 -03:00
Juan Linietsky 0243803117 Properly take into consideration that VERTEX must be written to in opaque pre pass, does some speed up to scenes using triplanar. 2017-12-01 08:45:36 -03:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Juan Linietsky 4c000a05f6 Do not enable light if atlas size is 0, closes #9335 2017-11-13 15:13:01 -03:00
Rémi Verschelde ed57f0a0d4 Remove get_default_video_mode definition on OSX/iOS
It had been missed in d09160a8b6 and broke compilation
for those platforms.

Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
Juan Linietsky 4785e66eea
Merge pull request #12288 from tagcup/expose_viewport_size
Expose VIEWPORT_SIZE in shader language.
2017-10-30 19:32:21 -03:00
Ferenc Arn a0fc641f25 Expose VIEWPORT_SIZE in shader language.
Fixes #11710.
2017-10-26 15:00:28 -04:00
Juan Linietsky b4f0f59d9f Many fixes to SSAO, should be good now. 2017-10-22 13:52:48 -03:00
Hiroshi Ogawa 7ee7dec5a2 Fix directional light specular 2017-10-17 15:35:22 +09:00
Rémi Verschelde bac5de0782 Merge pull request #11966 from BastiaanOlij/stereo_sky
Fix issues when rendering panoramic sky in stereoscopic
2017-10-11 22:30:44 +02:00
Gilles Roudiere 45c878e380 Merge pull request #11958 from hi-ogawa/fix-shadow-map-front-face
Fix front face definition
2017-10-11 11:02:43 +02:00
Bastiaan Olij 179f483782 Fix issues when rendering panoramic sky in stereoscopic 2017-10-10 22:51:37 +11:00
Hiroshi Ogawa 1967972f6e Track LightInstance::shadow_atlases so that it will be freed properly 2017-10-09 09:51:10 +09:00
Hiroshi Ogawa 2c966493c5 Fix front face definition 2017-10-09 09:18:32 +09:00
Indah Sylvia a20ddfdb63 Fixed MSVC build issue introduced by commit c864b782c0 2017-10-02 19:10:07 +07:00
Juan Linietsky c864b782c0 Using advise from Matias, left the 0-1 range for lights, divisiom by PI, and multiplied lights by PI internally. 2017-10-01 20:33:38 -03:00
Bastiaan Olij cf56711a7e near and far are reserved for near and far pointers in MSVR 2017-09-30 10:43:34 +10:00
Juan Linietsky d4e20555e8 Ability to set a custom FOV makes it possible to use sky on orthogonal view. Closes #9186 2017-09-29 18:56:52 -03:00
Juan Linietsky bf371dcb32 Added proximity and distance fade to SpatialMaterial 2017-09-21 15:20:28 -03:00
Juan Linietsky 5ca3af3371 Ability to use a sky for reflection together with a background color. 2017-09-07 20:45:37 -03:00
Juan Linietsky c023a132d0 Fixed orthogonal projection in all effects and post processes 2017-09-07 20:16:33 -03:00
Juan Linietsky eedb39091a Several fixes to directional shadows, closes #10926
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
Juan Linietsky 8047127bc6 Force redraw when HDR auto exposure is enable in all frames, fixes #10784 2017-09-06 23:02:06 -03:00
Rémi Verschelde 54e81c7955 Merge pull request #10990 from MednauN/unshaded-fix
Fix unshaded materials render
2017-09-05 15:51:35 +02:00
Evgeny Zuev 094237eca0 Fix unshaded materials render 2017-09-05 12:19:15 +07:00
Juan Linietsky 2802dced84 Automatically redraw when shaders using TIME are visible, fixes #10554 2017-09-05 00:30:39 -03:00
Juan Linietsky e611ff5f01 Fix opaque pre pass, closes #10472 2017-09-04 20:27:45 -03:00
Hein-Pieter van Braam 9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde dac150108a Merge pull request #10846 from hpvb/fix-sign-compare
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Juan Linietsky 8f30c52a37 Removed ontop property, added a material rendering priority system. Fixes #9935, closes #10135 2017-09-01 13:01:08 -03:00
Poommetee Ketson ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
Hein-Pieter van Braam f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Juan Linietsky a1d7c496b9 Improved default directional shadow params, added bias split scale, closes #9828 2017-08-30 08:08:44 -03:00
Juan Linietsky e8b05ca996 -Fixed screen edge SSAO filter, fixes #9678
-Raised the SSAO limits, making the effect a lot more useful
-Still pending to enable tresholding to avoid some hollow places
2017-08-29 11:46:02 -03:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Juan Linietsky 90445aae67 Fixed opaque unshaded materials, they go through the regular opaque render list, closes #9917 2017-08-25 09:56:10 -03:00
Juan Linietsky e54c4028ef Invalid materials or shaders will now interrupt the next chain in materials, closes #9570 2017-08-22 11:23:40 -03:00
Juan Linietsky 00a26f512c Several fixes to subsurface scattering. Closes #9530 2017-08-21 21:38:01 -03:00
Juan Linietsky 0bdbe370bf Implemented missing opaque prepass render mode, fixes #9452 2017-08-20 21:26:15 -03:00
Juan Linietsky 7e5890d23d -Fix all shadow and culling related issues, fixes #9330 2017-08-19 20:07:21 -03: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
Juan Linietsky df573f5c3a -Restored Sprite3D to working function, fixes #2061, fixes #9738
-Restored an alpha scissor property in Material
2017-08-08 17:23:44 -03:00
Henrik Andersson ca497df2d3 Fix rendering of ImmediateGeometry with UVs
When using set_uv or any attrib except vertex, the geometry broke.
2017-08-03 05:06:06 +02:00
Henrik Andersson fdc421836f Make it possible to render ImmediateGeometry
Geometry for ImmediateGeometry was never added inside _fill_render_list.
2017-08-03 04:04:11 +02:00
Juan Linietsky f5277e347d Fixes to glow and auto exposure, closes #9797, closes #9106 2017-07-26 00:40:32 -03:00
Evgeny Zuev 4ed6e4a70e Fix switching SRGB extension happen before binding of texture
Previously, texture parameter `_TEXTURE_SRGB_DECODE_EXT` was changed
before the call of `glBindTexture`, which caused modification of previously
bound texture instead of desired one. Now it's changed after `glBindTexture`.
2017-07-24 18:25:55 +07:00
Juan Linietsky 772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03: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
Juan Linietsky 3da3a36034 Many fixes to improve GI Probe quality 2017-07-15 23:24:37 -03:00
Juan Linietsky 741145febd -Fix for multiple reflection probes causing issues.
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Juan Linietsky 2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Rémi Verschelde d23fc16b2d Merge pull request #9564 from Noshyaar/pr-threshold
Refactor 'treshold' to 'threshold'
2017-07-08 23:51:53 +02:00
Juan Linietsky f4c8c552f9 Added triplanar mapping, toon mode, and more specular modes for materials. Added multipass support for materials. 2017-07-08 12:36:15 -03:00
Poommetee Ketson 2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
Juan Linietsky 1a857c5149 Fixed bug regarding to strange black shapes appearing in ice from material tester demo 2017-07-05 22:36:13 -03:00
Juan Linietsky 12a8fedfe6 Some changes to dual paraboloid envmap generation, fixes somme bleeding 2017-07-05 19:39:45 -03:00
Juan Linietsky 7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -03:00
Juan Linietsky 0cac32910a -Restored support for Canvas BG mode on Environment
-Improved ease of use of WorldEnvironment (no longer extends Spatial)
-2D editor viewport can now work in HDR!
2017-06-24 08:58:27 -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 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
Juan Linietsky 80929d36be TIME constant reverted to a single float, fixes #9123 2017-06-16 08:30:21 -03:00
Juan Linietsky 5d02b948a9 Cleaned up Screen Space Reflections, closes #8119 2017-06-16 08:30:21 -03:00
Juan Linietsky 29cfc365aa Fixes to SSR, WIP. 2017-06-16 08:30:21 -03:00
Juan Linietsky da14225ad8 fix bug related to unshaded materials not working on MSVC. Not cleanest solution, might think about how to improve later. 2017-06-15 10:36:00 -03: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 95c248e24f Remove default shadow bias of 0.1 for spot and omni light, fixes #8654 2017-06-13 00:07:05 -03:00
Juan Linietsky 831860695c Fix empty shader related crash, closes #8314 2017-06-12 19:23:37 -03:00