depth-of-field

image
image
image
image
image
image
image
image
image
image

image

Now that I have your attention, I'd like to talk about some movie making tool that I've been working on. Conveniently named image, it has one specific design goal: to capture images as would real life cameras. image currently features motion blur and depth-of-field capabilities coupled with lightning and tone mapping so as to preserve as much color depth as possible. image opens up some new creative possibilities that would otherwise be impossible.

The motion blur alone works as fast as your PC can render 1000 frames per in game second. Latest tests put a speed of 48 seconds for 1 in game second (This value is subject to decrease when cpu simd extensions are implemented). However these speeds drop consequently when depth-of-field is enabled, increasing by an order of magnitude. Hence the reason I'm opening the beta to anyone interested in giving a hand.

#image

Thanks to www.violenceisbad.org for hosting and especially to ogrec for his dedication and feedback.

Latest build: image-0_9_0.zip
Tutorial: capturing image
Comments
50
looks nice
omfg madscientist, i thought that u didnt exist
looks very nice, a must have for all moviemakers C:
looks nice, is the program available somewhere tho? or is it still under construction?
Check topic for latest release.
Parent
thanks alot :)
Parent
Very nice job madscientist, like i told before. The old version that i got acess was allready very interesting.. Cant wait to test this new one :)
Just fecking awesome :)


Quoteimage currently features motion blur


I remember they talked about adding motion blur to Quake 1 but in the end they realize it was just a lil to cpu intensive :P
Sounds very promesing!
But the blur(unsharpness) in the depth-of-field look like big pixels not as smooth as with a real camera and not as smooth as AE cameras depth-of-field effect.
Hope image will be as big as q3mme is in q3.
The "big pixels" is a result of the aperture shape resulting in "bokeh".
Parent
Dont know much about computer generated depth-of-field so expain that or give me a wikipedia link or something...

Any way to make it smoother? maybe make em smaller?
Parent
The tool is very flexible, you can change mostly anything and remember that it's a beta so, even more options will be added.
Parent
Compatible with Itsawrap ?
Parent
I believe that each will capture their way. I don't think it will make sense to use both tools.
Parent
i don't feel like recording @ 1000 fps without itsawrap :-/
Parent
Hmm, I don't know where to start but here: The tool does motion blur transparently. It always records at 1000 fps internally (unless motion blur is disabled in the config) and only dumps frames specified with cl_aviDemo.

Also, the motion blur implementation relates to real life motion blur as you would expect from a camera. It process the captured frames using an IIR (infinite impulse response) filter which means that every single pixel ever rendered will contribute to the final frame captured.

PS: I should also add that the tool is completely independant of the game, it should work with any q3 based game and can be made to work with any opengl application. Also, there's no screenshot limit.
Parent
QuoteIt process the captured frames using an IIR (infinite impulse response) filter which means that every single pixel ever rendered will contribute to the final frame captured.


Doesn't that conflict with the design goal "to capture images as would real life cameras"?
Parent
It's true that real life cameras "resets" the film exposure back to zero after each frame, but from a digital perspective, it's a physical limitation such as lens aberrations (chromatic, spherical, etc). If you take a look at our eyes for example, they suffer from no such limitations. They do indeed behave as an IIR filter.

Also, the way the motion blur is implemented yields better quality and compression while encoding since there is more temporal data between the key frames.
Parent
if you use image you dont need to use It's a wrap. Simply write cl_avidemo 25 if you want 25fps clip - tool will capture @ 1000fps and automaticly merge frames to 25 fps
Its captures faster then wrap when depth of field is disabled (camera.aperture.size 0)
Parent
how is the blur compared to its a wrap?
and is it the same idea that only 25 fps wrights(saves?) to(on) the hard drive?
Parent
better then the wrap imo, and it doesnt use weights but exposure cvar (camera.film.exposure)
scroll a bit down and dl clip made with image.
Parent
Sorry if this question seems noob to you , but basically ; if i use this one instead of It's A Wrap! , i'll only have to do /cl_avidemo 25 (faster than It's A Wrap with cl_avidemo 1000 i guess) , i'll get a 1000fps motion blur + depth of field , just by putting a cvar to activate it?
Parent
if you put camera.aperture.size to 0 you'll turn off depth of field. If dof is on then image is slower then its a wrap but thats the price of dof effect. The tool hooks to avidemo cmd and it only asks you to write the framerate you want output to be, so if you write cl_avidemo 25 it doesnt mean et is recording as avidemo 25 but as avidemo 1000 (it merges 40 frames and outputs only 25 blured frames) Basicly you get same result like its a wrap except that its actually easier:
you dont have to bug with weights and calculations - you write framerate you want for your clip and set camera.film.exposure (regulates the strength of motion blur) value to whatever you feel is smoothest :)
Parent
why should you record with 1000 fps
Parent
well done
feedback coming later/tomorrow
can i has a clip?:<
plz write a collumn every week on this site
nice to see you back m8...
:DDDDDDDDDDDD:DDDDDDDD
Images where there is some bloke in the foreground looks pretty ok
sick images madsci, good luck with the project, looks very promising.
Finally out. Good job, Madscientist!
Wow, really nice job m8, thanks!
If you see things like that IRL, I suggest you go "see" an optician.
he said real life cameras, not human eye, thou even eye creates dof - for example, put a finger in front your eye, not more then 5 cm away from it and then focus on something other then your finger, the finger will ofc look blured. now, look trought the window and set your finger around 30-40cm from your head so its between you and whats outside. Focus on the finger, you'll see everything distant is blured.

if you dont see thing like that IRL _YOU_ should go "see" an optician
Parent
I see everything 100% clearly 100% of the time.
Parent
i'm sure you do when its in your focus, but if you're trying to convince me you see everything in focus all the time then you're an idiot
nhf
Parent
Few short cvar explanations, should help until mad finishes manual
camera.aperture.size - sets the strength of depth of field effect
camera.focus.radius - sets the radius of circle in which the tool scans for closest object, its value is in pixels recommended for 1st person dof - 16
camera.focus.speed - sets time needed to change the focus, recommended for 1st person 0.01
camera.film.exposure - sets strength of the motion blur
cl_avidemo - tool hooks to this command, it always captures @ avidemo 1000 so instead of 1000 you need to write desired framerate for final clip (example: you want to create 25fps clip - cl_avidemo 25)
It's about time. ;)

(Sounds really good!)
madscientist > OVErDRIVE proved
false positive!
looks very nice !
Back to top