 I'll wait for Tom It looks okay Okay, we'll start Hello everyone, my name is Andrew and I work on health software and today I'm gonna Today I'm gonna speak about the viewer for Blender and mostly I will speak about in the In a meeting of development of what features from Blender. I'm using and What's an API I want so cool about the API, but yeah, the next light is already up. So I want to introduce you to the house software These are all the wonderful people doing very And I also want to mention our founders the Peter middiff and Vlado Ilazov But so let's go back to viewer for Blender. So I've started this project as a personal project in 2008 Actually as a most Open projects was started. It was I was just needed to tool for myself I was moving from I was doing the architectural visualization myself and Once I thought that I want to move to Linux because I was also Linux enthusiast for More than 12 years now, and I started to think that I could do all the CG Workflow I could move all my workflow to Linux and in that time It was the time after the first open movie the elephants dream and it was a big bug bunny time and Blender Started to grow tremendously and I decided that it's really a cool tool to use for modeling But still I was missing a good renderer because as you may know architectural visualization is mostly about the global illumination And luckily I found a screenshot on the internet Showing the common line and very window And I was like I was wondering what is that and I've contacted the chaos group and It appears that they have a product called Vera standalone which could read the scene description and render So I was signed an NDA and I've started developing it in a few days. I have some working code and then I a Few months later. I realized that maybe not only me is looking for a beautiful blender on it It was like maybe you remember in IRC times that that days like everybody was Like going to Blender channel and asking if they're a beautiful Blender So I decided like maybe I could start sharing my development And I've published it on github and since then I started doing more features because Like different people needs different features and for example some of them was doing animation I wasn't using animation in my workflow at all So I started implementing new stuff and of course the major improvements were done with the appearance of Blender 2.5 and Last year I joined the case group and so basically I want to speak about the development of the past year Yeah, this is a slide of nostalgia Maybe someone remember how experters were looking in Blender 2.4 and if Sebastian Koenig is here It's he's there. He was doing the first tutorials about the Europe of Blender. How many hours did Have you done like videos like about four hours? I don't remember like it was a huge tutorial about lighting Thank you very much and So but now it was Blender 2.6 the expert looks like that So I'm utilizing the nodes and some more awesome features. So yeah, so what what I like about Blender 2.6 Now it's 2.7, but anyway like it this those features were released in Blender 2.6 So of course the UI more improvements in UI The lists now we could resize lists we could sort list we could search in lists but then the two main things that I Enjoy a lot is Python nodes by Lukas Thorn. I hope I pronounced his last name correctly. This is super awesome API for creating nodes in Python and of course error in the API So I want to speak about slightly in-depth of how I'm doing nodes and why I'm doing nodes beside that is very convenient way to See or how your how your shading works or something like that. So V-Ray is a highly module system for now in Blender Even I have implemented more than 200 plugins and since I have so much plugins I need some kind of automation of how to generate those plugins and So what is how this plugin looks in Blender? So it could be a node it could could it could be some property group on top of some other property group like from an object or Texture or something like that. So we should have an UI and Maybe some UI on node also And I'm using those node trees for all the aspects of Rendering configuration so it's shaders geometry render channels and some environment setup effects And so I came up with an idea of making the JSON descriptions of V-Ray plugins and they are utilized for this generation and export So how they look like? JSON plugin looks like that. No, it's not the exact JSON syntax because I was thinking that it won't fit on a screen But we have a wonderful screen here and I think that I could put some more code here So this is the texture texture gamma and it has an input parameter texture And so based on this description, I'm generating the node at runtime And the same way I'm generating all the other nodes. So No, whoops, I'm still not good with Mac. Anyway, so We have like a lot of nodes So these are the texture nodes. No, some of them are textures themselves. So they Do something. Yeah, and some of them like color operations color corrections are that some kind of utility texture that you could use to Mix it just change gamma or something like that. And so for example and in In this JSON Example, we have those gamma node So here is it But I also have it on the next slide So from this description, I'm generating the node inputs and There is also the widget and from this widget It's also a JSON prescription of what I want to draw on this node So in this for example, I want to draw the gamma attribute And on the left side, we see the how it could be looking Python and on the right side It's how it looks in JSON And so this allows me to automatically generate all the interfaces and for example now So this code is both of this code leads to the same result. So I have an Node with gamma parameter and some input. Okay next So now we have all these nodes. They are connected to objects properties and Now we need to export it. So Vera for Blender is an exporter. So we export Scene from Blender into intermediate file format called VR scene and that we are seen as the dam gets read by Vera and we are rendering so what are the export across and console For the first the cons are actually speed and disk space because we need to bake everything into Into this VR scene file, but on the other hand, we have a lot of fuss. So for example, we could export once and render everywhere And since this we are seeing how it contains everything that Vera needs for render And if you have like limited resources on your computer, you could export the scene It's actually not only for Vera. It's like every render engine Any standalone render engine works so you could export your scene from Blender then close Blender and leave all the resources to final rendering It also gets a lot of opportunities of manual scene edit So if you are TD in the studio, you could maybe have some your own custom tools of combining those exported files and The thing that I call crash independence. It means that It means that the render engine is a separate process and if render engine crashes Blender still has all its data if Blender crashes render engine still finished rendering and you will have your Results and so that's why I'm started using my custom build because of this cons Because I need to make export very fast and I was started doing it also already in Blender 2.4 And my test shows there that like C C++ export is much like up to 20 times faster than the Python export I've also mentioned here volumetrics export. No, this is because my export still utilizes some low-level C API to make Volumetrics data, but I guess in cycles now could render smoke simulations We have some RNA API for that so I Will look into it and I also using some custom export related patches like I have more events in Event handlers like I'm also doing the update checking because I Why I want to know that the object is changed during the animation and export only the data that actually changed and I'm also utilizing some ID property patch to hold the node trees on the In the property groups and it's very nice and I hope it will be soon on master Okay, so Yeah, so how we actually experts things so what is there an API actually anyone who are using Python and Blender So actually using there an API and actually when you click on some button, you also use an error in API. It's some kind of meta Generator of I don't know this brilliant guys do this quite complex and powerful system So we have RNA and then we have Python and C++ so how it looks so for example We have and pass index property on an object which will represent the object ID on render And so the those index property from the SDNA will go to pass index property and we define the name of the property the Description and some update of how to handle it and so it goes from ob index to object pass index in Python and object pass index brackets and C++ and that's why it's very cool and I hope we will have Some kind of Linking with this RNA API and I hope we will have it quite soon And so I actually want to show that if you use use to use the Python API It will be very easy for you to move to C++ RNA API because it's more fast and efficient and so for example quite Slightly more complex example if we Want to export Duplications duplications are actually not only dupli groups or Dupli faces Dupli words, but also particles Particles with objects and so this simple code will export you Duplications and so you could check that it's quite the same and Python C++ so it's very easy to use. It's awesome So now we know how to export. Let's slightly speak about what to export. So this is the sample of the VRC in file So it has a node type In this example, yeah, it has some name and some property. So we as you can see it's quite human readable And for example, this pass index will go to this object ID property But we also were thinking about how to make those VRC files as much lightweight as possible. So we are Supporting the hex format. For example this transform hex The transformation matrix will be represented as some hex string and it will very easy to load Then we also support compression and vector lists and float lists. So we export big meshes quite fine and So since we're exporting I want to Like slightly talk about the optimization of how we could have to optimize this export in operations Because we could work on very big scenes and For example, you may want to Combine the VRC files after So you could include one one into another and you could store some assets in the VRC files and easily include them to the other Files. We also use some technology called Vero Proxy And actually maybe we'll start showing it because I'm quite fast, but anyway, so We could have a situation when we have a quite High poly mesh. So for example, this is the asteroid. It's about 900,000 faces and Maybe we want to render the asteroid field Like maybe it will have more asteroids So the idea is that you could bake the geometry into external file and then plug it back And it will be loaded only on render time And then I hope everything will work Yeah, so here we have about four thousandths of this 800,000th of asteroids So I have no idea how much million of triangles are Here but it seems to work Yeah, of course, I'm using Aaron API to export this particle system. I think you've got the idea and Recently we were working with a Kiribati team on the Kiribati movie and I've introduced A new plugin I've developed it for especially for Blender and It works like that. So We have this quite simple scene Colonel box like everybody knows It has displacements on fur This proxy guy And some animation so yeah animation goes and so the idea was We already exported to the VR scene file We we hold it as an asset with to read it as an asset and we want to load it to another scene And so now we could actually do this so in this scene We have The scene asset and this object actually references this VR scene file And I could even remove those mesh and generate the preview of this file and Now if I render all the objects will be Inserted in the render on render time loaded from this viewer scene And they are inserted very efficiently in the render pipeline So all of this all of those are instances and you could actually could have thousands of them without any problem And the idea is that you could have that if your proxy just a geometry cache in this case you could cache the whole asset and Insert it and do whatever you want with them. Of course it supports animation if we go here we have some moving box and You could make some motion blur And so yeah, this this is the animation of the inside the ops, sorry I need to switch the mode Yeah Yeah, I have a few exporting modes for animation Just because we want to export as much efficient as As we want So yeah, this is animation. It's is stored in the viewer scene file and only inserted on On the render and this animation is from the top file so you could animate your assets and inside the assets Let me check what I have So yeah, you rendered everything locally, it's fine, but what if you could you should render a Lot more stuff in a short time and the render street guys will help you Marius. Where are you? Yeah, Marius here. He is super cool And and so how it's used I Want to show you a few projects from this year. They are still not finished. So it will be some kind of secret his or said and all The first movie is Kiribati. It's the guys from Argentina and I asked them to make some Some short tour about the studio to show how they work because they are really in tight production And they simply have no time to go to Blender conference But I still ask them to say hello to do the wonderful audience and I hope the sound will work Hi folks, my name is Ignacio Corrales I'm here in San Luis, Argentina working an animated movie called Kiribati I'm in charge of full lighting and render with aspects as a director and supervisor I'm going to show you like a little tour of our studio and basement. I hope you like it and thanks a lot for watching So that was a little small and fast tour in our set So I hope you like it and thanks out to to Blender foundation and cast group to let us and give us all the support and development to make this possible. Thanks a lot Hello guys, could you please dim the lights here and yeah, and I have one more video from vanilla cities a studio from France and but Olivier Olivier you're here Olivier would you please read this because I don't know how Because I think you know French here you try it after I read it first It's not she made a go shower It's not she made a go shower the last video Since the winter is coming I hope everyone sees this video last year on Blender nation, but anyway, I think it's very nice So it's basically that's it here are the links, but they are pretty easy to Google Thanks entry from chaos group. Oh No, no, no, no, no, no, no, no. Yeah I want to thank Tom Rosendale and all the Blender developers for pushing the technology forward to making such a beautiful piece of software Well, one thing in the demo was not clear to me and you were comparing like that Well, this is export paste right so you save out the scene file and then you send it to the render Yes, or you also have some kind of a P. I like obtained it. No, it's completely Separated I'm I'm exporting data to the VR scene file and then I'm just calling the viewer with parameters So it's done and the viewer starts do everything and save the image somewhere else So that the the machine with the asteroid you already had it exported them. What was it? But it didn't have any time. We said it was a little bit speed problems You have to save out the file first and then you can render I'm expert in basically I'm exporting every time every time you press render it exports the scene and then you restart but Export then is very fast. Thanks Because of the RNA API. Yeah Yeah, but but I have said a few optimizations like because actually the export of matches is the most heavy operation So you could actually export it once and if you don't work with the geometry You could untick one parameter then not export the geometry info export lights and materials and everything else and it will speed up the workflow even more but today the Small things that I showed now it was exporting all the every time I press render Time for one question. Maybe that's urgent questions or people can come downstairs. Yeah, you have question, please But I actually I'm here all the time so you can find me and I'm proud one question there one really important question Which version of V-Ray it's very 3.0. Yes, it's very 3.0. Yeah, okay with OSM Perfect Okay, thank you. Thank you We're now having the presentation on Blender as mission preparation tool for drones So stretch your legs to get some water and but be right back With it still booting Sorry, I thought it was a background no no first slide of Christmas. I don't try to put it on Sleep Yeah Or maybe to my one or two