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
2020-04-27Fix T75736 Viewport update problem when switching between view layersClément Foucault
The problem comes from the fact by no data being modified when switching viewlayers. To follow what the external render engines do, we completely reset the viewport by freeing the GPUViewport to avoid any cached data from being kept.
2020-04-19Fix T75902 Workbench: render crashClément Foucault
2020-04-17Fix T74805 Workbench: Back faces flicker with Auto Depth is enabledClément Foucault
2020-03-31Fix T74898: Multiresolution Ghost After OrbitingJeroen Bakker
EEVEE and Workbench both had the same issue that they continue with the last sample when leaving navigating. This is ok for regular meshes as they are all the same. For multiresolution it ain't as a low res version of the mesh is used during navigation. This patch also resets the AA samples when the user leaves navigation.
2020-03-24Fix T74744: Studio Lights editor not updating in realtime when tweakingPhilipp Oeser
the settings Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging), reactivates the NS_VIEW3D_GPU notifier (introduced in rB2ad3d8f158d2 -- but not going anywhere atm.) to check changes to rv3d rflag which indicated UserStudioLight has changed. To not have updates all the time, the rflag also needs to be cleared again (see original rB2ad3d8f158d2). Maniphest Tasks: T74744 Differential Revision: https://developer.blender.org/D7194
2020-03-24Fix T74872: Clipping Region not updatingPhilipp Oeser
Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging), needs to also check the clip_state (to detect changes in DRW_STATE_CLIP_PLANES). Maniphest Tasks: T74872 Differential Revision: https://developer.blender.org/D7193
2020-03-24Fix T74957: Matcap flip not updatingPhilipp Oeser
Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging from operators), needs to also check the shading.flag (to detect changes in V3D_SHADING_MATCAP_FLIP_X). Differential Revision: https://developer.blender.org/D7192
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-16Workbench: Crash When Rendering With StereoJeroen Bakker
2020-03-11Workbench Simplification RefactorClément Foucault
This patch is (almost) a complete rewrite of workbench engine. The features remain unchanged but the code quality is greatly improved. Hair shading is brighter but also more correct. This also introduce the concept of `DRWShaderLibrary` to make a simple include system inside the GLSL files. Differential Revision: https://developer.blender.org/D7060
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2019-12-11DrawManager: Disable Clipping in material/rendered modeJeroen Bakker
Viewport: Disable Clipping For EEVEE and External Renderers Currently it is possible that, when using viewport clipping, the display and tools communicate different information to the user then the renderer does. The reason is that the renderer does not support viewport clipping. Both EEVEE and Cycles do not support it. This patch will disable the clipping in all the tools and drawing code when the viewport drawing mode is `Material Preview` or `Rendered`. This patch introduces a `RV3D_CLIPPING_ENABLED` util that checks if clipping is enabled for the given `rv3d` and `v3d`. Also in places where it was needed we added the `ViewContext` as a carrier for the `View3D` and `RegionView3D`. There are a few areas in the tooling (select, projection painting) that still needs to be tackled after this patch. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6047
2019-11-27Workbench: PerformanceJeroen Bakker
Small performance improvements by caching the world_ubo in the World. It was detected that NVIDIA driver created threads to update the world_ubo (304 bytes). This patch will reuse the previous created ubo when not changed. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6087
2019-10-16Workbench: Background DitheringJeroen Bakker
Background dithering was introduced to solve banding issues on gradient backgrounds. This patch will enable dithering based on the texture that is used for drawing. Only when using a GPU_RGBA8 texture the dithering will be enabled. This disables dithering for final rendering, vertex and texture paint modes. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6056
2019-07-02Fix workbench render crash in background modeBrecht Van Lommel
2019-07-01Workbench: Combine Xray Alpha with object/material alpha ...Clément Foucault
... instead of overiding it (previous behavior). In practice it's not really noticeable. This means an object with alpha will never be more opaque when enabling xray.
2019-06-18TexturePaint: Projection EditJeroen Bakker
Disable all overlays except the texture paint overlay. Add alpha to the resulting image buffer. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4974
2019-05-22Workbench: Use DRWView instead of DRW_viewport_matrix_*Clément Foucault
Continuing the transition to the new API
2019-05-22DRW: Remove DRW_state_clip_planes_set_from_rv3dClément Foucault
This should be handled by DST.view_default
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-28Fix T58405: viewport drawing issues with display device set to None.Brecht Van Lommel
Disabling color management this way is not very useful, but as long as the option is there it should work correct.
2019-02-18doxygen: update doxygen & add balembic groupCampbell Barton
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Color management: change view transform for color pickers and display modes.Brecht Van Lommel
* Use simple default view transform for color pickers, as Filmic does not work well for all types of colors. We better handle this with an option and tagging of colors as emissive or albedo like. * For solid/workbench we also no longer use Filmic, as there is not enough contrast and it's not really needed since this is not physically based lighting. * For lookdev always take into account the view transform and look. Other view settings like exposure are only taken into account if scene lighting is used, since these are often dependent on scene light intensity. Fixes T61022, T57649, T59363.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Workbench: Add "Shadow" factor to XrayClément Foucault
This just maintain more parity accross the 2 visuals. Note that this is not "real shadowing" just the facing factor shadowing.
2019-01-29Workbench: Add transparency support for materialsClément Foucault
This adds the posibility of having certain materials transparent in solid mode. The option is (for now) per material only and thus only shows in material color mode. This uses the same rendering technique as Xray mode. Note that objects are not considered transparent for selection with this.
2019-01-25Workbench: Depth Of Field: OptimisationClément Foucault
- Compute samples positions on CPU. - Use 3x3 Box blur instead of 2x2. - Implement bokeh parameters. With this commit, dof performance is almost negligeable. The quality is a bit lower than before but can be improve. Also now big Circle of confusion are supported (up to 200px). Cost is ~1.25ms on AMD Vega with a 2560p viewport than full HD and pretty shallow depth of field. Coc downsampling and dilation is not used anymore for now (commented).
2019-01-24Cleanup: add missing braces to draw managerCampbell Barton
2019-01-24Fix theme color use for clipping regionCampbell Barton
Color needed to be converted to linear in the engine, not the theme.
2019-01-233D View: draw clipping regionCampbell Barton
Only for workbench solid/wire modes.
2019-01-23License: add missing GPL headersCampbell Barton
Information taken from related files committed at the time.
2019-01-22Fix T60737: Crash workbench renderingCampbell Barton
Addition of clipping from 7467049055a7 didn't account for non viewport display.
2019-01-21Fix clipping shaders with some AMD/Intel driversCampbell Barton
Caused: error: unsized array index must be constant Use hard coded number of clipping planes, copying the 4th to 5 & 6 when only 4 are used.
2019-01-21DRW: Support edit-mesh clippingCampbell Barton
2019-01-21Cleanup: rename terms count/num to lenCampbell Barton
2019-01-21DRW: set 4 clipping planes for box-clipCampbell Barton
2019-01-213D View: add back initial clipping supportCampbell Barton
Use clipping for workbench solid mode drawing. Other modes & shading support still needs to be added.
2019-01-11Fix background color use in 3D viewCampbell Barton
TH_BACK was being used when drawing the 3D view even though there was no way to set the color in the preferences. The color was zero'd when moving to the new 2.8x theme. Having both gradient and background colors was confusing, especially having to use 'TH_HIGH_GRAD' for the 3D view, 'TH_BACK' for other views. Move the background color back to 'TH_BACK', 'TH_BACK_GRAD' is used when gradients are enabled. RNA is unchanged so presets don't need updating.
2018-12-21RNA: naming, user-preferences -> preferencesCampbell Barton
2018-12-17Fix T59373: Background Colors don't match in Workbench rendererClément Foucault
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-29Workbench: Add back studio lighting presetsClément Foucault
This changes a bit how the userprefs solid lights works. They are not visible until enabling the "Edit Solid Light" checkbox. Once enabled the current studiolight used for solid mode will be overwritten. Once the lighting settings are tweaked, the user can click the "Save as Studio light" button to save the current settings. This makes it easy to create new lighting without messing the other presets. The studio lights are stored as ASCII files on the disk using a dead simple custom format. The UI/UX is not perfect and will be improved in other commits. Also includes: * Separate LookDev HDRI selection from Solid Lights * Hide LookDev HDRIs from the Solid Lights selection list
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-27Cleanup: style, includesCampbell Barton
2018-11-26UI: rename "OpenGL" render engine to "Workbench".Brecht Van Lommel
Neither is very descriptive for its task, but at least workbench is more future proof and distinguishes it from Eevee.
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-14Cleanup: correct flag comparisonsCampbell Barton
Also use smaller types for shading data.