taichi-dev / taichi

Productive, portable, and performant GPU programming in Python.
https://taichi-lang.org
Apache License 2.0
25.28k stars 2.27k forks source link

Compile on Windows and other rendering algorithms. #9

Closed goofoo closed 7 years ago

goofoo commented 7 years ago

Please add info to "Getting Started" how compile on windows. Thanks.

yuanming-hu commented 7 years ago

Sure. I think it's pretty simple with VS2015 and CMake. Also make sure to set TAICHI_ROOT_DIR.

goofoo commented 7 years ago

Thanks. How about implement some algorithms:

Your code have "mcmcups.cpp" here your realize "Robust Light Transport Simulation via Metropolized Bidirectional Estimators" or something other. On your website in the section "What's Inside. Global Illumination Algorithms Supported" nothing about this method. Thanks. Your project is very good for learning different techniques.

yuanming-hu commented 7 years ago

Hi Goofoo,

These are all amazing algorithms and it's definitely good to have them in Taichi.

I guess (improved) HSLT needs path space MLT as a base and UPBP requires a lot more work (like photon beams). Not sure about manifold next event estimation and unbiased photon gathering, but I'll take a look at them later. Now we already have primary sample space MLT while path space MLT haven't been integrated. In my personal impression path space MLT requires more amount of work to implement.

Though now we already have fancy stuff like (AMCMC)VCM/UPS, I haven't spent much time verifying these implementations. Also, now volumetric effects are limited to unidirectional PT, and maybe it's better to first make VCM volumetric before implementing UPBP.

Since I recently only have limited time for Taichi, and I don't know why Taichi just got popular yesterday, and interested people are asking for tutorials, documentation, and stable interface. Thus I plan to first do software engineering so that interested people can make use of it.

If you would like to, you are truly welcome to add whatever you want to Taichi, and possibly I'll join you in implementing these fancy stuff soon, after I finished these software engineering tasks.

Thanks.

yuanming-hu commented 7 years ago

You are right that "Robust Light Transport Simulation via Metropolized Bidirectional Estimators" was implemented in mcmcups.cpp. Actually I think I mentioned this implementation as "Markov Chain Monte Carlo UPS/VCM" in the 12th item. MCMCUPS is a (too) new rendering GI algorithm and I implemented my understanding of the paper within 3 days (what a big rush...) and without the "supplementary document", where some details were included. It's like the authors haven't posted the supplementary document so far, so what I have implemented was merely my understanding based on the paper...