Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-03Workbench: Reduce VRAM usage depending on modeClément Foucault
We exploit the fact that we are using the metallic workflow for material and pass the metallic parameter instead of the specular color. Pack the front facing bit in the color buffer only for matcap display. Change buffer formats to use less bytes as possible. Also don't request buffers that we won't use. Saved 40MB on 2K screen on StudioLight + Shadows + Specular Lighting. Includes several cleanups.
2018-11-30Workbench: Add Shadow Focus and change Shadow OrientationClément Foucault
Shadow focus let the user choose how hard are is the shadows transition. Harder shadow transition can be used for stylistic effects or more uniform shading. Make shadow orientation respect the same orientation as the studio light (view from +Y direction aka. front view). Make the default shadow direction more similar to the default light position (the default light object, not the default studio lighting).
2018-11-30Workbench: Cleanups & SimplificationsClément Foucault
* Move the curvature computation to the cavity pass: One can argue it's not the best performance wise (it gets a tiny perf pernalty if it is done alone without the ssao), but it make the code cleaner and reduce considerably the number of shader variation possible. * Lower shader variation to 2^8 instead of 2^12
2018-11-29Workbench: Rename orientation to type and Camera studio light to StudioClément Foucault
2018-11-28Workbench: Change Studio lightingClément Foucault
This is in order to have more flexible ligthing presets in the future. The diffuse lighting from hdris was nice but lacked the corresponding specular information. This is an attempt to make it possible to customize the lighting and have a cheap/easy/nice-looking pseudo-PBR workflow. * Add cheap PBR to Workbench with fresnel and better roughness support. This improves the look of the metallic surfaces and is easier to control. * Add ambient light to studio lights settings: just a constant color added to the shading. * Add Smooth option to studio lights settings: This option fakes the effect of making the light bigger making the lighting smoother for this light. Smoother lights gets reflected like a background hdri. * Change default light settings to include the smooth params. * Remove specular highlights from flat shading. (could be added back but how do we make it good looking?) * If specular lighting is disabled, use base color without using metallic. * Include a lot of code simplification/cleanup/confusion fix.
2018-11-26Workbench: Add Curvature overlay for better visibility of surface detail for ↵Lukas Stockner
e.g. sculpting The approach is fairly simple, just apply an edge detection filter to the view normal and scale the brightness based on that. The overlay is disabled at object boundaries to avoid dark lines around objects. Generally, this implementation follows the proposal of @monio at https://blender.community/c/rightclickselect/J9bbbc. The changes are: - Dynamic filter radius (on high-DPI displays, a radius of two is used) - Options to reduce the strength of both ridges and valleys - Tweaked function for the strength reduction (the original method actually had a local maximum, resulting in a brighter line inside valleys) - Multiplication for blending instead of overlay, which doesn't work reliably with scene-referred intensities - Renamed to point out the distinction between it and the SSAO-based cavity overlay Reviewers: jbakker Reviewed By: jbakker Subscribers: billreynish, manitwo, linko, monio Differential Revision: https://developer.blender.org/D3617
2018-11-20Fix T57891: Radius of strip hair doesn't scale with object scaleClément Foucault
Note that this only works fine with uniformly scaled objects. Otherwise, the hair thickness will vary in a weird way depending on viewing angles.
2018-11-19Workbench: Use non-negative lighting evaluationClément Foucault
This makes the lighting a bit more diffuse but don't produce negative values. Add a bias of 1.5f to make the lighting a bit more directionnal. The implementation is based on: https://github.com/kayru/Probulator/blob/master/Source/Probulator/SphericalHarmonics.h#L136 which is derived from: http://www.geomerics.com/wp-content/uploads/2015/08/CEDEC_Geomerics_ReconstructingDiffuseLighting1.pdf The shader implementation is optimized and has the same runtime cost as previous method: * no sh eval : 0.13ms * prev sh eval : 0.14ms * new sh eval : 0.22ms * new sh eval opti : 0.14ms
2018-11-19Workbench: Performance: Fix performance drop caused by specular lightingClément Foucault
In my test, the composite pass went from 1.52ms to 0.24ms when specular lighting is enabled.
2018-11-19Studio Lights: Big CleanupsClément Foucault
* Less Lengthy enum/macro names. * Optimize computation of Spherical Harmonics. * Reduce radiance cubemap size a bit. Higher resolution is not necessary. * Remove STUDIOLIGHT_LIGHT_DIRECTION_CALCULATED (was not used). * Do windowing on each component separately instead of using luminance. * Use ITER_PIXELS to iterate on each pixels, using pixel center coords. * Remove gpu_matcap_3components as it is only needed when creating the gputex. * Fix a lot of confusion in axis denomination/swizzle. These changes should not affect functionallity.
2018-11-13Workbench: Volume: Fix slice display opacityClément Foucault
2018-11-07Workbench: Scale shadowing based on densityClément Foucault
This makes previewing thick smoke a bit more plausible with better shadows. The shadowing is clamped so that nothing is completely black. That said the lower bound is pretty low. This is not an option but could become one if users do not like it in all situations.
2018-11-07Workbench: Add cubic filtering for smoke simulationClément Foucault
The option is per domain and only affects the solid / xray / wireframe view. Eevee is not yet supported.
2018-11-07Workbench: Improve volume render by removing noise using temporal AAClément Foucault
2018-11-07Workbench: Fix volumetric blending leading to corrupted render resultsClément Foucault
Use simpler premultiplied blending.
2018-10-31Workbench: Attenuate dithering effect when using viewport renderClément Foucault
Quick hack to get rid of most of the noise when doing a viewport render in xray or wireframe mode.
2018-10-09Workbench: Smoke: Add support for Color Mappping for smoke debuggingClément Foucault
2018-10-08Workbench: Smoke: Port back Flame displayClément Foucault
The appearance is a bit different than 2.79 where the flame was just added on top of the smoke without correct blending. Now it's much more realistic and using volumetric integration. You can see the smoke actually masking the flame. The other difference is that the flame color was not using proper color managed blending. Now with the use of filmic it shows bright yellow. This could be adjusted and displayed as a user parameter in the future.
2018-10-08Workbench: Smoke: Fix displayClément Foucault
Includes the following fixes - Fix smoke texture creation: data was interpreted as Byte instead of Floats. - Fix Velocity texture not being free after draw: also was causing crashes. - Fix display_thickness not being copied during COW. - Fix Blending and general volume rendering algorithm. - Add Volume Shadowing support.
2018-10-04Fix T56992 caused by typo in previous fixClément Foucault
2018-10-03Fix T56992: OpenGL Render Engine ignores Transparent BackgroundClément Foucault
Correct the outline blending for alpha 0 background.
2018-08-14Workbench: Add support for the xray object optionClément Foucault
Xray object can be see through other objects. They cast shadows as well but cannot receive then.
2018-07-31Workbench: Correct ifndef after recent changesSergey Sharybin
Usage of matcap image uniform had different ifdef than definition of that uniform. Assuming the usage was correct, and the definition needed an update. Prevents shader from compilation failure and from aborts in debug builds.
2018-07-30Cleanup: trailing spaceCampbell Barton
2018-07-16Smoke: Port display to Workbench + object modeClément Foucault
This does not fix the smokesim. It only port the drawing method. The Object mode engine is in charge of rendering the velocity debugging. Things left to do: - Flame rendering. - Color Ramp coloring of volume data. - View facing slicing (for now it's only doing sampling starting from the volume bounds which gives a squarish look) - Add option to enable dithering (currently on by default.
2018-07-08Cleanup: rename 'ct' to 'len' for editorsCampbell Barton
2018-07-03Workbench: Fix wrong shading shadoow direction.Clément Foucault
2018-06-29Workbench: Spherical Harmonics testsJeroen Bakker
Added a compile directive in order to test SH4 in stead of SH2Win. For now I disabled SH4, it is a bit more clear, but has a small performance impact. Will check later for a better approach
2018-06-29Workbench: Transparent texturesJeroen Bakker
Worknemch now supports transparent textures. As the main engine is a deferred shading only a cutoff is supported (draw or don't draw this pixel)
2018-06-29Workbench: TAA optimalizationJeroen Bakker
First frame of the TAA is just a regular copy of the previous buffer. so we write directly to the final buffer and skip the taa shader. We do init the history buffer via blit so it will be initialized for the other iterations.
2018-06-29Workbench: Removed MaterialData UBOJeroen Bakker
Most of the times the materials differ due to the object_id. This was an overhead and resulted in instabilities on Intel graphical cards. This commit will revert the Material Data UBO and replace it with normal uniform.
2018-06-29Merge branch 'master' into blender2.8Campbell Barton
2018-06-28Workbench: Removed unused code in cavity shaderJeroen Bakker
2018-06-27Cleanup: styleCampbell Barton
2018-06-27Workbench: Use different samples in AO per TAA iterationJeroen Bakker
Per iteration a different AO samples are used, so the final result is less distorted. Will improve the quality of the image a lot when the cavity option is turned on.
2018-06-27Workbench: Added a quality slider for the viewportJeroen Bakker
Currently only attached to the Anti Aliasing of the solid mode of the viewport. But eventually we could add other options here. Quality setting can be found in the System tab of the userpref. The slider goes from No Antialiasing (0.0 - 0.1) to FXAA (0.1 - 0.25) to TAA8 (0.25 - 0.6) to TAA16 (0.6 - 0.8) to TAA32 (0.8 - 1.0)
2018-06-26Workbench: TAA quick fix for AMD cardsJeroen Bakker
Seems to be that mix(a, b, 1.0) will not give you b. on nvidia this is not a problem as a was initialized with 0.0, but on AMD it can be any floating point number, resulting that mix(inf, b, 1.0) was still more to inf than to b.
2018-06-26Workbench: Tempural Anti AliasingJeroen Bakker
- FXAA is now also done in the workbench_forward engine. - User can enable TAA8 in the userpref by setting their max viewport AA to TAA8. FXAA will still be used when navigating
2018-06-21T55570: Moved Texture drawtype as to shading popoverJeroen Bakker
the use of the texture drawtype is limited. so who should we have it this prominent on the screen. By adding it as a shading.color_type option we should save some screenspace.
2018-06-20Studiolight: Spherical harmonicsJeroen Bakker
Compile time option to reduce the level of the SH
2018-06-20T55550: Workbench Shadows are incorrect in first draw cycleJeroen Bakker
Shadows uses the old location for light_direction. Maybe a merge conflict.
2018-06-18Workbench: increased Quality of the diffuse lighting modelJeroen Bakker
- implemented Spherical Harmonics L2 for diffuse shading. TODO: caching the precalculated harmonics so it won't take soo long to open the popover
2018-06-15Workbench OpenGL render: always render alpha on 1.0Jeroen Bakker
Old implementation rendered alpha to 0.0 for background, but only during deferred rendering. We should attach this to an DNA setting and also let the forward shading respect this. But for now this is a better default
2018-06-15Workbench: FXAAJeroen Bakker
FXAA implementation in the deferred renderpass of the workbench. Can be enabled per 3dview. Eventually this will also be a user setting as it is more a system/performance setting than a scene setting.
2018-06-11Workbench: Flipping MatCaps for forward shadingJeroen Bakker
2018-06-10Workbench: Xray: Make dithered depth dependant on alpha.Clément Foucault
The range is 0.25 to 0.75 opacity when the Xray opacity is between 0.0 to 1.0. This is to avoid loosing completely the sense of occlusion when having no other solid drawing than the wireframe and loosing the transparency when xray alpha is at 1.0. Also replace Bayer (checkerboard) method by interlieved gradient noise to minimize the chance to loose an occluded line completely. Other noise function could be tested in the future.
2018-06-10Workbench: Xray: Make nearest surfaces more clearClément Foucault
By using equation 7 from the paper, we make the surfaces nearest to the viewpoint appear more "opaque". This gives better sense of ordering than the previous weighting function that was really not doing anything.
2018-06-10Workbench: Xray: Optimize and fix implementation.Clément Foucault
There was a method explained in the Weighted Blended Order-Independent Transparency paper to support hardware that does not support per render target blending function. So now only 2 geometry passes are required instead of 3 (one being the outline/depth fill pass). This also fix how the blending is done. There was some premult confusion in the implementation.
2018-06-10Fix T55423: GLSL compilation error Flat + XRayJeroen Bakker
2018-06-09Workbench: Fix material compilation.Clément Foucault