 Okay. I guess we'll start. Yesterday, we had a meeting with a bunch of cycles developers, people integrating cycles into other applications. For four hours, we discussed a lot of different topics about cycles. And I'm here to give you a quick overview of what we talked about and I guess the most interesting part for Blender users, the roadmap for the next few months and the next year and maybe a little beyond that. So yesterday, we gathered in a meeting room. And even we thought it was a private meeting, but this leaked on Twitter even before the meeting was ended. So we had a bunch of cycles developers, people integrating cycles into a poser, for example, some people from AMD, from Intel, from Tengen, the animation studios. I'm probably forgetting some other people, but it was just like a mix of people who usually are not communicating all that much, like all our Blender developers. We communicate a lot, but then the people working outside of that, there's sometimes some bit of lack of communication. And so the purpose of the meeting was to get all these developers connected and talking to each other, getting them to contribute more, hopefully, streamlining the process and making a roadmap so that we're not working on the same thing and finding out only months later. So just a quick thing about the process for any potential cycles developers that might be listening. I'll get to the roadmap later, which I guess is the most interesting part for users. But for developers, the communication will stay mostly the same. We'll talk on the cycles developer IRC channel. There's the BF cycles mailing list. And we'll do quote-ree views on bug fixes on developer.org. But one thing that we're going to try to do is instead of having a meeting, which might be difficult to organize because of different time zones, every month, me or someone else will mail a summary of the changes that have happened in cycles or news or any relevant information that's been happening in the last month. And then we can have sort of a discussion around that on the mailing list, which might also be interesting to users. So just a few quick technical things that we talked about. We talked about a lot more, but one is, of course, we have to do more quote-ree views. And we have to help other developers integrate their quote easier. There's a few patches, for example, from tangent animation that, shamefully, we haven't reviewed yet and have been sitting there. So we're going to try to prioritize that more, get those things in quicker. But we will also then, you know, on the other side, like them, you know, other developers to help review us and just get a better dynamic going there. And one big problem that we're also struggling with in terms of accepting new features is that, with GPU rendering, especially, things can break in an unexpected way. And so we need better testing for that. And so what we really want to try to set up is, you know, automated tests for finding bugs and for finding performance issues which can run every night, hopefully on multiple GPU models, maybe not initially, might be a little bit difficult to set up. But then hopefully we'll get into a situation where, you know, right now it often happens that someone makes a change and that breaks on this weird GPU model on a particular operating system. And hopefully we can try to solve that kind of problem because we're still having a lot of problems with AMD GPUs and some particular NVIDIA models which, I guess, users are also experiencing. So we'll try to get that more stable. And the other thing that we're going to do is just update the documentation for the developers so it's easier to get involved. So the road map, which I think is the most interesting part for users. So the road map is not like a promise that we'll do this. You know, it's just... And even worse, I'm standing here, you know, telling you what we're going to do or maybe going to do or hoping to do, but I'm not actually going to be implementing any of this stuff myself because I just do like code reviews and bug fixing. So you can blame me for over-promising if that happens. So there's a bunch of features in the pipeline that are almost ready. Just need a couple of changes and that we can expect to have in the next few months. I think two of these actually got committed this weekend, so it's a little outdated. But one of the big things that's almost ready is the Disney BSDF, which is a surface shader, sometimes known as a PBR shader, which combines a lot of different components. It combines diffuse and specular and subsurface scattering and glass. And you can make a whole range of materials with it, which is one shader node, which I think is going to help simplify shader networks a lot. And that was developed by Pascal Schoen and he did an amazing job there. I think in the next few weeks we'll have that in the development version. One other thing that's coming is the Shadowcatcher that was written by Sergey. There's a few kinks to work out there still, but I think we're very close now. That patch has been available for a while, but I think we'll really, you know, this time we'll really have it, I hope. And then there's a bunch of work by Lukas, you know, I guess as some people might know, he's done a ton of great contributions to Cycles. He has a lot of great work, some of which has been committed and some not yet. And there's a few things which are almost ready, which one is the IES lights, which lets you load a file that describes a particular light emission shape and then, you know, render that in Cycles. There's a metallic BSTF, which allows you to render certain types of metal with really nice looking Fresnel effects. There's a light sampling threshold, which got committed, I think, a few hours ago, which is a really good optimization for scenes with many lights. And mostly as a user, you might not even have to be aware of that, but if you've ever seen with many lights, it just can give you a really nice speed up pretty much automatically. And then the big one that I guess has been very popular is the denoiser, which he has been working on over the summer. Initially, I think the first version of that will be, you know, mostly for still images, not yet for animations. There's a few kinks to work out there still, and we still have to review it, but that's, I think, quite high priority for us. And then another thing that's already, it was already committed yesterday, I think, are better texture coordinates for lights. And that was done by Lucas, and also partially by, you know, half of that was done also by developer from who integrated cycles into poser. And another feature coming from the poser integration of cycles is the ability to use main memory for rendering on NVIDIA graphics cards, which means you can actually store, you know, much bigger scenes than that might not fit on your GPU. And I think that's, yeah. So that seems, it will be a quite popular feature. So then we're going to get into a bit more speculative stuff. Probably we think it will happen next year, because some of these projects have already been started, or there's, you know, high interest among developers to do them. So one is the split kernel, which is kind of a technical term, but basically we want to make GPU rendering on AMD as good as it is on NVIDIA cards, or, you know, get it up to the same standard, get it as stable, get the performance there, get all the features there. And Mai has been working on that, and she'll continue working on that for the next year, I think. And besides just, you know, completing AMD GPU rendering, this will have some nice technical possibilities as well once that's running. That, you know, some potential optimizations that we can do even on the CPU or with NVIDIA cards. Then the other very popular feature I think from Mai has been the micro displacement. Right now it's in the current blender release, but it's as an experimental feature, because it's actually unfinished. But people don't really seem to care all that much, because they're using it anyway and making tutorials. And so, you know, there's a lot of stuff to finish there, and hopefully, you know, over the next year we can get that really stable, finished more. One other thing that is also interesting for other renderers is that we want to do, you know, more flexible AOVs, or at least in blender terminology, passes. And, you know, it's a bit technical, but the blender API for this is quite limited, and we want to make it so every renderer can, you know, specify an arbitrary number of AOVs, which is something that, you know, developers from external renderers have been asking for for a long time. And one thing that helps for cycles is for light group AOVs, which is basically a way to put lights into different groups and then render them as separate images, and then you can individually tweak the intensity of the lights, or the color of the lights, in compositing afterwards. One other feature that for which there's already a patch from tangent animation is light linking. We haven't reviewed it yet, but I'll make that a high priority because it's, I think a lot of people have been asking for that as well. So you can basically specify this light only affects this object, or the other way around, this object is only affected by this light. And there's a bunch more patches from tangent animation, like I think they mentioned in their presentation, and we'll, you know, we'll start reviewing those. One thing that I don't know if you specifically planned it, but our biggest weakness right now in ray tracing is motion blur performance. We know how to solve it. It just surges, or someone will just need to find time somewhere, I suppose, to do that optimization for motion blur. I expect it will happen, but I'm not going to promise I'll do it because I don't know. I just put it in there actually without him knowing, so we'll see. No, it's not rocket science. Okay, so some other stuff is we want to be able to run the more textures in less memory, and for that we need map maps and texture cache. That will probably be CPU only to start with, but I expect we'll have something in the area, at least, you know, to start. We'll have configurable working color space, which is kind of technical, but basically it will let you render images which can be displayed well on displays with high dynamic range, and the light bouncing will be a little bit more realistic if you use the right color space. Then there's network rendering, which Lucas has been working on a bit, I think, and will probably have some kind of version of that in the next year. Maybe still experimental, maybe with some limitation, I'm not sure, but there's something working there, so we'll probably release it in some kind of version. And then, of course, the big one also for open movie projects and any kind of animation, it's going to be the denoiser for animation that Lucas has been working on, which requires some blender side changes. Actually, I think the cycle side implementation is already there, so it's just one more on the long list of patches that Lucas is working on. So I don't know in what order he's going to do all of them, or when he's going to find the time, but hopefully we'll get that somewhere in the next year as well. And then there's a few features that we as developers think are very important, but there's no one committed to working on them right now, I think. So this is halfway an invitation for people to get involved, or just a reminder for ourselves or just to communicate what kind of things we think are important. One is adaptive sampling, which helps you put more samples to a particular part of the image that might be noisy, which can help produce render times quite a bit. And ideally, that works together with denoising. There was an initial patch for that, but probably that will be changed a lot because we really wanted to work together with denoising. One personal thing that I think is quite important is we now have the Disney shader, which makes it easier to set up shaders for a lot of materials, but it doesn't work for hair or for volumes, and we kind of want a similar thing to cover those two cases, shader that combines all the components. UDEM textures, I guess people interested in that know what it is, but basically there's a lot of painting applications nowadays that can output textures into multiple separate image files, and we'd like to be able to run those in cycles. The biggest part of that is actually blender changes that we would need to do, probably. So we'll see what happens there. Volume rendering is kind of limited, and we would like to be able to render open VDB files. We would like to reduce noise, like to do performance improvements. And then one thing that's also important for production is statistics from rendering. So we want to find out why this render on the render farm took so long, why it ran out of memory, why it looks so terrible. Well, I guess not last one, but basically that's a really useful tool in production. So that's one thing that we would like to have as well. There's a lot of other stuff that we talked about during the meeting, which I cannot possibly talk about now because there's not enough time, but we'll write a more detailed report and send that to the cycles mailing list if you're interested. And I guess that's pretty much it. I don't know how much time we have left. We still have a lot of time. So I guess I'll just answer questions. Thank you. So any questions, I guess maybe feature requests or light linking? I don't know. It depends. I guess I'm the bottleneck there. I have to spend time reviewing it. I don't know. Somewhere in the next few months, that's the best estimate I can give you. Why does it take you so long to actually get the thing into Blender even at an experimental level? Well, the issue is once we add something, it's difficult to change it because then you might break all the files that have been made with the experimental version. And generally, we do release this quite quickly like every few months, so you don't have a lot of time to fix it before that. I guess now with 2.8, we might be a bit more adventurous and accept some stuff even if it's not in a totally finished state. But we try to be fairly strict and keep the code standards high and so on to keep it easier to maintain things. So yeah. Yeah, it's on. Hi. I just recently tried to test something with Motion Blur and noticed it's not working. That is, you all know probably the effect that when you're filming some LED and you make sudden movements, you can see that the LED actually flickers during Motion Blur. And that's what I tried to simulate and noticed that Motion Blur completely ignores subframe animations, at least concerning materials or lighting changes. And well, I was just wondering whether that's something that's on the horizon or even possible with cycles. I don't know. I've never discussed it with any other developers, but I've thought about it. I mean, you basically want Motion Blur for shader parameters in a way, which is technically quite doable. I mean, if anyone wants to implement it, I'm happy to explain it to them. Yeah, it's possible. I don't know if it's a priority for any of the developers at the moment, but it's feasible. Okay. I want to propose a new feature, maybe. I'm a commercial photographer and I'm missing a feature quite often. And it's the ability to tilt and shift the layer of focus. And so you couldn't get something like a toy camera effect or more control of the layer of focus would be nice. Yeah. I mean, there's a lot of interesting things we can do in terms of more advanced camera models that give you more control. Again, it's not something that came up at the meeting. It's not something that a lot of developers have at the moment expressed interest in working on, but I'd be happy to have it in cycles if anyone is interested in that. Hey. So, first of all, you have some very big plans. So I'm not asking for you to add anything to this plan because you should concentrate on this, but I wanted to know how P-TEX is going. Yeah. I mean, there's basically two standards now. There's UDEM and there's P-TEX, which somewhat serve the same purpose. And I think most of the industry seems to have gone for UDEM textures. So in a way, I think that would be the higher priority for us because there's probably more users who could benefit from that. But yeah, we could have P-TEX as well. But there's been no, like on the cycle side, at least there's been no real progress on that in the past few years, I think. I was wondering if you could make it so that the material icons, they react to film exposure and color management. So if you work with that, and for example, set the film exposure to two or three, then because you have, for example, an interior scene, the material icons, they are just white in your scene because they react to that. Maybe that could be turned off. Yeah, maybe report a bug. At the meeting, you said there were people there from other products other than just Blender. Are we going to see a cycle's version number that we can track through versions of Blender that we can map into other products? Or are we going to see some features being enabled in Blender but other features being enabled in Poser? Yeah, so we recently started tagging cycle's versions after each Blender release. I mean, when I say we, it's actually Sergey who's doing it. So we do have those version numbers, but we also, a lot of these applications, they have their own customizations for cycles. So the version number doesn't necessarily mean it has all the same features. So ideally, we would like to have everyone using the exact same cycles code, but on the other hand, it's very useful for all those applications to be able to customize it without having to synchronize with us. So there is a version number, but it's not necessarily that meaningful. I don't know if we can make it all that meaningful. Yeah, hi, Brett. I'm not sure if you mentioned this in it or not, so I apologize if you did. But you know the exposure for the color space? There was a guy online, there's like a little separate color space thing that you can add into Blender which manages the highlights better. Yeah. Do you know the thing I'm talking about? I was wondering if that's coming to Blender already? Yeah. So part of that is the configurable working color space, which Lukas has been working on together with Troy, I guess as the person you're referring to. And then yeah, the other part is that it is mostly Blender side change to have a new color configuration. I don't know the exact status of that, but I think he had something that was reasonably ready. And I think he will submit it, you know, to be included in Blender at some point for us to review. So I guess it depends on him if it's ready. But I don't, I think it's something that fits nicely into Blender and I don't expect it to be something that's, you know, once it's submitted, it should be hopefully fairly easy to just accept it quite quickly, I hope. Okay, I would like to say two things. First of all, I would like to say a big thank you for your hard work. We much appreciate that. You know, I know that there is lots of things. Thank you. And I also have a question, will it be possible to having cyclists modularize or split kernel to disable all its features? Because it is growing bigger and bigger and more complicated over the time. But sometimes we need just some simple functionality and maybe then having the possibility to disable nearly all that funny stuff will be speedy path. Yeah. So that's something that, you know, disabled, dynamically disabling features in the code is something that will mostly help on GPUs because, you know, the specific way they work on CPUs, I would expect the overhead to be like a couple of percent at most for those kinds of things. So I don't, on those, on the CPU, you would probably not get a big speed up on the GPU. It will probably be bigger. You know, for OpenCL, we're already doing this. For OpenCL on AMD. And there's even like a debugging option where you can do it for NVIDIA as well. If you set like some magic value somewhere, you can do it. But I don't know. I think it's something that we'll probably look at at some point, that optimization. I'm not sure what kind of speed ups that would give us, but it's something that we'll probably look at at some point. Yes, we're left.