Alpha render?

Feature requests, bug reports and related discussion
User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Fri Jan 18, 2008 7:31 pm

So another question arises:

Are people able to do this compositing in HDR?
I.e., do you have the background plates in HDR, and do you access to a program that can do the blend operation on HDR images.
I'm guessing probably not :)

User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Fri Jan 18, 2008 7:33 pm

Yes, that would work v_mulligan, *if* I actually stored each sample.
Unfortunately, I don't, due to the memory it would require.

v_mulligan
Posts: 126
Joined: Wed Nov 28, 2007 9:16 am

Post by v_mulligan » Fri Jan 18, 2008 7:46 pm

OnoSendai wrote:Yes, that would work v_mulligan, *if* I actually stored each sample.
Unfortunately, I don't, due to the memory it would require.
Ah. Hmm...

v_mulligan
Posts: 126
Joined: Wed Nov 28, 2007 9:16 am

Post by v_mulligan » Fri Jan 18, 2008 7:49 pm

Then, do you store the colour of each pixel (based on the samples already collected) and the number of samples colouring that pixel? Sorry to keep guessing at how Indigo works on the inside :D .

If you stored that information, I'd guess you'd modify the colour of a given pixel as new samples are collected by taking a weighted average of that pixel's colour and the colour of the current sample. For example, if a pixel was red based on five samples, and a sixth sample had just been taken that returned yellow, the new colour of the pixel would be 5/6*(red) + 1/6*(yellow).

If this is the case, store an alpha value with each pixel (increasing memory costs by 33%). Store the number of NON-BACKGROUND samples affecting the colour of the pixel. Modify the colour value only if the new sample is not a background sample. Modify the alpha component by taking a weighted average of the current alpha value and a boolean value representing whether the new sample is background or not.

v_mulligan
Posts: 126
Joined: Wed Nov 28, 2007 9:16 am

Post by v_mulligan » Fri Jan 18, 2008 8:03 pm

OnoSendai wrote:So another question arises:

Are people able to do this compositing in HDR?
I.e., do you have the background plates in HDR, and do you access to a program that can do the blend operation on HDR images.
I'm guessing probably not :)
Some people might be. I'd probably be compositing in Photoshop CS, using 8-bit channels. While I know total physical accuracy is a major goal in Indigo, I like twiddling things in post, even if they cease to be 100% physically accurate :) .

User avatar
ViennaLinux
Posts: 191
Joined: Thu Jul 26, 2007 9:26 am
Location: Vienna/Austria
Contact:

Post by ViennaLinux » Sat Jan 19, 2008 2:36 am

OnoSendai wrote:Ok, I've thought of one way.
It would involve two master buffers; I wonder if using 2x the amount of memory for the buffer than usual will be alright for people?
if its OPTIONAL then its okay but I think rendering beautiful scenes is already very memory intensive. Okay people are upgrading slowly to 4 gb of RAM but on some render servers there are only 1024 mb.
Core2duo e6600 @ 3.1GHz watercooled at default VCore ^^

User avatar
Zom-B
1st Place 100
Posts: 4701
Joined: Tue Jul 04, 2006 4:18 pm
Location: ´'`\_(ò_Ó)_/´'`
Contact:

Post by Zom-B » Sat Jan 19, 2008 2:45 am

ViennaLinux wrote:people are upgrading slowly to 4 gb of RAM but on some render servers there are only 1024 mb.
dude... please don't cry...
but there will always be guys in with a longer Dong... but 1024 for a server is really something to laugh about :lol:

Please don't slow development, because you won't spend 25 bucks for some Hardware... :roll:
polygonmanufaktur.de

User avatar
ViennaLinux
Posts: 191
Joined: Thu Jul 26, 2007 9:26 am
Location: Vienna/Austria
Contact:

Post by ViennaLinux » Sat Jan 19, 2008 2:49 am

you mean because my linux server will still run with 32 mb of system memory or because you get a sun server with 64 GB RAM paid by your parents :D
Core2duo e6600 @ 3.1GHz watercooled at default VCore ^^

User avatar
Zom-B
1st Place 100
Posts: 4701
Joined: Tue Jul 04, 2006 4:18 pm
Location: ´'`\_(ò_Ó)_/´'`
Contact:

Post by Zom-B » Sat Jan 19, 2008 2:58 am

ViennaLinux wrote:you mean because my linux server will still run with 32 mb of system memory or because you get a sun server with 64 GB RAM paid by your parents :D
he he.. I only hear from my parents, if THEY need money...
and I'm not talking about buying 64GB of RAM dude... only some extra 1024MB... (thats about 1/60 of that you are proposing) this is no money... stop smoking for a week, or stay at home a weekend and don't go party... come one you can't compare this... see my system specs for details about my wealthy spenders... :roll:
polygonmanufaktur.de

User avatar
Kram1032
Posts: 6649
Joined: Tue Jan 23, 2007 3:55 am
Location: Austria near Vienna

Post by Kram1032 » Sat Jan 19, 2008 7:19 am

...
I've 768MB
Arne has 512, I think...
If I remember correctly, Anthony only has 256 MB of RAM....

User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Tue Jan 22, 2008 8:31 pm

A little compositing test:

There are still many issues to work out though, that are inevitable when you have to hack something like this into a physically based renderer :)
Attachments
composite_test.png
composite_test.png (509.84 KiB) Viewed 3056 times

BbB
Posts: 1996
Joined: Fri Feb 09, 2007 8:28 am
Location: Berlin
Contact:

Post by BbB » Tue Jan 22, 2008 10:01 pm

Just my worthless two cents and a few personal opinions here.

First I don't like the idea of alpha compositing too much. As Ono already said, in 90 per cent of the time, it will not feel realistic because of the lack of reflections at grazing angles. Assuming you're not lighting your scene with an HDR version of your back plate, it will look even worse. This is no trivial issue. In an interior with a back plate of the sea showing through the window, you really want to see the sea reflected on the glossy table. Your eye won't believe the picture if you don't.

Another problem is that most of the time, you get screwed perspective lines. What I'm trying to say here is that if you have an image taken with a 50mm lens and try to use as backdrop to an interior scene using a 28mm lens, it will just look silly. But if you apply your image on a plane in Blender and give it a bit of emission (textured emitter), you will achieve a far better result with the ability to move your image, zoom it in or out, to get the perspective lines aligned. The overall grain will also be a lot more homogenous.

Basically, my very own personal opinion here is that I'd rather see displacement than alpha channel rendering any day. Now if you're talking about something that would eventually give us some kind of a multilight equivalent, that's a completely different story. THAT would be something.

User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Tue Jan 22, 2008 10:52 pm

Hi BbB,
I guess the kind of stuff it will be useful for is architectural work like

http://www.indigorenderer.com/joomla/in ... emId=10325

In this kind of case there may not be a lot of grazing angle specular reflections, but compositing by hand would be a pain.

BbB
Posts: 1996
Joined: Fri Feb 09, 2007 8:28 am
Location: Berlin
Contact:

Post by BbB » Tue Jan 22, 2008 10:58 pm

I take your point. I guess in this case, where the back plate dictates the angle and illumination of the scene, and if you're careful to align perspective lines in the viewport in Blender, it would probably work quite well.

User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Wed Jan 23, 2008 12:39 am

Hi, a first cut of this feature has been implemented, and will be available in the next test release. :wink:

Post Reply
54 posts

Who is online

Users browsing this forum: No registered users and 4 guests