Continuing with my progress updates on The Dark Room, I've almost got the camera images in the viewport. And what I do have, is the ability to read the RAW image meta data.
The image below may not look much different from images I've posted previously. However, there is a key difference. The coloured gradient is drawn from an imported 6K R3D RAW image clip, using the clip's meta data. This isn't a flat polygon plane with a colour gradient. It's actually something like 18 million pixels, coloured by their pixel X and Y values. It means the program is reading the R3D image meta (minus the image data itself!). It looks like this:
I know that this in itself may not seem much, but it's an important small step to getting the image drawn in the viewport. This is all working inside my custom viewport with the custom stencil operations. I can select a pixel in the viewport, and have it tell me which clip the press is on, and which pixel on the film image it is. It's a pre-cursor to future functionality.
What the screen shot doesn't include, is the image data. This is because I need to figure out how to decode it. I have to use RED's SDK to do this. Something I'm working on at the moment.
Now, I also built a function that would take a screen shot of the editor. Not a big deal, and nothing really to do with the intended use of the program itself, but a handy function none-the-less to aide in the process of getting screen shots up on the web site here. Unfortunately though, the screen shots no longer include the debugging information text. It's not been removed, it's just that the debugging text is applied on top of the viewport, and isn't apart of the render itself. Here's a screen grab with the debugging text overlay:
I'll continue to upload the viewport images from now on without the debugging text. It'll have to make-do for now. I built the screen shot function for a few reasons, though mostly for the ease-of-use to grab and upload here.
As mentioned above, the next step is to figure out the image decoding and debayer on the GPU. I can do it on the CPU (I've shown images of this in previous posts), but it's very slow. It's around 13-seconds for a full 6K ungraded resolution frame to decode and debayer. Whereas the GPU can spit it out in under 1. So, it's kind of worth it.