Updated Matcaps with specular layer #104285

Open
opened 2023-02-01 18:20:22 +01:00 by Julien Kaspar · 13 comments
Member

(NOTE) This task is part of the community & sub tasks of the workboard. Anyone is free to pick up this task and contribute. For any questions or needed reviewers, please tag @JulienKaspar.

Specular lighting has been supported for Matcaps for years now, but the current set of Matcaps has never been updated to use the feature.
This is done by using multilayer .exr files and saving it with two layers, named diffuse and specular respectively.
The specular layer is then automatically added instead of multiplied onto the shading.

image.png

The goal is to provide an updated set of multilayer .EXR files and the original files in which they were created (ideally .blend).

@DanielBystedt Previously already worked on this updated set and shared his progress here:
These can be used as a starting point.
matcaps Bystedt 210203-20230201T171808Z-001.zip

Without Specular With Specular
image.png image.png

This task is not about adding new matcaps or removing/replacing existing parts of the set, although this can be discussed.

Once the .blend file is assembled, it can be stored at:
https://svn.blender.org/svnroot/bf-blender/trunk/lib/resources/

(NOTE) This task is part of the community & sub tasks of the workboard. Anyone is free to pick up this task and contribute. For any questions or needed reviewers, please tag @JulienKaspar. Specular lighting has been supported for Matcaps for years now, but the current set of Matcaps has never been updated to use the feature. This is done by using multilayer .exr files and saving it with two layers, named `diffuse` and `specular` respectively. The `specular` layer is then automatically added instead of multiplied onto the shading. ![image.png](https://archive.blender.org/developer/F14228149/image.png) The goal is to provide an updated set of multilayer .EXR files and the original files in which they were created (ideally .blend). @DanielBystedt Previously already worked on this updated set and shared his progress here: These can be used as a starting point. [matcaps Bystedt 210203-20230201T171808Z-001.zip](https://archive.blender.org/developer/F14228176/matcaps_Bystedt_210203-20230201T171808Z-001.zip) | Without Specular | With Specular | -- | -- | | ![image.png](https://archive.blender.org/developer/F14228135/image.png) | ![image.png](https://archive.blender.org/developer/F14228138/image.png) This task is not about adding new matcaps or removing/replacing existing parts of the set, although this can be discussed. Once the .blend file is assembled, it can be stored at: `https://svn.blender.org/svnroot/bf-blender/trunk/lib/resources/`
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member
Added subscribers: @JulienKaspar, @DanielBystedt, @JosephEagar
Author
Member

Some notes about the provided zip:

  • All matcaps have a bleeding issue and need to be scaled up (Visible as a black rim around models)
  • Basic 1 & 2: Too bright specular and too evenly spread
  • Normal: We should double check if the result is useful with color correction
  • Check Rim Dark: Doesn't seem to work. This matcap is just black.
  • Check Rim Light: The specular is too strong. The base color is no longer visible
  • Clay Brown: This needs a lot of feedback. Specular likely too strong
  • All metal Matcaps: We should add the specularity also to the diffuse layer to color the specularity and deepen darkness (like metal). Then a subtle specular layer can make sure dark colors are readable.
  • Pearl: Doesn't quite look the same. Not sure what it should even look like
  • Resin: Too bright and intense
  • Skin: Maybe too strong specular.
Some notes about the provided zip: - All matcaps have a bleeding issue and need to be scaled up (Visible as a black rim around models) - Basic 1 & 2: Too bright specular and too evenly spread - Normal: We should double check if the result is useful with color correction - Check Rim Dark: Doesn't seem to work. This matcap is just black. - Check Rim Light: The specular is too strong. The base color is no longer visible - Clay Brown: This needs a lot of feedback. Specular likely too strong - All metal Matcaps: We should add the specularity also to the diffuse layer to color the specularity and deepen darkness (like metal). Then a subtle specular layer can make sure dark colors are readable. - Pearl: Doesn't quite look the same. Not sure what it should even look like - Resin: Too bright and intense - Skin: Maybe too strong specular.

Added subscriber: @wevon-2

Added subscriber: @wevon-2

A Cast/Sphere Modifier with Factor=1, after Subdivision, would make the ball completely spherical. Although it may seem so, it is not by a little, and the poles are slightly pointed.

A Cast/Sphere Modifier with Factor=1, after Subdivision, would make the ball completely spherical. Although it may seem so, it is not by a little, and the poles are slightly pointed.
Author
Member

Also important note: There was already a call for content for this purpose and many contributors provided updated or new matcaps.
https://devtalk.blender.org/t/call-for-content-matcaps-source-file/

Also important note: There was already a call for content for this purpose and many contributors provided updated or new matcaps. https://devtalk.blender.org/t/call-for-content-matcaps-source-file/
Member

Hi!

I remember that we discussed creating new matcaps as well, so I'll post the ones I made around 2 years ago in this post

Matcap HDRI and blender render file
Bystedt matcaps 210228.zip

Matcap previews
image.png

Matcap examples in viewport
image.png
Bystedt matcap testrenders 210301.rar

Hi! I remember that we discussed creating new matcaps as well, so I'll post the ones I made around 2 years ago in this post **Matcap HDRI and blender render file** [Bystedt matcaps 210228.zip](https://archive.blender.org/developer/F14234065/Bystedt_matcaps_210228.zip) **Matcap previews** ![image.png](https://archive.blender.org/developer/F14234063/image.png) **Matcap examples in viewport** ![image.png](https://archive.blender.org/developer/F14234052/image.png) [Bystedt matcap testrenders 210301.rar](https://archive.blender.org/developer/F14234054/Bystedt_matcap_testrenders_210301.rar)
Author
Member

Some important notes from the devtalk thread.
Some of those don't have .blend files attached so this needs to be done again from scratch.

Zebra matcaps make selections hard to see. Should probably be colored instead:
image.png

Clay_brown matcap can be improved to have more gradients in the shadows:
image.png

The carpaint matcaps need subtle noise added to clearly read surface curvatures in detail:

image.png image.png
Some important notes from the devtalk thread. Some of those don't have .blend files attached so this needs to be done again from scratch. Zebra matcaps make selections hard to see. Should probably be colored instead: ![image.png](https://archive.blender.org/developer/F14236158/image.png) Clay_brown matcap can be improved to have more gradients in the shadows: ![image.png](https://archive.blender.org/developer/F14236169/image.png) The carpaint matcaps need subtle noise added to clearly read surface curvatures in detail: | ![image.png](https://archive.blender.org/developer/F14236191/image.png) | ![image.png](https://archive.blender.org/developer/F14236193/image.png) | -- | -- |
Author
Member

Here are also various donations from the devtalk thread. Some don't have .blend files attached but can be used as direct reference for creating new matcaps.
Some are also updated versions of the current matcaps by the original authors.
matcaps_donations.zip

Here are also various donations from the devtalk thread. Some don't have .blend files attached but can be used as direct reference for creating new matcaps. Some are also updated versions of the current matcaps by the original authors. [matcaps_donations.zip](https://archive.blender.org/developer/F14236197/matcaps_donations.zip)
Julien Kaspar added this to the Sculpt, Paint & Texture project 2023-02-08 10:48:52 +01:00
Philipp Oeser removed the
Interest
Sculpt, Paint & Texture
label 2023-02-10 09:10:51 +01:00

I created #104640 with some thought on what should be a step forward into better handling the material system with matcap lighting.

It kind of overlap this task. To me, we should take the time to make sure we update matcaps once and for good.

I created #104640 with some thought on what should be a step forward into better handling the material system with matcap lighting. It kind of overlap this task. To me, we should take the time to make sure we update matcaps once and for good.
Author
Member

@fclem I don't thnkk we should support metalic and roughness sliders for matcaps. The strength of the matcaps is that they are specific and consistent in their look. That is always at the cost of flexibility.

I also don't think users would want to manually assign a new material to objects and tweak the metallic and roughness factor to get a good metallic matcap look. They'd just instead pick an out-of-the-box metal matcap.

I do agree that we should make the matcaps more color neutral though.
That will make them easier to use when already using material/attribute colors.

The matcaps also definitely need some manual work and tweaking for the correct look. So an automatic conversion seems unnecessary.

@fclem I don't thnkk we should support metalic and roughness sliders for matcaps. The strength of the matcaps is that they are specific and consistent in their look. That is always at the cost of flexibility. I also don't think users would want to manually assign a new material to objects and tweak the metallic and roughness factor to get a good metallic matcap look. They'd just instead pick an out-of-the-box metal matcap. I do agree that we should make the matcaps more color neutral though. That will make them easier to use when already using material/attribute colors. The matcaps also definitely need some manual work and tweaking for the correct look. So an automatic conversion seems unnecessary.

I don't thnkk we should support metalic and roughness sliders for matcaps. The strength of the matcaps is that they are specific and consistent in their look. That is always at the cost of flexibility.

Well, splitting specular layer increased their flexibility. Not

I also don't think users would want to manually assign a new material to objects and tweak the metallic and roughness factor to get a good metallic matcap look.

I do agree. That's why I want the single color mode to reflect what the matcap looks in the matcap preview.

They'd just instead pick an out-of-the-box metal matcap.

Well my issue is more with scenes or objects with multiple material. For many reasons. It would be better to have 1 lighting condition for all. Having to pick matcaps per materials seems like really bad for managing the lighting which should be decoupled from materials. Not to mention about the technicality of it (potentially unlimited number of matcap per scene). But I guess users think more of matcaps as material definition, not lighting condition (which are both true).

I do acknowledge that I might have been overzealous on this one. I have prioritize the consistency of the features (material system + Lighting system) over complexity of implementation and usability. But I'm sure, by refining the idea, we can come up with a simpler system that (while not perfect) might be better than what we have.

> I don't thnkk we should support metalic and roughness sliders for matcaps. The strength of the matcaps is that they are specific and consistent in their look. That is always at the cost of flexibility. Well, splitting specular layer increased their flexibility. Not > I also don't think users would want to manually assign a new material to objects and tweak the metallic and roughness factor to get a good metallic matcap look. I do agree. That's why I want the single color mode to reflect what the matcap looks in the matcap preview. > They'd just instead pick an out-of-the-box metal matcap. Well my issue is more with scenes or objects with multiple material. For many reasons. It would be better to have 1 lighting condition for all. Having to pick matcaps per materials seems like really bad for managing the lighting which should be decoupled from materials. Not to mention about the technicality of it (potentially unlimited number of matcap per scene). But I guess users think more of matcaps as material definition, not lighting condition (which are both true). I do acknowledge that I might have been overzealous on this one. I have prioritize the consistency of the features (material system + Lighting system) over complexity of implementation and usability. But I'm sure, by refining the idea, we can come up with a simpler system that (while not perfect) might be better than what we have.

Hi.

I am not sure about adding noise linearly.
The point is that there are two functional types of matcaps

  • artistic, that make model pleasant looking in viewport and usually represent some existing material.

  • and technical, that may be sufficiently harder on eyes, but allow to read specific surface properties, including spotting tiny issues by amplifying them (zebra shader, black overcontrast shader, noisy matcaps, matcaps with specific gradients and flares).

Matcaps with deep shadow spot are suitable for for sculpting (since provide additional visual depth information), matcaps without deep shadow spot are suitable for modeling, (since absence of a shadow spot allow to work with black wireframes)

The problem is that technical matcaps are usually has to be properly engineered to match workflow specifications, and it is not possible to turn artistic matcap into technical vithout losing visual appearance accuracy, so it probably has to be two separate carpaint shaders - artistic one for nice hardsurface result visual appearance and technical one with horizontal flare and noisy gradiented speckles for checking curvature during hardsurface modeling.

Im also not sure about coloring technical matcaps, since indeed matcaps can be used with overlayed material colors, it is reasonable to leave it monochrome but make less contrast to have the ability to see black and white (active selected and not selected) wireframes. Also it is reasonable to enlarge the number of stripes in zebra matcap x2 times.

Hi. I am not sure about adding noise linearly. The point is that there are two functional types of matcaps - artistic, that make model pleasant looking in viewport and usually represent some existing material. - and technical, that may be sufficiently harder on eyes, but allow to read specific surface properties, including spotting tiny issues by amplifying them (zebra shader, black overcontrast shader, noisy matcaps, matcaps with specific gradients and flares). Matcaps with deep shadow spot are suitable for for sculpting (since provide additional visual depth information), matcaps without deep shadow spot are suitable for modeling, (since absence of a shadow spot allow to work with black wireframes) The problem is that technical matcaps are usually has to be properly engineered to match workflow specifications, and it is not possible to turn artistic matcap into technical vithout losing visual appearance accuracy, so it probably has to be two separate carpaint shaders - artistic one for nice hardsurface result visual appearance and technical one with horizontal flare and noisy gradiented speckles for checking curvature during hardsurface modeling. Im also not sure about coloring technical matcaps, since indeed matcaps can be used with overlayed material colors, it is reasonable to leave it monochrome but make less contrast to have the ability to see black and white (active selected and not selected) wireframes. Also it is reasonable to enlarge the number of stripes in zebra matcap x2 times.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#104285
No description provided.