summaryrefslogtreecommitdiff
path: root/scene/resources/material.h
AgeCommit message (Collapse)Author
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-04-08Refactored shadowmapping.Juan Linietsky
- Made shadow bias size independent, so it will remain when changing light or camera size. - Implemented normal offset bias, which greatly enhances quality. - Added transmission to subsurface scattering - Reimplemented shadow filter modes Closes #17260
2020-04-04Re-implement subsurface scattering.Juan Linietsky
The size settings are more "just works", with default scale and depth scale values that don't need much tweaking. Additionally, a "skin" mode was added so skin looks better. EDIT: Cleaned up SSR filter shader a bit.
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-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-20Fix MIMPAMPS typos in constants throughout the engineAndrii Doroshenko (Xrayez)
2020-02-13Remove more deprecated methods and codeRémi Verschelde
2020-02-11Modernized default 3D material, fixes material bugs.Juan Linietsky
2020-02-11Changes to material required to add custom shaders in RD rendererJuan 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-28Merge pull request #35670 from clayjohn/material-flag-cacheRémi Verschelde
Add an extra bit to material flag cache
2020-01-28Add an extra bit to material flag cacheclayjohn
2020-01-26doc: Complete documentation for VideoStreamsRémi Verschelde
Also quick clean up of the matching C++ files.
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-25Fix bug where specularmode disabled is not cachedclayjohn
2019-11-17Properly update texture when roughness/metallic setclayjohn
2019-08-29Merge pull request #30635 from KoBeWi/billbo_3dnsRémi Verschelde
Add a Billboard property for Sprite3D
2019-08-28Add a Billboard property for Sprite3DTomasz Chabora
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-06-19Made use of semicolons more consitent, fixed formattingJohnJLight
2019-05-21Implement shadow to opacityBastiaan Olij
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-21Moved dirty material lists from static to lifetime controlled by main.Ibrahn Sahir
As with 7d82bed4f4cac8f5227d935c0496290e24eb48c8, The list is now destroyed before the OS object, so can print errors if there are unfreed materials.
2018-11-14Ability to toggle flipping of tangent and binormal in depth parallax ↵Juan Linietsky
materials. Fixes #15934.
2018-11-04Remove animation loop from ParticlesMaterial + improvements to CPUParticles2DJFonS
Remove animation loop from ParticlesMaterial and move it to SpatialMaterial for 3D particles and Particles2D for the 2D case. Added animation to CPUParticles2D as well as the "Convert to CPUParticles2D" to the PAarticles2D menu.
2018-10-03Fix some warnings raised by MSVC 2017Rémi Verschelde
Disabled signed/unsigned warnings like for GCC/Clang (warning C4018: '>=': signed/unsigned mismatch). Fixes the following MSVC 2017 warnings: ``` core\image.cpp(999): warning C4804: '>': unsafe use of type 'bool' in operation core\io\compression.cpp(178): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) editor\doc\doc_dump.cpp(226): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) scene/resources/material.h(289): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) scene/resources/material.h(298): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) editor\editor_themes.cpp(379): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation ```
2018-09-28-Lightmap and lightmap capture support for GLES2Juan Linietsky
-Added hint to not show some properties when running on low end gfx
2018-09-13Set uniform default values in inspectorJFonS
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-22Add distance based dithering to the default material.Juan Linietsky
2018-07-26Added keep scale flag to billboard materialsJFonS
2018-07-17Add disable ambient light flag to shaders and materialsAlex Roman
2018-07-14Visual Shaders are back.Juan Linietsky
2018-06-21Add render mode to ensure correct normals when using non-uniform scalingJFonS
2018-03-29Added flag on SpatialMaterial to disable shadowsJFonS
2018-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
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-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-14-Add lightmapperJuan Linietsky
-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-06-Fix particles with size==0, closes #13931Juan Linietsky
-Fixed material previews (dont show sphere unless for spatial)
2017-12-04-Implemented Proxy Textures (needed to solve the problem with ViewportTexture)Juan Linietsky
-Properly use hierarchy to initialize resources local to scene (solves problem of GUI in 3D)
2017-11-15-Ability to choose operator for emission, closes #10441Juan Linietsky
-Ability to use proper operator for GI Probe, closes #10534 -Closes #12938 as it's no longer needed (thanks for the work though)
2017-10-23Revert "Rename Schlick GGX to GGX."Rémi Verschelde
2017-10-21Rename Schlick GGX to GGX.Ferenc Arn
Schlick's approximation and GGX are orthogonal concepts. Furthermore, it's usage so far has been inconsistent: we don't even use it with anisotropic SchlickGGX, and Burley (Disney) diffuse does use it while its name doesn't indicate it. The use of Schlick's approximation in Burley and GGX is an implementation detail and doesn't need to be reflected to the namig.
2017-10-19Fix spatial shader conversion with textureHiroshi Ogawa
2017-10-01Switched Burley/Lambert, and restored diffuse term to 0-1 range for ↵Juan Linietsky
compatibility.
2017-09-23Added light affect parameter to baked AOJuan Linietsky
2017-09-22Ability to convert from SpatialMaterial to ShaderMaterialJuan Linietsky
2017-09-21Added proximity and distance fade to SpatialMaterialJuan Linietsky
2017-09-05hide next pass for material types that make it pointless, closes #10686Juan Linietsky