Author Topic: Show render passes while rendering in Max native FB  (Read 5455 times)

2015-11-13, 20:12:36

-Ben-Battler-

  • Active Users
  • **
  • Posts: 170
    • View Profile
Hi

Due to a workflow change for including VFB+ i switched to Max' native frame buffer. But there I experienced the issue that it won't show the render elements during render process.

I am now asking if it is possible to change this? Because if I want to check the passes for noise I don't want to cancel the rendering.

Regards, Ben
Visit boxel

2016-04-12, 14:24:04
Reply #1

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
we cannot do anything about this unfortunately, it would have to be done by 3dsmax of VFB+
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2016-04-12, 14:26:11
Reply #2

Rotem

  • Active Users
  • **
  • Posts: 64
    • View Profile
we cannot do anything about this unfortunately, it would have to be done by 3dsmax of VFB+

Is Corona writing to private image buffers and then copying to the 3dsmax buffers at the end of render? If not it should already work by default.

2016-04-12, 14:55:40
Reply #3

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
yeah you are right, we copy to max buffers only after the render for performance reasons. But our maxscript API allows you to query any element - https://corona-renderer.com/wiki/maxscript getVfbContent
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2016-04-12, 15:01:32
Reply #4

Rotem

  • Active Users
  • **
  • Posts: 64
    • View Profile
yeah you are right, we copy to max buffers only after the render for performance reasons. But our maxscript API allows you to query any element - https://corona-renderer.com/wiki/maxscript getVfbContent

Thanks. I haven't tried it yet, but by looking at the maxscript function signature, it seems like it would copy the bitmap on each call (and optionally apply tonemapping and stamp) which would make it unfeasible to run on every draw iteration . Is there a way to get a direct pointer to the buffer from C++ (preferably without having to compile against Corona)?

2016-04-12, 15:21:36
Reply #5

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 9048
  • Turning coffee to features since 2009
    • View Profile
yep, it copies it another buffer, but the overhead is negligible (at least when run through the C++ function-published version). We are using it internally.
Rendering is magic.How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2016-04-12, 15:24:37
Reply #6

Rotem

  • Active Users
  • **
  • Posts: 64
    • View Profile
Thanks, I will try to make it work in a future version.

2016-04-12, 16:32:58
Reply #7

pokoy

  • Active Users
  • **
  • Posts: 1865
    • View Profile
It would be fantastic to have better support for/from VFB+. There are some things that I like about both, and having both work together seamlessly would be most welcome.

2016-04-12, 19:30:45
Reply #8

Rotem

  • Active Users
  • **
  • Posts: 64
    • View Profile
It would be fantastic to have better support for/from VFB+. There are some things that I like about both, and having both work together seamlessly would be most welcome.

I try to avoid writing features for specific render engines (though there are a couple of small features specific to VRay), but since so many recent users come from Corona I will do what I can from my side.

2016-04-14, 05:11:44
Reply #9

-Ben-Battler-

  • Active Users
  • **
  • Posts: 170
    • View Profile
Thank you Rotem, that sounds wonderful!
Visit boxel

2016-05-09, 22:41:27
Reply #10

Rotem

  • Active Users
  • **
  • Posts: 64
    • View Profile
yeah you are right, we copy to max buffers only after the render for performance reasons. But our maxscript API allows you to query any element - https://corona-renderer.com/wiki/maxscript getVfbContent

I gave this a try using the C++ FPInterface as you suggested, and while it does work, the copy times are far from negligible. Copying a 1920x1080 element takes ~120 ms on my machine.
At the worst case, I can limit the updates of elements to once every N seconds, but if there is a more direct way to get at the image data, that would be preferable.