yijie21 / Falcor-7.0-Tutorial

Other
5 stars 0 forks source link

About ForwardRenderer.py in previous tutorial #1

Open zhangzhousuper opened 10 months ago

zhangzhousuper commented 10 months ago

Thank you for your tutorial.

And In the previous tutorial of Falcor, they used ForwardRenderer.py as an example. But in the latest edition, they abandon the forward render pipeline and use GBuffer only. Could you add a tutorial about how we can make a new script that can implement almost the same effect as ForwardRenderer.py by using GBuffer?

yijie21 commented 10 months ago
        Thank you for checking this repository!

You gave a very good suggestion! I'm still in the process of learning Falcor, and I will try to reimplement the ForwardRenderer pass and release the code as soon as I finish the code.

                    ***@***.***

---- Replied Message ----

     From 

        ***@***.***>

     Date 

    10/29/2023 05:50

     To 

        ***@***.***>

     Cc 

        ***@***.***>

     Subject 

          [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1)

Thank you for your tutorial. And In the previous tutorial of Falcor, they used ForwardRenderer.py as an example. But in the latest edition, they abandon the forward render pipeline and use GBuffer only. Could you add a tutorial about how we can make a new script that can implement almost the same effect as ForwardRenderer.py by using GBuffer?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

zhangzhousuper commented 10 months ago

Thank you very much! The outdated Falcor tutorial is really annoying.

yijie21 commented 10 months ago
        I have compared the code of Falcor-5.0 and Falcor-7.0, only to find that the ForwardRenderer pass seemed to be deprecated, with some basic passes removed, making it hard to reimplement the pass. It is removed since Falcor-6.0. I have checked the shader of the ForwardRenderer pass in Falcor-5.0, which produces the final rendering result by combing the direct and indirect illumination results. This is quite similar with the recent advanced rendering technique of NVIDIA that produces the rendering result with RTXDI and RTXGI.

I think maybe NVIDIA decided to deprecate the ForwardRenderer pass because RTXDI+RTXGI is a better replacement. But it's just from my own perspective, maybe I have some cognitive mistakes. As a result, I think it's not important to implement or understand the ForwardRenderer pass. Other choices like PathTracer pass, RTXDI pass or PathTracerNRD pass are also good for us to learn Falcor.I will keep on learning Falcor and release some new modifications and tutorials on it. And sorry that I did not reimplement ForwardRenderer pass, I just find some basic passes and classes have been removed and unnecessary to bring them back. :)

                    ***@***.***

---- Replied Message ----

     From 

        ***@***.***>

     Date 

    10/29/2023 08:09

     To 

        ***@***.***>

     Cc 

        ***@***.***>
        ,

        ***@***.***>

     Subject 

          Re: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1)

Thank you very much! The outdated Falcor tutorial is really annoying.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

bipul-mohanto commented 3 weeks ago

Hi @yijie21 and @zhangzhousuper, How is your Falcor learning going on? I have recently started learning Falcor for my project and am also annoyed by its old tutorials. I guess, Falcor has turned out more NVIDIA's in-house rendering framework now. Any suggestion for easing the learning process? And again, @yijie21, thanks for your tutorial, helped a lot.

yijie21 commented 3 weeks ago

Hi, Bipul, From my experience, the best way to learn Falcor is to go through the code in different rendering passes, especially the MinimalPathTracer and the PathTracer. If you can understand all the code in these two rendering passes, it won't be a problem to understand the rest. 1396599708 @. ---- Replied Message ---- @.>Date8/23/2024 @.>CcYijie @.>, @.>SubjectRe: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1) Hi @yijie21 and @zhangzhousuper, How is your Falcor learning going on? I have recently started learning Falcor for my project and am also annoyed by its old tutorials. I guess, Falcor has turned out more NVIDIA's inhouse rendering framework now. Any suggestion for easing the learning process? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.>

bipul-mohanto commented 3 weeks ago

Thanks @yijie21, I was also thinking that way after spending the day. Here is another thing, I need the path tracing for the virtual reality headset. It meant I would integrate openxr with the codebase. From your experience, what do you think? Do I need to work on the Mogwai or the renderpass can do that?

yijie21 commented 3 weeks ago

I have no experience on openxr, but if it is a simple c++ package, I think there won't be a problem integrating it with Falcor. And I don't quite understand your second question, from my understanding, Mogwai is just a GUI application, and renderpasses are the core programs for rendering frames on Mogwai. So I think both should be researched to achieve your goal. 1396599708 @. ---- Replied Message ---- @.>Date8/26/2024 @.>CcYijie @.>, @.>SubjectRe: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1) Thanks @yijie21, I was also thinking that way after spending the day. Here is another thing, I need the path tracing for the virtual reality headset. It meant I would integrate openxr with the codebase. From your experience, what do you think? Do I need to work on the Mogwai or the renderpass can do that? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.>

bipul-mohanto commented 2 weeks ago

What I meant is that the current Mogwai GUI is currently rendering on the desktop setup. I am just trying to extend it to the virtual reality setup. For that, I need the RenderTarget for virtual reality. WHat I understood, these renderPasses are just the algorithm, may be Mogwai is handling the renderTargets (not sure though)

yijie21 commented 2 weeks ago

Okay, I got you. But I don't think it's an easy task to get the rendertargets of Falcor and then redirect it to a VR headset. If you are going to develop some VR applications, why not trying Unity, I have developed a VR program with it and the process has been quite smooth since there are many already-built packages and tutorials. 1396599708 @. ---- Replied Message ---- @.>Date8/26/2024 @.>SubjectRe: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1) I have no experience on openxr, but if it is a simple c++ package, I think there won't be a problem integrating it with Falcor. And I don't quite understand your second question, from my understanding, Mogwai is just a GUI application, and renderpasses are the core programs for rendering frames on Mogwai. So I think both should be researched to achieve your goal. 1396599708 @. ---- Replied Message ---- @.>Date8/26/2024 @.>CcYijie @.>, @.>SubjectRe: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1) Thanks @yijie21, I was also thinking that way after spending the day. Here is another thing, I need the path tracing for the virtual reality headset. It meant I would integrate openxr with the codebase. From your experience, what do you think? Do I need to work on the Mogwai or the renderpass can do that? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

zhangzhousuper commented 2 weeks ago

What I meant is that the current Mogwai GUI is currently rendering on the desktop setup. I am just trying to extend it to the virtual reality setup. For that, I need the RenderTarget for virtual reality. WHat I understood, these renderPasses are just the algorithm, may be Mogwai is handling the renderTargets (not sure though)

Hi, Bipul

Have u tried https://[arxiv.org/pdf/2006.11348](https://arxiv.org/pdf/2006.11348) that did VR in Falcor?

yijie21 commented 2 weeks ago

No, but according to the experiment results, if your goal is to display two separate frames with some disparity, that could be easily done by placing two cameras and split the render target into 2 in the shader. And the rendering effect of the distortion, I think, could also be controlled by shader, however, I didn't do so before. 1396599708 @. ---- Replied Message ---- @.>Date8/27/2024 @.>CcYijie @.>, @.>SubjectRe: [yijie21/Falcor-7.0-Tutorial] About ForwardRenderer.py in previous tutorial (Issue #1) What I meant is that the current Mogwai GUI is currently rendering on the desktop setup. I am just trying to extend it to the virtual reality setup. For that, I need the RenderTarget for virtual reality. WHat I understood, these renderPasses are just the algorithm, may be Mogwai is handling the renderTargets (not sure though) Hi, Bipul Have u tried https://arxiv.org/pdf/2006.11348 that did VR in Falcor? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.>

bipul-mohanto commented 2 weeks ago

Thanks for taking your time.

zhangzhousuper commented 2 weeks ago

Thanks for taking your time.

  • I would really be happy using unity or unreal for vr. Much of the workload would then be minimized. unfortunately none of those two support real-time path tracing yet.
  • ray-ray was my inspiration, but I guess the codebase was on Falcor 3.2.1. I know earlier versions of falcor used to support vr. I do not want to use the older version, because meanwhile many things (driver and functionality) have already been changed.
  • As a first attempt, I was thinking of using VR as Mogwai plugin, still, I am clueless.
  • your idea of two-camera rendering (shader) is cool though, that I was thinking if current idea does not work

Hi Bipul,

I am interested in ur future work. Will u make your code repository public during your research?

bipul-mohanto commented 2 weeks ago

I hope it will be interesting too. I may make it public after research. Can u write me your email that we can contact further?