AgX in Blender 4.0. It's coming, are you ready?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in this tutorial we're going to talk about another significant rendering change that's coming in Cycles in blender 4.0 that deals with color management we're specifically going to talk about color gamuts and view transformation to date blender and Cycles have used srgb as the display device meaning the color gamut and it's used filmic as the view transform the display device is getting a few more options such as the wider gamut P3 color space but of most interest is the view transform function filmic it's being replaced with the new more advanced function called agx because it has some limiting issues that really need to be addressed the move to agx makes way for further advances in the Cycles renderer such as spectral rendering along with the ability to use wider gamma color spaces which filmic can't do let's first understand that blender is using these two functions to address color and color intensities meaning a colored gamut and the view transform a color gamut is a way of representing a total range of colors a device can represent technically a gamut is a range of chromaticities meaning color based on three RGB axis points charted within the 1931 cie chromaticity diagram the 1931 cie chromaticity diagram is based on Research done in the late 1920s and early 30s that sought to define the total range of colors humans could perceive Modern Display Devices are capable of showing only limited range of what human Vision can perceive and so we have to take a subset of this total gamut and use that for rendering purposes the most commonly used gamut is the srgb color space but other color spaces are in use the laptop I record this on is a 2021 MacBook Pro with a wider P3 color gamut as an example however the 1931 cie chromaticity diagram only shows a cross section or two-dimensional view of the total color with respect to intensity you can think of this as a brightness or Luminosity of a color and the chart shows a uniform brightness for reference purposes but a single color can have many degrees of brightness that need to be taken into account by a renderer this is where a view transform comes into play a view transform is way of taking high intensity colors that are in what's called an open domain space and fitting them into a closed domain space what that means in human terms is that while a renderer can compute light into intensity values that go way above a standard maximum white value of 255 a display can't necessarily display those for instance as defined by 8-bit RGB values maxing out at 255 in each Channel high intensity colors need to be fitted and represented within this 255 closed domain however renderers compute color using floating Point representations of color and this allows for luminosities for a particular color to extend way above this white monitor display capability if you don't deal with this colors will just look clipped and blown out that's what a view transform helps to deal with so the color gamut and view transform both work together to take the raw computed color information from high Precision Ray tracing operations and make them both viewable on Display Devices and also perceptually pleasing and correct to the human viewer and this is where filmic and Ajax come into play while the two categories seem separated one dealing with brightness intensity and the other dealing with color The View transform function is also dealing with how to adjust high intensity color in a way that's more sophisticated than just simply Shifting the color in a linear way down into monitor visible space so let's first look at an example that doesn't have a lot of chromaticity or color but does have a lot of intensity to understand what the view transform is doing so when we look at this rendering it's lit by a very hot hdri image you can clearly see that we've got some blown out areas on the lens component the background is also pretty bright if we now come over to the view transform I've got it set to standard which means no view transform it just Clips that's all it does so let's turn on filmic and you can see it does a nice job of bringing that those clipped areas into range so let's come over and take a look now at agx for comparison and you can see that it may be darkened just a little bit but because there's not a lot of color here they're both going to behave pretty close to each other in fact on a lot of scenes that have only sort of mid-range color intensities and mid-range saturations they're going to behave fairly similarly you will notice some differences so just be prepared for that but what I'm thinking I like now that I've got this on is to maybe reintroduce a little bit of contrast so this is where you would come down to look and you would come to say let's try high contrast and I like that this is an adjustment that's happening to the rendered pixels after they've gone through the view transform this isn't something that's happening in the ray tracing pipeline itself for a broad range of more average colors filmic and agx will be generally similar however filmic has some distinct disadvantages compared to the newer agx view transform in some key areas so let's talk about those so number one filmic doesn't work with wider gamma color spaces blender up to this point has been restricted to the more limited srgb space number two filmic has a lower dynamic range than agx does where filmic was designed to replicate the range of a film camera which is about 16 stops agx has a stop range of 25 which is closer to that of the human visual range number three filmic struggles with more highly saturated colors that also have high intensities in this case is the broad range of colors becomes more and more intense their Hues shift towards just six colors before they finally attenuate into white this is called the six colors problem the six color problem relates to the fact that when we have a gradation of color as the intensity of brightness increases these colors collapse into six colors so I have a bitmap of this gradation of color bands that create sort of this rainbow that I have driving into a material assigned to that polygon that bitmap goes both to the base color and into emission and I have this polygon emitting a little bit of light I then have a linear gradient going left to right to give us Darkness on the left side and then what I have on the right side I've got this area light it's putting a lot of Illumination down on just that side okay so let's come over to our camera noting again that we are in no view transform this is just going to be what the colors do only being bounded by srgb and we get this so that bright area light is producing a lot of Illumination on this side you can see that these colors collapse into six total colors we've got one for this dark red everything else in this area over here turns into a yellow we've got a single green band a bunch of these baby blue colors a single dark band of blue and then magenta so all of these colors are collapsing into these six colors so let's come over now and turn on filmic well filmic improved the transition but filmic hasn't gotten rid of the six color problem let's see now what happens when we turn on agx watch this notice that in this bright area we can still make out all the individual color bands as they go into the Sprite area and this is where agx is really going to improve things on bright intense colors so let's take a look at some other examples let's take a look at a really interesting scene that's going to demonstrate the benefit of agx over filmic I've got a scene here where I'm wanting to test out different colors potentially for the use in the background of my of my product visualization here and I've got a very bright light sitting down here that's producing this upward push of Illumination on the backdrop itself I have individual polygons that are being assigned individual materials and each of those materials has these very bright sort of primary types of colors applied to them and that light pushing up is just not working so great in standard especially because you know we're using srgb and srgb is struggling to handle that now let me point out if you're using something like a recent MacBook Pro that has the retina display it can handle the P3 color profile and that actually is going to improve some of these colors to some degree because it is a wider gamut but I'm going to go back to srgb being more limited because that's going to exemplify why agx really is so good so if we come over now to filmic and we turn filmic on well film it kind of maybe helped a little bit with the transition but we still get total inconsistency in the brightness of these color bands as they come close to the illumination of that bright bright bright light that I have down here so as soon as I turn on agx Watch What Happens we get consistency in the brightness of these regions across each of the Bands we have a much more consistent look of the colors now one of the things that you're going to note is that the colors do seem a bit less saturated and that's part of the resolution of the six color problems filmic was holding on to Too Much saturation with increasing intensity and what this does is it's also going to give you greater control of adjusting these colors either using compositing or whether you're taking this into another application for doing final color work this is going to give you more to work with because when you're just working with filmic it just simply can't handle that and it's just not even giving you final rendered pixels that you could do much with so agx is definitely Superior in handling this area let's look at this scene rendered in high res where I've adapted the lighting to produce even more of this effect that we're examining this is the version with filmic and when I turn on agx this is what we get notice how more Dynamic that is let's look at this with a maroon background where we have filmic and now I'm going to turn on agx look at that let's look at this with a yellow background this is filmic and now we turn on agx and we get that that's definitely more Dynamic and finally we're going to turn it on with the blue background where we have filmic here and now we turn on agx and that's what we get so let's take a look at some other examples here's an interesting scene where I've got these three cylinders that are emitting light and each one of them is emitting a primary like a green a red orange and a blue and this is in standard meaning we don't have a view transformed it's just simply being filtered through the color space through srgb you can clearly see that on these white spheres it's pretty ugly what's happening with the color it's just blowing out and the transitions are not very good so let's turn on film it filmic certainly improves some of what's happening but look at how that color is just really overly saturated so this is actually a manifestation of the six color problem where as the intensity increases colors are collapsing into one of those six colors and we just get this really overly saturated dark color in bright regions so now when we turn on agx this is what you get agx is so Superior in this situation where we have nice bright transitions away from the light cylinders and each of the light cylinders themselves you get a hint of the color and we get definite distinction in the bands of color and because I have a volume here expressing in that volume so let's look at some other examples let's look at this other interesting example let's turn this on noting that we have the view transform set to standard which means it's not doing anything turn it on and boy there's that bright light and yikes that doesn't look so great if we come over and we turn on filmic filmic improves it it improves the transition but we still get this kind of collapsing of the colors so let's turn on agx now and look what agx does do you see how agx maintains individual bands you can still see them and it gives us a better representation of those bright areas you're going to note that we can come down to the look and we can further improve the saturation of the color Now by coming up to one of the looks like high contrast do you see how that kind of even further improves it so these looks actually can really improve an image and agx at times will tend to produce somewhat less saturated looking images and adding one of the looks can really help with that here's another variation of this where I'm actually using the cie color chart as a bitmap to apply onto here using my bright tube light with just standard so no view transform it clearly doesn't look very good let's turn on filmic filmic certainly improves the transition and the smoothing between these areas but as soon as we turn on agx we get this at first it seems a little bit desaturated so this is where we could come in and we could apply one of the looks to it to further increase the contrast and the saturation but that's the point it's giving you something that is much better and easier to work with I want to talk about Aces for a minute because I know some people are going to ask me about ASUS ASUS is another view transform that's also a combination of a color space it stands for Academy color encoding system it's a color image and coding system created by the Academy of Motion Picture Arts and Sciences the visual effects industry has developed this and it's been around for a while and it's been designed so that people doing visual effects have a common color language to work with there was a lot of discussion during the development early development of blender 4.0 and the cycles that goes along with that whether they should use Asus as a replacement for filmic and it was very interesting to read that there was a fair amount of resistance and the debate got to be kind of heated at times the developers ultimately decided to go with agx and the sixth color problem that we've looked at so far is one of those reasons and it turns out that Asus also tends to struggle with this so let's take a look at some examples we looked at this example early on and I specifically didn't show the Asus version because I wanted to kind of cover that separately so this is the standard without any view transform it's simply being run through srgb now if we turn on the Asus version this is what we get so you can see right off the bat Asus looks pretty good it doesn't have any contrast looks so you kind of get what you get the colors look nice and saturated and there isn't any excessive blown out areas but I want to bring your eyes attention to something in a couple of areas there are some interesting color shifts this is a very blue light and look at how it's reflecting onto this white sphere there's a slight purpose shift in the color so this is one of the things that could happen with Asus is you get these kind of color shifts with some Hues we actually see a little bit of the manifestation right here where we have a lot of green but it actually is shifting a little bit into yellow and you can see here in this packaging that we looked at earlier in the tutorial this strong shift towards the purplish Hue this is something that Aces can tend to do that agx does not do Asus could also tend to struggle a little bit with the six color problem when you really get into very saturated colors let me turn on agx so that we can see agx in comparison to this and you can see right off the bat that agx kind of goes in the opposite direction it tends to become a little bit less contrasty in some situations and a little bit less saturated but I think that's actually a good thing because it gives us more control over making post adjustments for instance adding a contrast look to it so was it the right choice to not use Asus and use agx I don't know I I I'm not smart enough to make that call to be honest but I think agx is a really good direction it's a very strong tool and I'm glad they've done that
Info
Channel: Christopher 3D
Views: 123,297
Rating: undefined out of 5
Keywords:
Id: YsTQEzcmD5w
Channel Id: undefined
Length: 18min 52sec (1132 seconds)
Published: Thu Sep 07 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.