outline pass not working with sRGB color encoding

Description of the problem

when using outline pass (I found out that with composer, the color encoding is automatically switching to linear encoding and can’t be changed!

this is the actual snippet for the outline example (but I’ve changed the renderer encoding) :
https://jsfiddle.net/nwh087ma/2/

whereas the color should look like this (I’ve removed the outline effect):
https://jsfiddle.net/kx65bg4r/

Three.js version
  • Dev
  • r120
Browser
  • All of them
  • Chrome
  • Firefox
  • Internet Explorer
OS
  • All of them
  • Windows
  • macOS
  • Linux
  • Android
  • iOS
Hardware Requirements (graphics card, VR Device, …)

1 possible answer(s) on “outline pass not working with sRGB color encoding

  1. the color encoding is automatically switching to linear encoding and can’t be changed!

    The reasons for the issue is related to #19056. So adding support for this is a bit hacky right now until a solution like #20135 is merged which prevents the expensive shader recompilations.

    Besides, it’s not recommended to set arbitrary color spaces when using post-processing. Effects like an OutlinePass could rely on a certain color space. Consider to apply the color space conversion at the end of your pass chain like so: https://jsfiddle.net/42juk3rq/