PDA

View Full Version : Instances... need instances...



Aselert
11-08-2012, 04:18 PM
I am currently unable to render an architecture image (with displacement) and I guess I hit the maximum graphics memory (3Gb) ...
And I think to counter the kind of problem, the acceptance of instances (or block instances) would be great.
Competitors (Arion, Octane) are already doing it now and I think would be very very helpful to have this and the ability to keep light scenes :)

Here an example:

329

artem
11-08-2012, 06:12 PM
I agree. I have a factory scene I am working on and I've come to a point where I physically cannot load the project into Bunkspeed as it crashes the GPU. Today on Webinar, David mentioned using the CPU mode instead, so I'll give that a shot and hope my i7 can carry me through.

Aselert
11-08-2012, 08:59 PM
Yep, exactly. But I think my scene have a problem, because I can't render in CPU mode neither...

david.randle
11-08-2012, 09:35 PM
will have to ask nvidia for this. I wouldn't expect this until at least a year from now

Aselert
11-12-2012, 03:53 PM
Ok, thanks David for the reply. One year it's long, too long! :(

Aselert
12-08-2012, 11:06 PM
I think instancing is the key to "combat" the GPU's low memory capacity... :)

Aselert
07-10-2013, 07:50 PM
Ok so here we are... roughly a year after this post!

To be honest, I'm very surprised by the Iray position about instancing (or block instances).
Arion, Octane, Indigo, Vray RT, Redshift... All are using GPU and have the instancing feature.

So, where is the problem?

andy
07-11-2013, 12:22 PM
even if iray can't make use of instances, if it were built into bunkspeed it would make our file sizes Worlds smaller. It works fine in 3dsMax. Granted, iRay still uses the memory as if everything were it's own mesh, but my files sizes go from 400-500MB to a much more comfortable 35-100 in most cases, with a reasonably small amount of effort. Then again, I also have scripts that help in Max. Select 2 identical objects and you can simply hit the button. It does the copy and translate for you. That's really the only way to bring an instance from one software to the next that I know of. You have to recreate the instance yourself.
Of course, if you are bringing in the NURBS object directly, you could probably have the block instance translate into instances for you.

My wish is for an external reference for bunkspeed, which would work very similar to instancing. This allows for groups to work together much easier. One person may be working on a car exterior. Another works on an interior, and another works on the physical environment. Each person references eachother's file and that would reflect the material, and even geometry, changes they make. You're file is still a reasonable size. Of course, I probably wouldn't quite make that a live link, as that could get ridiculous running all that over the network constantly.

Using that method you could also instance parts. One guy might be working on the wheels of a car. He would probably only work on 1. So you reference it 4 times. Your file would see that as 4 bounding boxes referencing that file. So Very small. But when you go to render, it references them all (yes, that would definitely increase the amount of time it takes to render each time you update the scene) and updates your scene. When you save it wouldn't save that data with the file, just the information as to where it holds the geometry. It would probably be best to export everything when you go do to final renders though. If someone is making a change during the time you go to render, that could cause problems.

If this is all set up in Bunkspeed ahead of time, it might be easier to translate over if nVidia is ever able to make use of instances as well. I wouldn't hold my breath for that one though. Making use of instances in physically accurate renders either does very little for saving memory, or takes much longer to render. Even though it's the same object, if it is reflecting itself, it can't be seen as the same object (just one example). That's the way one of my software engineers explained it to me at least. Other renders move in blocks, which do ray casting tests. If an offscreen object isn't used, it doesn't get cached at that time. iRay loads the whole scene even if some of it provides no contribution I believe.

Aselert
07-11-2013, 01:14 PM
Thanks Andy, but... When you said: "Making use of instances in physically accurate renders either does very little for saving memory, or takes much longer to render"

How explain this XXX millions polygons picture render with Octane (full spectral unbiased) in 18min and using just 1,5Gb of memory?

508

I'm sorry but I don't understand where is the problem with Iray :confused:

Original size:
http://render.otoy.com/newsblog/wp-content/uploads/2012/08/MultiScatter41.jpg

david.randle
07-11-2013, 02:40 PM
i got confirmation that the iray team has been working on instancing and it is due in the next major iray version. We'll have to do some polishing to expose it nicely at that point but its coming :-)

Aselert
07-11-2013, 04:00 PM
Aaaah! This is a VERY GOOD news! :D

So David, do you think Bunkspeed will accept block instances from Rhino and Sketchup?

andy
07-11-2013, 06:35 PM
good point. I'm calling his BS explanation and saying there must be another way. I've been pretty impressed with octane.