summaryrefslogtreecommitdiff
path: root/scene/resources/environment.cpp
AgeCommit message (Collapse)Author
2020-07-01Environment: Refactor code for readability + moreRémi Verschelde
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
2020-06-30Write "Aces" tonemapping in uppercase as it's an acronymHugo Locurcio
2020-06-26Addition of SDFGI for open world global illuminationJuan Linietsky
Move GI to a deferred pass
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Remove redundant void argument listsRémi Verschelde
Using clang-tidy's `modernize-redundant-void-arg`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-04-23Tweak SSAO property hints to allow setting more precise valuesHugo Locurcio
This was requested by an user on Twitter who was working on a game with a very small-scale world.
2020-04-02Merge pull request #37512 from reduz/implement-ssrRémi Verschelde
Re-Added screen space reflection.
2020-04-02Re-Added screen space reflection.Juan Linietsky
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-30Move glow upscale quality to a global setting, for consistencyJuan Linietsky
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-14Fix bind method set_override_exposure_enabled of CameraEffectsHandola
2020-02-13Remove more deprecated methods and codeRémi Verschelde
2020-02-12doc: Sync classref with current sourceRémi Verschelde
Lots of internal API changes and some docstrings were lost in the conversion. I manually salvaged many of them but for all the rendering-related ones, an additional pass is needed. Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-11Re-implemented screen space ambient occlusionJuan Linietsky
2020-02-11DOF fully implemented, can be edited on the fly.Juan Linietsky
2020-02-11WIP CameraEffects implementation (bokeh not working for now)Juan Linietsky
2020-02-11-Refactored post processing, re-added glow and added a mix blend mode.Juan Linietsky
2020-02-11Several fixes to 3D rendering, and multimesh implementation.Juan Linietsky
2020-02-11Environment sky more or less working.Juan Linietsky
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-11-26Only display Environment sky rotation in degrees in the InspectorHugo Locurcio
This makes it consistent with Spatial.
2019-10-01updated defaults and documentation for GLES2 glowclayjohn
2019-09-30Implement DOF blur, Glow, and BCS in GLES2clayjohn
2019-08-27Tweak the default fog depth end to use a fixed valueHugo Locurcio
The previous value (0) was a special case in the fog shader. It made the shader use the Camera's `far` value as the fog depth end value, which led to an inconsistency in the fog rendering between the editor and a running project. This is because the editor camera uses a `far` property of 500 by default, whereas the Camera node's `far` property is set to 100 by default. The new fixed value is equal to the default `far` property in Camera, which leads to a consistent appearance between the editor and a running project. This closes #31686.
2019-08-07Invert and adjust the default fog height valuesHugo Locurcio
This makes height fog appear at the bottom of the scene (instead of the top), which is generally the expected result. This also tweaks the fog height setting hint to be more flexible. This closes #30709.
2019-06-15Adding a new Camera Server implementation to Godot.BastiaanOlij
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-05-26Improve SSAO performance and qualityHugo Locurcio
This decreases the number of samples significantly, leading to a notable performance increase with only a very slight loss in visual quality. This also tweaks the default SSAO settings to use 3×3 blurring, which makes noise patterns much less visible.
2019-02-12Merge pull request #25481 from hpvb/fix-ubsan-asan-reportsRémi Verschelde
Fix many asan and ubsan reported issues
2019-02-06Hide new sky properties if we don't have sky as a backgroundBastiaan Olij
2019-01-30Fix many asan and ubsan reported issuesHein-Pieter van Braam
This allows most demos to run without any ubsan or asan errors. There are still some things in thirdpart/ and some things in AudioServer that needs a look but this fixes a lot of issues. This should help debug less obvious issues, hopefully. This fixes #25217 and fixes #25218
2019-01-14Hide worldenvironment settings not relevant in GLES2. Fixes #23281Juan Linietsky
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-15Adding option to re-orient our skyBastiaan Olij
2018-11-28Fix style issues and signature mismatchRémi Verschelde
2018-11-28Added luminance capping to avoid glitches on small dots. closes #17996Juan Linietsky
2018-11-13Add parameter for fog max depth and use alpha as density.Dominique LaSalle
2018-10-02Merge pull request #21436 from CptPotato/tonemap-fixesRémi Verschelde
tonemapping fixes
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-08-27fix reinhard tonemapper, modified filmic tonemapper, added internal exposure ↵alex-poe
bias
2018-07-02Added ability for SSAO to affect AO textures tooJuan Linietsky
2018-01-12Bind many more properties to scriptsBojidar Marinov
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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-03found via cppcheck:firefly2442
remove code that will never run make definition and declaration names for parameters match change floats that were being set to bool values remove pointer that is never used
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!