Blender Bugfixing [Full Process] - Stereoscopy 3D and VSE

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone hello I'm delightful inter and yesterday I recorded a live stream with Pablo Vasquez about diving into blender cold and asking and answering some questions online so today I decided to try something a bit different which is basically trying to fix a bug not live I'm recording this but if that goes well maybe can even try something live next time and let's go to it so the bug unlocked I would like to address is this a stereoscopic related so I was going over the track here today trying to see if there was any high-priority bug and since I was the main developer to implement a search cop came later this is the one I could probably help so if you want to see the bug you can see it here basically when you open a file if the aspect ratio of the the camera setting is not the same as the video you have in the sequencer when rendering the right eye is all over the place yep and if you change this has already asked the correct correct acts aspect ratio if you change it and then bingo it's correct which shouldn't be super hard to figure out because for one of the ideas are right correct but I guess let's see how it goes so the first step whenever I want to fix a bug like this I'd really need to make sure you have a really nice test file which this one is nice enough is the one well kinda had a one-cent and in the bug report but I think be more convenient if I could just open blender and have it right here there go I read with the right image and just play safe let's show here the left image so if edge over here in render ban I read see that the problem there and I could even if you like interface make sure it doesn't pop up that's fine leave it popping up don't care the other thing is to save the file as my startup but if I just go about in saving it and save it next time we open blender the video might not be there because this is this was using relative file paths so as you see and then you have to so I should have converted to two to two absolute and so I just need the folder here so what I want to actually do nope I go here usually go here go to external data make all paths absolute and then I go and make a default startup file pay bank it's right here the other thing you have to change it here is the splash screen so doesn't come in my face doesn't pop up in my face every time so if I just open blender and render I can see whether or not to fix the problem okay so now how to go about this problem in particular I know the area in question which is dumb which is a vid sequencer so I know some of the part of the code because I had to do this real originally when was implemented is for for the point set that's the thing like this doesn't happen it 2.7 so if you go to two point seven four seven five seven nine it works fine so you get to know that was work at some point so honestly what am I gonna do I'm gonna bout just gonna chase down these resolution settings in say I don't know let's let's improvise so percentage scale for rendering render resolution so let's try to find this percentage scale oops was that too deep right and that is I think there that's okay as a size I think our point size from non mistaking blah blah let's not pretend there's no camera here and I'm not talking to everyone so I can actually focus on approach the way you will did this the NLA is not the sequencer sequencer effects so for instance this is the these being used for one of the signature settings try to think what can be the problem actually render size why why would why would it read correctly the first pass not the second one I have no idea and I have no idea so preview render size something else and unlikely like a real live string or something this might be very uninteresting but as is as a video can also just go ahead and just came over it I don't think box related why you did not I'm intrigued actually so first let's try to see if cuz I don't really remember the I don't think it goes here I don't really remember the entire half of the of the sequencer editor so I don't remember what's actually being called so let's just add a breakpoint to this function because I think this function is related should be every time we create the in both in both fit the image buffer blender house we should increase it just a little bit yep what's up and I think it put some music right it doesn't be very quiet video and again just render and it's wrong and that's okay but the other thing is that it didn't call my breaking point so I'm just gonna add the other scene here oh it's already calling the breaking point okay you know here probably call it now already have a feeling that the issue might be related to to caching so these already have a good idea of where the functions being called from so just do a back trace you can see here anyways it's easier to do it this way so my papa papa first things first so let's go here [Music] let's do it differently let's add a breakpoint here so continue here oops let's add a big front here and delete the first breakpoint and continue I think have other instances of Daniel I'm just close so I don't get confused now that's the one that's valid that's the one no one cares about yep so we're gonna delete again the scene it's probably gonna trigger the the code did it twice again did it once and did it twice three times four times Oh the thing is we kind of read everything even when honestly if I hide here should be fine now it's simply kind of I change the frame it doesn't trigger that function then save the the default again and now if I render that's entry like why it's not didn't stop it did stop just let me see how many times it stopped so once and twice which we assume is once for each i if i render again does it catch anything hope not so once and twice just play the play extra safe now Ferger to get out I will turn up the the multi-view just be compete completely sure that issue is has been called twice because of the multi film bang disabled just render again call it once and that's it of course since motive is disabled they're going to see the image as it was originally at the input which is at about an image the problem is not I think I know where the problem is the problem has to be in reading the the video file so the first one is fine don't even want to investigate further now let's go down here oops you can still get cash it's probably empty blah blah oh actually it's not empty you get but I'll try a different route now because this is all fine bah-bah-bah god I think I really think the problem is when reading the image format and I know we're having blender and a few different parts in the cold different code to deal with different image format depending on the input so it is the top bottom so let's actually go for the look at the code that actually is this top bottom I think I probably this product is No so that's the file for sure this stereo in buff and I really think that part of the problem white is good even different he read the dimensions writer to make it seem to be in the reading dimensions and I want to breaking let's add here to make it simpler here I want this function which is just you know one I want in this case to show the or the size T I'm trying with it you just put a breakpoint here but sure I just put a breakpoint there now it's it has no problems reading the the image dimension so it shouldn't be here the problem let's just play safe playing safe so now I want to actually add a breakpoint here and I want to delete the second breakpoint so if I continue to do with it so that seems to be about right is it though it should be forged and let's just to be safe just do it again and it's totally right should do it [Music] and this should be right so the problem is not here so this is correct mmm let's let's read this thing here steer 3d I find the GDP so primitive sometimes x2 2014 for 40 40 if I do it again so that's for the second I like to is more like strength numbers when I'm in doing those things okay let's do again actually here should be like we are using the same write and read it and [Music] and of course because this is the same above both of them but does it mean we're running okay now very quiet video yeah that's honestly let's look at some code here gothic problem is either on reading the in the video or I'm showing it this video is not the best video to be honest that would work better if I had like a very clear maybe should do that like a very clear color that I could tell apart the top and bottom so I could see in different ways you know I'm just gonna add a bunch of printing statements I find it is easier then so this technique of bug fixing I call it just chasing the rabbit hole and I go try to apply some intuition to the whole thing but honestly it's really just you just just try to follow the lead and see where do where do they get regular Guinness yep but this is happening for both of them so it doesn't make sense for this one to be wrong otherwise the other one will be wrong as well so I really think oh I'm thinking consider to go back to the render size oh boy the chaos of bug fixing that's not sequence draw and if you actually try to I don't think I try to save the image to be honest let's open a new blender just to leave the other one as it was just have it here so if I try to save the image let's put here it's create a new folder for us start reading save it as individual ones perfect toners you can use family us yeah it's definitely wrong already the same size even hmm there must be let's find the most convoluted way to to check this out you know I'd have the same size actually if I had a distinct very distinct color for both of them I probably didn't even be able to tell the the problem like what's happening so is it between reading so what does blender do should be the scaling right when your what happens in this sequence here when the input has a different size then the output I think that's the actually question you have asked 20 minutes ago let's close this when I get confused thank you so they'll eat every single breakpoint here for each will calculate stuff I'm always suspect of anything that only runs for ace actually I think this run for both views but is it though it's not checking this out let's do a breakpoint here that's not even stopping my big point but see let's go there we are own sequencer okay because check this out it for if here we're if you're running this for every single bill yet for this one here we're doing only for the co interval exactly should be fine Cadell if it's refine it is not view it is Mudville when you move strip open region file with multiple systems or files now we can point back and forth I still think the issue is probably it's probably related to the it's definitely related to the scaling of course but they had the same problem I didn't show here but even if the width and height is different without playing with the percentage of the render we have the problem that sometimes even on the first one on the on the Left image which little allows me to think led me to think that problems in the scaling as if it's only scaling sometimes not always let's save again it doesn't matter I have a feeling that this might be my time I have to do this so let's just change this number oops do anything really learn the problem and I've compiled here looks cool just what is fine and I think hopefully and I'm not that that hopefully does enough to break both eyes equally and then you know that the problem is that we're doing something only for one of the eyes not for both of them it's - let's finish that out is the close the is kill okay loop it's fascinating right because if it didn't break anything then what's the point of this line even in wage let's let's continue I will go back to to look at how the its make bigger let me here did P here mmm I think you're probably probably sickness edit just know it's not being called there's not been cold sitting somewhere here on on the edit file good the code you're looking at is actually commented out so it doesn't exist so it's definitely not in sequence added sickness draw shouldn't will be given that the file implies you're only handling if drawing but go figure let's see what this doing the constructor oh I didn't copy I did copy Jesus Christ all this commented out cold should just be removed once and for all does that happen for different that's a pretty good question does it happen for different image types so if instead of being top bottom if it's a four inches anaglyph right does see how interesting how different so this is assuming in ways I like it which means oh this is the the file the value changes exactly here Jesus this is good that's not specific to the top bottom I have a feeling that you're looping we are setting some Val values for the first loop and to handle mr. copier chinese' and I think maybe we're changing some value inside the loop and not setting back to the original value I don't know I mean I'm back there grasping at straws here I don't want to go to point 7 the code is change too much to be relevant well one thing we can do is for instance now what we can do actually it'll help us tremendously so if right now their work how can I try so basically if I was to call blender and it's very building a blender cause right now I'm visually checking the issue and we want to to render render frame one I don't care now you see let's open that's open let's open it is correct and this should be wrong yes so which means I don't even need to open blender to to run into the issue of course whenever they want to try if the if it's fixed and everyone do that but it means I can actually more easily oops no exacto I'm gonna quit Ceaser clear and it be give is this a bit of my own a lesson and shortcut so not that reproducible so we were 30 minutes in it didn't do a lot of progress but what can you do so so what was here is about is this function here if it's getting the values correctly so my computer's being bit slow but that's okay yeah so when render gonna read try to really that's very disappointing I just triple-check the sc6 ooh you're not taking my arguments and that's a bit more radical remember we were here there must be something wrong with my my commands let's try here does that work I need to do to the B - - lets go this has to be gdb - - arguments stuff like that I can find this out on my alias - arts it be this is there we go so it'd be the fresh herbs blender and background oops that should do and that's why at some point you might want to set up your vehicle to handle the bug infantry thing it and I just never bothered I'm not doing a lot of coding nowadays either I do ever know them like become to be country we need to otherwise a high-priority bug so those occasions at F they try to help but it laps many more smoother most of my time helping to make sure everyone's working correctly I'd really suspect this function is not working well okay something is not working here which heartbreaking I know it's breaking some point before so no problem you're gonna do the old-fashioned way which is just printing a bunch of variables here sorry for is your time I was not recording would they have bothered now walking still don't close oh damn it I can still debug it let's try both ways why it's loading there into the bucket and just don't do it automatically via command line because so much more convenient when you can just run the whole thing from command line so you see erase function I won't see did about don't see the X one thing interesting to get here is the current view which we have if we have on on here but maybe can we can let's move it a bit down here and we'll ID like oh okay that sounds about right [Music] I'm gonna do two things and I want to build this one or I can try to two to the back this really missed miss music I've been another note that I'm working from home like every single day Wow oh my god that's why so the other thing was correct it wasn't stopping that point just because it wasn't being called so this is probably only called when drawing so indeed huh so indeed the debugging thing was correct and just to be triple sure did I build here and Kay did finish building right yeah I did so if I do this from no no but should be called so never mind what I said so like is that is that function every called hmm why do we even use it is finished I have a speech which student one one help us here because here since I decided to disabled that's going to be exactly that and since I changed the sequencer to not draw here Dario that's why this function has been called not me : one or from command line so we still have the same problem where is the where it is being called not proxy you don't care about proxy its same input process my heart is dysfunctional even who calls you ya ain't gonna be fast to try you seem to pull the burger my computer to work the bit faster that's a better knowing tweet that long from the baggage section to start is really not cool makes me want to look at a cold while waiting so huh so this is this render strip I don't even have a stack drenched ba-ba-ba-ba-ba-ba-ba some people actually love to that helps actually to like keep an old tune of only cold flow you can probably do here so you have like an idea of how things are going blah blah blah let's it does help to keep notes sometimes in paper or in the computer doesn't matter let's go back here nothing you should be zero it even please pre-processed three concepts nope so this has gonna calculate let's see if there's a cache and this is that something else er okay it's not cached good which means I both should be I'm but should be no here no proxy now that's a function then the render strip and cached I made a breakpoint here I think they should still return laughing right yep okay should be motive you should dare to be enabled shouldn't use proxy yeah that's not that's correct that should be now this there's a big chance that this is true to the other to the other eye let's add a breakpoint here just for the second I just check just open fire off that file it's gonna kind of want to assume that this is not the problem so please when I'm doing those things that I need to decide which part of the of the code I trust which ones I don't they should be one dot files all right and we have total view should be to so with the first time we do with you're ready created I buff to both fields which is the just like an array like a buffer like to to start a video bla bla bla bla bla bla how is this related to the bow fairy recreate the I before a good Thurman's I this I here frame will be helpful to tacky rename this to I and to declare only within this context in other words I'm trained here just to illustrate and honestly exactly useful to do those changes in here yep so I'll take I remove it and I call it VI D I don't remember if I called view ID or I in the in everything else in the cold but vo they should be fine please a bit more just creative than I oh I don't think you can declare is it that way you cannot declare one thing if you plan to have to other thing here into the mirror but this is more clear and yeah there are some tools to rename things but for what you're doing for the matter I'll look at that then it's it's not bad per se but here I would actually once again do you gonna complain this I can do anything is better than that I so honestly I'm going to just hold let's call this something different called these above PID so in this way we make sure the variable is not used after the loop in any way that's not intended so these are like just smoke cleanup since I'm going to the cold and now here you cannot make sure this is consistent blah blah blah and here again okay oh that's the that's the value change what what was I above size X I think I can as I can say can get very dispersal in just safeties these these these these these these these these things yeah I was above X&Y anything else I cannot even remove using a get a list is G here they should make it a bit easier to read finish let's go back to the bugging bugging so we're really here we really here and what we're gonna do now if I just continue it will and so that's the thing mmm since I since you change change the source files it kind of messed up when debugging anyways my eye I believe the what we have here is the case where it's loading the videos correctly I should we have to have a better way to test that way I think is loading the videos correctly correctly that is creating ones for both views and we're reading back it's not again this video might be we're an hour long maybe two hours long maybe three hours long who knows I have wait something every now I didn't like to close some of my windows might leave it here this hour let's try to read symbols and all that can be stopped did you do this time alright alright so mean it I think is all correct all right so looping over this of course is very strange but doesn't happens only now I think this is when the image itself is at two different images how to read from it remind I'll say is correct if this is all correct it's top firsta it's sitting the best course of action because I'm kind of being true like going quite a bit more somatic here but the best course of action will be to go after the same size you know what let me try something here so in theory is gonna be correct right and then are they actually different yes but if I change these because this is easier to track in the code let's change something else okay this makes no difference whatsoever now let's stick to this one and it's closed closed you'll be here right can I get the cash and the robe are going to skip something like got the cash of course I buff the sides are gonna be the final size so now there's an eye but of la la ba from a proxy at some point is gonna be a place to resize things I believe and if I wanna do is I want to render here now this is a second eye and we know these think if you do context I can actually see here yeah the PYD one okay you can even see the size 640 by 360 these the the reason of how there's already split by half so this is also correct huh so attract anyways the thing is here is gonna be already cached unlike the other one yeah so what we're gonna try to do is to make sure the cache always fails which I don't really think the issue once again so I'm thinking to play with the copy oh [Music] and I don't think the problem but maybe these days also so the problem might be when you're getting the result from the eye above here actually that's pretty good question what's the what's the main chance here they are correct for the first view should be for both of them now for the second feel again the piece to correct a good question what if a try is the stamping working correctly correctly that are a good good the call so stamping is we all know is the stamping options using method be there go as step is correct I mean just again eliminating eliminating sources of the potential problem which means that the buffer has the right size oh my boy oh my god I am so lost here anyway let's write the the cashing thing so let's try to make sure it never caches where are we doing it I just run again here that'd be enough so one dysfunction to always be called right might as well do might not work entirely because my work under the assumption that that is running for the first fill I guess we'll find out ha but is the same image on both no no is there ha oh so one hour mark we find a fun a really really good clue so the cache systems basically making things not work which makes sense because it was probably introduced with 2.83 82 we have this cache it's recent how so happy so if you see that's the thing right so here in here you see that it's definitely different image the 3d itself drawing is not working the separate bug happiness there an option to actually disable cash is there right so let's so let's try to disable those options so instead of hacking later yeah yeah a bunch of which means what does it mean the end when the cash so cash is not storing things correctly you see the problem right because if the problem is with driving sorry from the cash you know it's I could totally stop the video now pretend it's a it's a victory that there's a lot of progress normally I could even stop now and go to the chat and then talk to developer that implemented it the recent cash and say dude how is the like which assumption you're doing you're doing here like during the cash and try to discuss together cut they probably have a better clue don't know I know it's actually what's a causing a problem but I think we're gonna insist a bit further but feel free to stop the video now I will now test something again this is this then once again a vanilla blender vanilla banana which means it could be 2.83 I want to disable cash here see if some of those cash options no it's probably one just well make it worse because it's probably just the definites the oh that's pretty cool anyway that's progress take a water drink something Oh at least you have the print in there let's actually do do the work yeah again so I did well I did just call it just just just rendered from the comment line as it helps to know how to use blender to the world stuff and this the deed description cash is only evening called once now why if I call it once so anyways very likely where I'm excited I put like on the on the mark of the video when our remark excitement now I ease because we're calling sorry is it because we're calling is because the buffer that is stored if the cash is the wrong one and there's a good way to find that out which is I'll make sure whenever try to get the cash in the I buff and everything we're always going to try to get the right I so that's quickly okay oops not correct and then probably to do this no oh Jesus okay fair enough fair enough who feels equal let's try first obviously r1 and then here itself a big change that might mess things up if things are stored in the context can't I just push calling this good holidays I can never mind if it's constant it means that we can actually treat it as we read on it my concern is what if this function is changing its up inside context and then I introduce a different problem which I cannot I won't find out later on but don't happen that this content is constant so pah-pah-pah yeah and I don't need this that's good enough since builder can explain quickly well he did here I want to pass a different context variable which has every single setting from the original one but the veal I did come to make sure it always have you already zero it's probably work with the the the one as well but let's try this one first I put my camera up here we can and never check and probably blocking some of the text but just so because my camera is down so it kind of look at there at people most of the time okay now let's see so just remember the the left eye is the one with this mark okay and as you can see sue caching but just just getting the buffer from one and now let's view the game so what do you expect to happen what does the thing like if it if it shows the buffer correctly it means hold on it works on the last time Wow Wow which means the problem is the cached information what's the is it even the left side to check out I can now here's just gonna show that one of them I don't know if it shows the left or the right one here out again this is not the best file shame on me start saying that this nice have a good demo file should I spend one minute doing a better one should but I don't think I will so so other hack right so what a hack so with one fascinating I think it cuts to showing the active processing and then install raw like I did even I don't oh my god I don't even know if that's the one that that's calling that's why so does it mean that I buff itself is wrong I don't do something now a bit more so so the first time that we are calling it and of course this is totally overkill because I'm just going to make sure that the first time it's called just calling the correct one let me interrupt my the book section here I feel like I should quickly quickly quickly create a better video file which do it by adding image bugs those are the ones you created today right I created so many times in my life the like a good left and right sample file let's do it again well as we've to point it to quickly this is an example of the images I create every single time this is right I oh let's make it not what view okay okay those are they and the image that was looking for where day oh okay okay data quickly new and so is to pain here video editing image I want it to be mood for you we need to do it elsewhere oh here they're an all motive alone for the entire scene or status copy start scoping take this trip and tell that this is supposed to be Mudville which is individual okay and ignore the preview that's other bugs we have in blender and I want to render my whole thing as teraCopy top bottom and let's render 10 frames of this so this should be fine render one frame output individual no stare taught ballroom render is individual now let's think put the image this should be fine and I want the output itself to be on on how it better same boat and hit animate and I probably do this in two point seven hundred I think indeed that the reason I'm putting effort into this whole thing's because for a few reasons stereoscopic 2d has been neglected and I think it's unfair this is incredible feature which no other people is so let's do it properly image also from documents right loaded I think I forgot to could make it get multiple stairs copy beautiful 2.79 the best start TD top bottom let's make an imp and a video file and pack RGB good enough encoding no no no one likes matroska and before bugs now it's a bad sample thing ok better sample thousand video we said about twenty twenties enough the ender animation how does it look like try looked perfect open bugs 3d how it's playing it's perfect it's playing in my other screen but it's perfect so now there's a better demo I'm not sold on the resolution though and doesn't matter good enough clothes anything that's not 2.80 take this file and place with the new video and bank and of course we need to make sure once again is and it's the right one now the problem of this sample file is that it doesn't have that nice thing of going it's ok I'll save this as a new default and let's go back to to see the problem without my changes huh so here you can see the left hand is the right clearly so much better again it makes it makes a world of difference to have a good simple files you have put more effort to date in the beginning so again if I force it to be one I could that's again that's let's babe steps snow however here you're probably watching with twice as to us as fast I'm gonna do building you're gonna close things that don't need to be open like me linkings where what takes forever but I've just ignored this building when I build again close close close so now we're forcing create the cache I'm curious to see what happens looking outside it's a nice field work stuff not working from the office why did it all right this one's going to be wrong every single step of the way that's good that's why I see it have a good simple file oh my god is so wrong cut is not even the correct it's 9 2010 2010 8 [Music] digit gold trying to think what what the heck's are happening so to force no cash works let's try again save this is a new default it's chemical as you can see it makes a difference if you can build very fast which I'm not at the moment [Music] and the first cash to never happen I'll just go here and return / - yes yeah this is a way to I am doing just this against an elite I have what is to build only the project I'm on and to link only the project a mob since the so it doesn't have to go through the entire folder structure to see what change it to what not but since the bottleneck here is linking and make some difference that's right out right some of the findings if I disable caching exactly what we'll try out real double checking out but as you can see 21 minutes ago seems to be sound correct yeah so they're gonna be crashes of course because we're we think that we shouldn't even want to change this so this is the one that should fail every single time but works beautifully so super confirm that if disabled cash things work fine so the problem is in a cash system yeah we know that so this one shouldn't matter let the cash be what we want to do is so I want to try again if the first cash to be I actually I'm just try to see if we use really getting the view from the context or from credit blah blah blah okay so now try to force by the time you run the try to get the cash I should've actually even mention here cash felt even do like this cash I don't like this oh and of course is the correct is like this so these at least gonna tell us you're wondering will the light post this video if he cannot fix the bug yeah we sure was of my my old so I had to even faster computer at work with a faster CPU but on how it fried so I wish I had my work computer now makes life so much easier so we're gonna do window view so you can see see cache not found and then cache found and only shows the left right left eye for both of them that's kind of what we we asked over there I want to try so many things now but let's first try these and let's compile what they write down the findings I don't need this right let's continue so if I force context ville to be 0 for I'm creating the cache and that doesn't make sense check this out I couldn't find the cash so it won't catch it that that will make no difference at all as if there is nothing these is where sorry these are gonna just show the left and right order the right wrong cut the cash is not found and then cash is found anyway the problem from it seems that we were creating the cash the in the wrong way for the right field kind of second bill press here I'm gonna write it down so I don't forget and it's clear so if you forgive you to be to be zero when getting the cash for both fields now if I do the same for one - this is so confirmed when I'm trying to say here it's a bit unfair comparison because you really want to try it left for both eyes you need to do the same here which might as well do it and then contact local but the other one was calculating for the zero yeah got it and then we'll try to get for the one but to try to get from the zero and it was cash so good enough so never it's a bit unfair comparison why if you try it with the one when when drawing the right the left I was still correct this is what we got it I won't before it impels half we failed what I'm curious if I first to be wondering getting the cash what happens right which is not what we're trying i what to try now is if I force context feel to be one when getting the cash and when calculating and test its what we're trying now compile yes I did compile it works it works as in but now it's never finding the cash it's never finding the cash I have this mop filling issue a sort of this pre-process but it shouldn't be write down the file and so if I force I should be one again in rebellion cashed shows only write correctly and but never finds cash which means even if I render again which is scenario where the cash should be there so you cannot find the cash the bad sign pretty good buy a pretty bad sign so you want to do the other tests hiiii sorry blanket that's effing the coldest you as soon as we do first the zero view and then the second view of this line I keep one now this way we change the didn't do any difference right [Music] struggling that's not the first time I found the problem of the cactus is a matter think I mentioned already this time is usually usually useful to go for a walk and to clear the mind a little bit and rise to get too much stuck into the same problem sorry and did you see me to even consider to change that so let's go back to your directory we're doing progress over there yeah don't do anything Oh selling me mink we also vehicle already what is the something different here so we're going to try to do now I think I tried it at some point already but anyways I'm just saying like ideas keep calm like what if the context itself is different for the second run we're never going to find out what is the meaning in the context in the context even if it helps you can print that but without it I doubt it no cash founder not and then so we expected to have cash found every single time and then context correct X equal this thang we're gonna do the other one as well and in context I don't expect them to be different for the views but when I sing would you stand up and walk actually I'm so stupid that that won't do it I won't do it not so stupid the process of thinking first let's get rid of this and then this okay now what we want to do is this here probably to free the eyeball what if you like I'm almost almost sure but I want that's Mamluk and this we can so for now the only difference is that now the only thing you're doing is forcing cash to be to be used for both the left and the right field so we're seeing the properties in the reading from the cash or generated cash and if that works unless you I have kind of pull any ideas I'm going to try to swap the fields here and you're gonna see and then Dolph even do is for both fields and so up then curious curious I am as well so it's probably gonna crash right the resolution is the same let's let's try again because I forgot to see there why Sukesh not found here why is cash education not found oh sorry cash not found for left and cash found for right like why Oh because I'm doing so I forgot - oh come now that's correct I'm just calling it three thousand times and this is probably one of those issues which is a one-line fix first aid oh sure [Music] gee peg honest : robot walk all ecology professor hood that's what romance a smile crystal Cortes quantum so you born please collect their cities condo so when the heck when are we getting to the cash later I should know which one is being called on if you're just gonna cop the whole thing so they're go see you to all the things you can't really do after larges in space sickness effects before rescaling trend resolution has been done which means risk killings probably afterwards I'm grasping I think I know what the anyways no one wants to hear me ba-bling ba-bling kind of want to get rid of this whole pre-processing let's do this disappear processing Irish so we're actually storing processed I just give me game app which music I like to listen when programming thanks for asking expensive for asking Bank okay use be process to find somewhere so quick recap I'm a kid going through there for now and just hide this so it's didn't get on the way to add to the cache so now I'm definitely mostly only the same having both left and right for you to read from the from the cache this drug was real getting great here already just for thinking of that I'm not writing down my findings because I failed my experiment so it's okay and then an N now the console always found the cache so reading from the cache is fine now let's try to now this gonna be the fun part so this is well done and [Music] left is right it's correct this big beautiful - right left is right and right is wrong left is right right is wrong and now let's swap it so now we've found the cache I mean this doesn't run so we're just returning it beautiful ultra beautiful oh so now I'm gonna try to maybe I should first try to do 0:04 both of them and then when well for both of them and then I try to flip maybe the people I think absolutely with this whole pre-processing I think it's kind of not looping over every single view it should so it's not scaling the order view that must be it how beautiful what does it mean the cache is wrong which means what is actually cached is entirely wrong no they are swapped but left or left is still wrong which also means if I do 0-0 it should be fine if I do one one both of them should be wrong so the whole processing when was this added which may get lenses record and talaq via sick hairy right yeah the my friend I suspect you broke so I'm fair to talk to even assume that without checking sorry he got big file those things are hard to court can just go back in time and be able to blend with for days and see if the how it was before and then try up their arts seek the problem with introducing this one probably was that's now let's look from the beginning and look at any sense of view so another good reason to use view instead of I first view in preview it's very much like some of this is wrong some of this is wrong that's simple I call it I call it right now son of those are what we wrong we get there first let's continue here so you now I try both of 0 that should be perfect and then both of one shot both don't have the same error but beautiful congratulations yeah de yada yada let it be while I look at the thing again so is in the butcher signature space and then this other one so it's both on the same file which I believe is the sequencer dot see but first let's let's use bookmarks I think why are you even were even ok you're not where ok it's valid we're really doing something special for those cases anyways but cut if you still recent one if the controller just anyways and which confirms when I first thought about talking about the automation discussion and talking to the developer that what was that is working with cash in the video secret sequence editor that's he car don't Alec I thought he cut entirely Catholic and he's probably knows that but I went I'm just gonna try to do this myself so she says Christ I think it's Jesus Christ so we were expecting I was expecting to get the exactly same result result in both of them and I think we I think we actually did say so you're both equally wrong but that's good directly thing just has some problems with the offer and whatnot okay it is it doesn't really tell ya but you can see that there like this some garbage at the filling the Alpha but everything else is it's correct correct I mean is equally wrong and if you see only the call of your dove yeah so in a bunch of blah blah blah I always found the cash I always found the cash so it's been again one hour since we found that the problem was in a cache and now another hour to try to figure out that the problem is is on storing I'll say not retrieving which restoring the process whatever the no story the second view the right eye so if we force to read from cache and swap then the top right and then if I force to read from cache for both views and read left on both of them right on both of them they are both equally wrong so one taking a test but oh my god so what is the issue and actually I have a fixed reduce this whole time now I don't so I think I mention right I think the problem is those I will Jesus there's I will once again go over the how many calls we have for this one two three four five are planning okay first I think I will hide the quaint let me let me switch branches so this is fixed via C stereo yeah super generic cleanup rename each of you ID I want to do a few more of those but I want to stash those change the side by stationing literally eats - save force count for sketch things like this like for cash yes which means we're back here back to black now what I do I want to once again [Music] blah blah blah so now I want to go over the changes from this I want to go to over those three changes here and make sure first I want to rename them so let's go to them one at a time and this is where we already are this for image I would change because of what we're gonna do is rename e only so it's fine but has nothing to do with what we're trying to fix yeah if the thing if it's all if it'll be alive you'd probably be a bit more interesting because people may be connected reading and have something to talk while doing those things again ain't view ID will do otherwise you know just it's me singing again not one I'll try next time so in both in both so this for the image now it's probably the same for movie strip and then same strip okay and of course the only one that's really away forgot one thing they're probably in order yep and also to remove the I paint I where is that declared here go out okay now do the same thing for the movie strip oh I did this ready and for the same strip as well oh my god Yakka mind ready function yes I am oops it's moving bottom-up which doesn't make that much sense but the lie sure there's no or elegant way of renaming things yeah they are but I'm not in a hurry doing those things also helped to bring to set a little bit goodbye so first foremost you should build no reason for it is not filled the trick to build the project also a black economy also helps to catch compile errors quickly so 300 0 7-6 7-3 in order three five seven nine three six one three Oh to remove if I didn't complain as well that this variable is not being used okay seems to be good enough the changes I did and I will never commit those changes together with the fix not real it's this can get this can go to master like now didn't I create a bridge oh I had a rep range already from last year which anyways for March last year so one year ago these are clean master yeah it is and bug was introduced so I had a branch already of that name so it didn't refuse to create the branch let's delete the branch farewell stereo then we remove it from my skip my github account well I use it as backup so doesn't exist there or digital into and the other one is I never know oops now next cool now I can once again create a branch just to keep things clear go back to master make sure again I could just commit this master no problem but I won't okay we're back here and did this built right so now let's go back to this blah-blah-blah-blah-blah do render [Music] movies three people about what is called see my energy is already like going low movie strip okay so that very suspicious commit I was suspecting here right now why would you there should be either first let's run this for both oh my god I think it's starting to understand the cold which is first let's uh which is that maybe the way we're putting things the cash so this is gonna propoganda this should make this will make the cash to fail so c1 may like this now maybe it shows - these just right does anyone know how to [Music] now where was it line three six six seven if you never really managed to do in a nice way is to directly use the bookmarks do render strip and cached now sequence render strip here because now it should not it should fail to get a cash for in both cases I should probably put time some time to understand what's the difference what's the difference between the rock cash and you be processed but I think we tried right and it fails for both of them so it's not the case oh my god try to think what can it be and which me so the problem is whatever we're putting whatever we put in the cash is wrong now when I first the cash for both views and called in the damage to read the left from cash I think a deed but then it's because I anyways I think this cold here to read the cash is so different from the cold here which makes me wonder why the heck is that like why here we go through the trouble so an interesting test to be to something up just little water break and we're back so we have done this a long time ago so easy to break one thing that bothers me big-time big-time is that we want we go through a lot of hassle right to store something and to start at the left field well when it comes to this the right feel we're only one function and that's clearly not enough so let's go to two tricks I don't know if have context here I mean so what I want to try to bring everything we have we see all these function calls so first let's just add a few prints here print if one just to I don't have an idea of what is called yeah that's the only one process does this process or just shouldn't process right shouldn't process you know correct should already should be constant to be honest should we contest but it's not it's ok it's ok so I just want to double-check that none of those none of this it's called or lady's car it's not called just triple check it now that I think of it could have passed every single time I'll compile but then at the end there will be no music there'll be no singing and I believe I think reprocesses being cold and there's the final fix you probably can I don't know reutilize Sonata which change we did here well now you're just not just not putting the left one in the cash and interest on this one bee bee is called B it's called it's called and begin my friend is G so basically what we want I believe probably check bla bla bla bla bla bla then Asumi we need the pre-processing who cares 22 be revealed in ways and then if [Music] so the processes should be through in this case what the heck is beginning why do you keep the funny things like you can be know I don't know me well Lucas here so before one thing I like to do is like this so we can dump the code here a bit more loose so we can dump the code here and not worry about formatting then you can see what part of this is useful I can even just compare with a hack so that's the correct thing costs zero so just ignore this whole cost false is false what let's try something different [Music] now begin by a bomb so what is actually the difference here so this is the same without the costs okay and I think we first you're adding there the raw then to do the sewing both process maybe so that's the in both need to add I have this so that's a I have this feeling that what we need to do that's just a show me printer no no here so let's pretend causes you're going to be zero effect close here can already remove the cat okay now again beginning 0 you're just ignoring it perks image don't care about cost rich okay I have a feeling that part of a big part of the problem of the problem here that you're storing I don't think it's this one but it is like blind gas can just try that one but I think this one here I think if you want to pre-press pre-process no idea let's just assume it's false false think it checked before now okay maybe connect they can actually you know it's for now it doesn't matter context I can still do it okay okay okay okay okay if that's the thing here Roulin process or for you call false probably the initialization of the variable correct how do I know if the proxy image I'm if it's a sequence I'm movie clip so it's false do this here is your friend oh okay why don't we let's let's simplify our life are using I buff you know we are now let's stick to let's take two days I think we got something here so process true blah blah blah just copy-paste it didn't even read interesting we probably had a problem here this should be its own function okay but since we're just quickly exploring of course I'll find this house I'm buff I buff I think no yeah I'm a capital B capital B kept toe to toe reset time and also trans timer sensor I have conviction that this might be what we need now this freeing the I'm both anyway that's not did you see that look at that now it's only parks image nice I think I did something stupid and some false positives let's clean it up now first too late ignore those please because of the out format okay of course to do it for real would probably just double check it out words from the original code so I'm sorry about that so this goes back I just hope that let's let's say let's be civilized okay blah blah blah course this is what we usually do it'd be like if the is is equal just continue classic classic I think written it is okay okay although I think it's in this case I think we can afford the neck strap she looks cooler this way let's see if I messed up the cold too much I did I did it's missing one lamp now I'm just messing up the code maybe's yeah I think so yep perfect of course okay build oh yes pre-process not yeah we all hear so many always we'd want to add the process now let's go back to the [Music] so cloud here now these always run not- out it's just just the costs you can't push the wrong thing still raw and I buff oh okay so I need no worry don't worry don't worry don't worry so we need here is to define this outside it doesn't need to be you know that can be here we're going to specify the cold a little bit as well and then I can use these instead and we can't add these instead is how we do I do above sick I buff yep beautiful we're calling this twice why just before over there I'm both the sequencer no it's not so this doesn't exist here because you call this earlier on it's really all that's all there is to it so it can even come on are we using there I miss the old blender code style clip process bad ok oh I like the I think that I like the readability of this code a bit better to be honest and when you're the calm the computer kind of smile optimizes it anyway it's been compiling so it doesn't matter as in like the generated code should be the same just double check but I also change the cold and ever it's small enough I don't so technically all you're adding now you're a nice that's a terrible sign I was faking exactly that now like if it's crash now we just give up I just hide this for now Oh oops one thing that's wrong here is this which we both know is not why I finger failing but see we're trying just look at cold look at that and it was found beautiful beautiful beautiful so so hours and a half problem fixed now should I bother with the proper fix cut the heaven I have a feeling that we're gonna have the same problem with images donut right that's right so this is for image seek for Fito right image seek where but I need to free some stuff so this is for let's add single images we had is another document also you can do this one now that's a letter that's a ha ha ha I think it's project season let me find these offspring and then do I get right back to you he was in documents poor or rich I have it here right motive you yeah here thank you let me copy this this file off-screen here quickly 2020 motive view demo top that to the town ugly everything to my bugs yesterday I just move it here so this is my image again want it to be Mudville stereo and it was individual files yes and if you render i had crashed it's a good sign I really think has it has exactly same problem for images because so first we don't need these anymore just for the render strip and now that's due for let's take a look at the render image strip thank you here it's probably held exactly exactly exactly same problem we just quickly [Music] see the problems they are not which sequence ste okay she's I should I should should save this as a top bottom to be a proper to be the exactly same Sun I write and honestly the best way of doing it just take this go to video editing add the video you're playing with now and also just save one so what's the source dimension dimensions 960 that's not your Rick that's not what does it file let's show you rename better sample blah blah blah to better a better sample for and just so 5c works we keep a link to it just because right so there's a file and just want to render one image and save it that's all this is the single top bottom thank you very much now go back here tour sample file image sequencer editor oh I can save two of them we don't want right no we just want a single one of them so let's rename let's remove single bottom-left right one and then move the signal bottle I have to be standalone oops oops refresh thank you very much you smooth feel just top bottom see same problem let's save this as a different file it's gonna be single could always be could they could all be in the same file but single image so now we go here to the single image and let just copy so view [Music] now oh this is so hateful the nation the name it was a bit different so this is the old one I just see it as a thing same local context a crisper blah blah blah yep no that's all wrong yeah sequencing both zero bubble bubble tea okay now to compiling just to be fair it doesn't mean that the issue was introduced in that commit I was talking about earlier but maybe the time was he working in the whole pre-process think changed afterwards you know and it definitely needed some function to avoid the repetition and to avoid this error in the future that's what I'm gonna do in the final part of this video so this is the one of the video so not the image so working fine now let's open the image one things make crash because of M C of cause of memory but the way we are creating things next I checked is out beautiful and third one was what was seen this you have this somewhere I think I'll have so many so many windows open look you know that commit see maybe at the time yeah it's probably really broken at the time so what I can even check so this is the sequencer that's see with that you're changing so let's just take this file and get show where you can edit or space now it's Colonel how they find out let's go to that function over this one here the the render down on the other one guess what here that's I forgot which file was thinks the render sequence above above above and then I can also just look for this comment it's going to show me nope no no I now feel this pathetic but you're looking at this one here is the secret render strip the render the render and care and swing swing this is the one yeah this one so let's look at this beauty on here so the time of that commit it'll just functions cold ever void the void or it's a neighbor factory here see at that time I was already expecting this process so these commits introduce the issue so if you go to the committee for that I don't know it's doing maybe it's already seeped maybe it was already there so enough sidetracking we got image we needed the committee number add it on yep so we let's go for this scene render scene strip which I assume had the same problem so let already so let's move this to its own function shall we so what you're doing is when I'll do this in the original one which is the this one now what's done someone I even have on my clipboard here no its own thoughts on Jesus all right it's not that it's the sequence render stricken it's getting dark that's how long this is taking so on this whole Beauty here to be its own function so I can use it over and over and over again and let's do it I don't even know if you're just gonna do it like before this function so three eight here I will turn out the light right back and we were back a little bit more light so just copy this whole thing okay turn whatever and accurate and then of course we do the deaths definitely wanna I'm buff as an input and we definitely want to declare this in a few places but for now I just copy this whole thing here I think we can actually honestly try to think here because if you compare days with the the move blah blah blah let's call render I don't like it either way I should just send it as as it is and but it's too ugly to have that much logic repeated over and over and over again and then the next time we need to add something we're gonna have the same problem again so yeah I'm not happy and you shouldn't be happy either so this can be in the logic this can be in the logic this whole cost let's let's let's uh let's play let's play so you wanna boolean pre process by process definitely I'm both they want it to be coast maybe say keep repeating the same mistakes over and over you know I mean sorry I mean tempted to do like this almost that this shouldn't belong here you know get cost put be fault so we stopped the count and stir again kind of didn't want this to be including this logic but sure where we called that she had probably had something good in mind why do we even care about that so this why not you can passes our other parameters as parameters I have filling the wrong line right on okay now begin what's the clock right something something something clock check clearly never use in my life little call lock and redo this is a point now clock is begin write the name yep again and then here of course and to do it begins not no check top star then star which may be 0 so again why do you do this twice who cares about that really it's called totally one disk accepted after a later on I can't post in the description if like a follow-up what happened let's simplify a bit cold bit strained because because it talked to because keep speaking to myself because here we're ending regardless how did they call this country SEC render strip cash hat it's really bad sign that the radial function call this in the cold no there's not good creamy creamy context state or it just copy the name so I can just now this is a weekend so now the pointer and you my friend can all go to hell there's a time in mind and of course so I changed I'm both yes I did why did you change a bath and the beauty is we do the same for friend here I can just come up copy some of the arguments here my things even thinking I even think I know how to fix their the crash shows again II years I can cop stuff blue blue blue right context sequence see frame I'm buff it's gonna be the I feel sorry chief right here after so if you move down here above cifra all this state what is state form the desk open argument which I don't use the dollar just call up an argument which I don't use I did sir I did you just cop the the function yet I did that's why we even use sequence I do I do I do I do oh no states is required okay so once again sequence above see frame the no is procs image false HP processed it was false we're doing yeah false now what he wanna do is this equal dings these equal DS and now we do the same for the other ones I can show you their word medic and Wonder sorry prince will you ever with egg box right pops don't to clear their clothes man yeah [Music] take part no one to tell there's no and where to go word for me or was it didn't just look at it here the white this was a really function to do all this now let's pretend not that's pretends not again let's go back here magic yeah here also I didn't fix for the I didn't fix for the other one from the scene that's why for this one that's the one we decided to be smart about it and so let's just find we're looking for this but that's exactly oh but now it's the raw you know what I will ignore this if it's your problem I will deal with this later because I think the raw has no problem the problem is only if this whole pre-processing mess one can hope clothes clothes clothes clothes let's go to our new function house : probably to kind of move it around or at least let's do this let's do let's do it [Music] they're in cheap OD kids and I think we got it what's here is it ugly a little bit so we're not returning okay no that's a good enough I don't like this timing like spread throughout the entire cold so honestly I've very late my own rules and move costs here and I don't care how is MSE something very obvious here cuz who is even changing cost like I'm missing something very obvious here let's cost cost cost Oh cuz we didn't I do this oh because cost is equal that's why we will and then we do cost again equal da ba ba ba ba so it's really different cost sure honestly who cares cost is zero then here it begins probably did this we bother with this which means again we were set yeah but then oh that's why cuz I did the same mistake twice okay good style I think this baby is ready are using all the parameters should otherwise you gonna complain anyways one thing I like to do is why I come oops okay no any warning is important oh of course no oh here bank and use the process not used no I don't mean it's set here it's set here to here whoa oh is in the treat for tree then let's clean up I just know what let me see shouldn't I do these in my shouldn't I do the using my code as well first I buff is always true here but we're running this sorry we're in this before honestly it can be either peu prรจs is fine that's not true - to - where do they get this from the sound that's the only thing I am wondering - really - really - that's so tired these when you start making like big mistakes big mistakes I can't think anymore three hour long video should write down the the timestamps already I'll do it here like one hour find cash to our nail it down two and a half or something don't remember what that's why should write this before you know it's three hours polishing patch can also do the classic let the Petrovich complain I just want is any chance that these will create something that will be called oh it's not even based on the on having I above there wasn't no eyeball you didn't even gosh let's study like this constant boolean you know that can work yep there we go they like it nope should this one be above them yes mixing clean up with changes then maybe things will work I still hate this begin thing here hit it big time it's ugly it's ugly super ugly reprocess first getting hungry think about making a soup tonight and of course this is how we're calling us be process now and this need to go back is called your nothing by the one oh that's why it's because it can it was part of the code removed kind of do two tests for there we go just don't make it constantly fine which means we do want it to be true for those scenarios and then let's also make sure here requite collate properly how it's not fine didn't I didn't I bring it back didn't I bring it back sir okay shouldn't here no yes beautiful so this one fini to do sorry so we have a 44 above the Ray and we have 91 ibuffer ray Christ so you see I buff re being used in three different files and above us ray are both already anyways I really want to simplify this later that's a clean up start a new pointer of type 387 oh my bad hey this thing we also could you also can make these three times three thousand times faster which is well not faster probably slower what is this one o clock now if we can this can clock clock and then I have trout the cold clock to begin that if clock then clock else again and growl equal now like this clock clock they need to put a pointer I think so which means there's always always a clock okay at least and then DS DS and DS so we messed up the style again if else if Eve pin that's correct [Music] I love is much better right that's what we're aiming at Iko Iko beef above above but of image be processed float coast and I can even repeat these very button okay this as well both coasts which means we can remove the other coast don't wanna if you sp process foot costs sequencer DS then Bob a blur reset timer now I just out of curiosity how's the old initial value four o'clock okay I don't need this I do like you we can even is it expensive to have this Jesus Karla simplifier lives we don't like to be caught this cuts timer clock is probably protected words so we don't it is all sound and this is like a mess I'll try to unmask it doesn't matter can't you just pass a clock every single time plan and if timer just move on so doesn't matter advice yeah sure sure don't break my heart say you love me again I think like literally just a number I won't be overdoing by passing having already like we gotta focus here if I wasn't recording the probably on Twitter right now lack so begin okay and then I then you do the whole costing thing right and then what's the cost so you can store the cost which means the timer didn't come but every time we do it no no honestly we should my ability of making see hints is affected there's gonna be we begin I don't care I don't care I don't care I don't care that's it that's it and magically where do they add this oh okay the gain comes before user process here of course and just gonna be like gonna show the wrong number for everyone else they need to really know if they can cast like what type is that even its its own thing they need to oh good good good good good call I used to do this wasn't this what are you doing the beginning thing or I can't call from here just a clock get out the clock and I'm probably going to need to to change it but you're so close maybe what you can do is to use this start your liar okay no I don't know the moment deciding whether T is clock or or not I will use this the way the way it is now bingo don't like it [Music] [Music] [Music] ladies and gentlemen's gentlemen ah the satisfaction is it to crashes no see also fix the memory problem now let's open the image let's do the cloud the whole thing so is the video sequencer now let's go to the image 1 congratulations to us you only took us 3 hours and 23 minutes to fix this ok let's come coating cult commit and then do a few things so it's a fix and I have this physics could I compete directly I could I want I'll get people to review it and people have a bad vs see let's refine stereoscopic 3d shoes with mismatch dimensions beautiful that's it and now to change this for refill first let's okay let's do was follow let's first update my bladder to the latest and then go over here let's also do our base okay and let's quickly look at the this is the one we own three named cherry pick okay so so I'm going to commit these two master and this I'm just gonna make sure to build but this doesn't need any reveal it's a cleanup it's good enough ish as it is and we can also reiterate later but since my patch requires this to be required this then might as well commit this first I don't expect people to watch the whole video it's judge Howard three hours and a half but let me know what you think I love that I will do a wrap up soon but sue I'm cured like the parts you've seen what you think committed then go back to my branch go again a rebase just to be triple sure okay so now I only have as the patch is actually quite small but uh but I'm quite happy with it right so and now we will do a our cliff which compares this code with master and let's edit the reviewers he cut aunt Alec which I assume is gonna be this his nickname I'm gonna add say gay just because just kind of think I'm gonna add say gay as a subscriber straight from now if you go to this the Reno task you can see that this shows here somewhere about about about it should and I need to do it manually but related tasks he did here religions so now they're linked together so anyone that comes to CDs and here you want to fix that in actually gonna go all the way here and that's the code we produced today okay so whoo that took time that's about it that's that's what takes sometimes especially if it's an area which we are not familiar with I could have asked the developers of sequence editor for some tips I wanted to try to go a bit more blind in this way but I think we did well and it's not that a typical to take that long to reveal this were like three hours and a half and we could probably do it in two hours especially if not streaming probably do a few things faster but since ours I don't think so maybe maybe took us one hour just find out that the issue was was the was a caching at that point it could have stopped maybe just updated the the the tasks with the bug report and say hey the issue is cache if I remove it from that that person would probably take I think took me one hour give or take to go from that point check a bunch of stuff and then to get the conclusions to the conclusion of the that where the issue was I think that could be definitely shortened by asking someone and that more knowledge in the area but then I'd have to wait a little bit and add to the tracker back and first I wanted to make this whole thing in the video and then took us what took us another hour what was for all to find them yeah anyways I hope you liked it I will add like a timestamp of the video to help people navigate here let me know what you think we can always make more of these diseases I don't do a lot of coding nowadays as I mentioned but I like when I do it so Mysore shared and that's about it thanks so much for staying for that longer for visiting this video until next time bye bye
Info
Channel: Blender Developers
Views: 5,948
Rating: 5 out of 5
Keywords: blender, development, developers, code, open source, 3d, animation, blender3d, computer graphics, quest, code quest, UI, interface, toolbar, news, updates, update, grease pencil, EEVEE, 2D animation, b3d, b2d
Id: tQzKjf2_Hmk
Channel Id: undefined
Length: 210min 13sec (12613 seconds)
Published: Fri Apr 10 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.