MRF issueshttps://gitlab.inria.fr/pacanows/MRF/-/issues2021-07-12T18:59:05+02:00https://gitlab.inria.fr/pacanows/MRF/-/issues/173Malia GUI camera change & resize2021-07-12T18:59:05+02:00Alban FichetMalia GUI camera change & resize![Screenshot_from_2020-11-04_23-54-51](/uploads/37b0cdb49f91c24c0ee74196bdb5cd29/Screenshot_from_2020-11-04_23-54-51.png)
To reproduce this,
1. Open Malia in interactive mode with a scene
2. Maximize the window
3. Change the camera
Is...![Screenshot_from_2020-11-04_23-54-51](/uploads/37b0cdb49f91c24c0ee74196bdb5cd29/Screenshot_from_2020-11-04_23-54-51.png)
To reproduce this,
1. Open Malia in interactive mode with a scene
2. Maximize the window
3. Change the camera
Is that an expected behaviour?
Alternative possible behaviour:
- Have a flag `_user_specified_window_size` set to `false` when the scene is loaded
- Set this flag to `true` when the user resize the window
- When changing camera:
- Change the window size if the flag is set to `false`
- Change the sensor size to fit the viewport if the flag is set to `true`
A bit overkill though...Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/8Ajouter une classe Mesh qui stockem au plus un matérial par sommet2021-07-05T12:16:44+02:00PACANOWSKI RomainAjouter une classe Mesh qui stockem au plus un matérial par sommethttps://gitlab.inria.fr/pacanows/MRF/-/issues/9Materials: Add support for UTIAH (\omega_i, \omega_o & Rusinkiewicz)2021-07-05T11:18:04+02:00PACANOWSKI RomainMaterials: Add support for UTIAH (\omega_i, \omega_o & Rusinkiewicz)- Helper https://github.com/afichet/brdf-snippets- Helper https://github.com/afichet/brdf-snippetsMalia 1.1.0MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/183Malia does not compile with Optix 6.0.0 and GCC 8.2.02021-06-28T15:29:44+02:00PACANOWSKI RomainMalia does not compile with Optix 6.0.0 and GCC 8.2.0[ 88%] Building CXX object
libmrf/backends/optix/CMakeFiles/mrf_optix_spectral.dir/mrf_optix/optix_geometry_handler.cpp.o
In file included from /home/pacanows/MRF3/libmrf/backends/optix/mrf_optix/optix_material_handler.hpp:20,
...[ 88%] Building CXX object
libmrf/backends/optix/CMakeFiles/mrf_optix_spectral.dir/mrf_optix/optix_geometry_handler.cpp.o
In file included from /home/pacanows/MRF3/libmrf/backends/optix/mrf_optix/optix_material_handler.hpp:20,
from /home/pacanows/MRF3/libmrf/backends/optix/mrf_optix/optix_geometry_handler.hpp:18,
from /home/pacanows/MRF3/libmrf/backends/optix/mrf_optix/optix_geometry_handler.cpp:13:
/home/pacanows/NVIDIA-OptiX-SDK-6.0.0-linux64/include/optixu/optixpp_namespace.h: Dans l'instanciation de « optix::Handle<T>::Handle(const optix::Handle<U>&) [with U = optix::GeometryTrianglesObj; T = optix::GeometryObj] » :
/home/pacanows/MRF3/libmrf/backends/optix/mrf_optix/optix_geometry_handler.cpp:356:108: requis depuis ici
/home/pacanows/NVIDIA-OptiX-SDK-6.0.0-linux64/include/optixu/optixpp_namespace.h:109:46: error: « optix::GeometryTrianglesObj* optix::Handle<optix::GeometryTrianglesObj>::ptr » est privé dans ce contexte
Handle(const Handle<U>& copy) : ptr(copy.ptr) { ref(); }
~~~~~^~~
/home/pacanows/NVIDIA-OptiX-SDK-6.0.0-linux64/include/optixu/optixpp_namespace.h:174:8: note: déclaré privé ici
T* ptr;
^~~
/home/pacanows/NVIDIA-OptiX-SDK-6.0.0-linux64/include/optixu/optixpp_namespace.h:109:49: error: ne peut convertir « optix::GeometryTrianglesObj* const » en « optix::GeometryObj* » dans l'initialisation
Handle(const Handle<U>& copy) : ptr(copy.ptr) { ref(); }
^
make[2]: *** [libmrf/backends/optix/CMakeFiles/mrf_optix_spectral.dir/mrf_optix/optix_geometry_handler.cpp.o] Erreur 1
make[1]: *** [libmrf/backends/optix/CMakeFiles/mrf_optix_spectral.dir/all] Erreur 2Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/189NVRTC error when there is no lambert2021-06-28T15:26:24+02:00MURRAY DavidNVRTC error when there is no lambertThere seems to be a NVRTC compilation error when the scene does not contain any object with a lambertian material:
[FATAL] ======> Error Message: Invalid value (Details: Function "_rtGeometryInstanceSetMaterial" caught exception: Materi...There seems to be a NVRTC compilation error when the scene does not contain any object with a lambertian material:
[FATAL] ======> Error Message: Invalid value (Details: Function "_rtGeometryInstanceSetMaterial" caught exception: Material index out of bounds 0)Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/200Regression spectral bin rendering2021-05-20T17:01:28+02:00Alban FichetRegression spectral bin renderingThere is again spectral banding on renderings.
I don't know for how long, cannot execute the code on Linux due to conflicting CUDA versions.
![banding](/uploads/30c0c09969dfb117694d8da7b20aa929/banding.png)There is again spectral banding on renderings.
I don't know for how long, cannot execute the code on Linux due to conflicting CUDA versions.
![banding](/uploads/30c0c09969dfb117694d8da7b20aa929/banding.png)MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/111[Blender 2.8 Export] Export A Real Spectrum from color for Light Sources2021-02-25T10:26:05+01:00PACANOWSKI Romain[Blender 2.8 Export] Export A Real Spectrum from color for Light SourcesHello
it seems that the color of the light sources is never inversed with rgb2spec to get a spectrum
The official documentation says otherwise https://pacanows.gitlabpages.inria.fr/MRF/blender_integration.md.html#toc3.2Hello
it seems that the color of the light sources is never inversed with rgb2spec to get a spectrum
The official documentation says otherwise https://pacanows.gitlabpages.inria.fr/MRF/blender_integration.md.html#toc3.2Malia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/74Materials: Add support for Phong Textured in spectral mode when multiplexing ...2021-02-25T09:47:32+01:00PACANOWSKI RomainMaterials: Add support for Phong Textured in spectral mode when multiplexing is usedhttps://gitlab.inria.fr/pacanows/MRF/-/issues/178Refactor NEE& MIS2021-02-25T09:42:16+01:00MURRAY DavidRefactor NEE& MISReminder:
- NEE = Next Event Estimation;
- MIS = Multiple Importance Sampling.
Currently, our pipeline with NEE works like:
```
At each bounce:
sampleBSDFdirection
evaluateDirectLighting(light_dir)
if(MIS) evaluateDirectLighting(bsdf_...Reminder:
- NEE = Next Event Estimation;
- MIS = Multiple Importance Sampling.
Currently, our pipeline with NEE works like:
```
At each bounce:
sampleBSDFdirection
evaluateDirectLighting(light_dir)
if(MIS) evaluateDirectLighting(bsdf_dir)
propagateRay(bsdf_direction)
```
With:
```
evaluateDirectLighting(out_dir):
if(light_pdf(out_dir) <= 0) return // -> light_pdf = 0 if no intersection between the light and the direction.
shadowRay(out_dir)
if(not_in_shadow) return BSDF_value*mis_weight
```
When NEE is active, light source emission is disabled so than light are not counted on impact as there are theoretically already accounted for.
However, our current implementation sample uniformly one light source per bounce but deactivate ALL sources, even if current point is in shadow, which is a problem. Also, light sampling is currently uniform. It would probably be more efficient to use a light power-based distribution for the sampling.
Finally, I am not sure that the direct evalutation for the BSDF direction is useful as we propagate the ray with this direction in any case. Thus, we may have an extra shadow ray that seems useless.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/164MRF Blender Bridge2021-02-22T15:30:52+01:00Alban FichetMRF Blender BridgeIncorrect colour when exporting this scene
https://filesender.renater.fr/?s=download&token=402479d6-0439-4955-9ded-f2bef12266b4
(please do not redistribute this scene, I don't have the acknowledgement for the chair model on hand)
Image...Incorrect colour when exporting this scene
https://filesender.renater.fr/?s=download&token=402479d6-0439-4955-9ded-f2bef12266b4
(please do not redistribute this scene, I don't have the acknowledgement for the chair model on hand)
Image from Cycles:
![cycles](/uploads/97ba9b7510a9d286b9e01f9f8cf25e74/cycles.png)
Image from Malia:
![malia](/uploads/996b2a4ff63d0fba14ea92045bef12d4/malia.png)
- Colour does not match
- Roughness seems off
- Point / sphere light intensity is differenthttps://gitlab.inria.fr/pacanows/MRF/-/issues/134GPU Code Refactoring2021-02-22T15:23:06+01:00PACANOWSKI RomainGPU Code Refactoringhttps://gitlab.inria.fr/pacanows/MRF/-/issues/93[BUG] Phong Normalized does not set pdf + possibly wrong brdf value2021-02-22T15:14:39+01:00MURRAY David[BUG] Phong Normalized does not set pdf + possibly wrong brdf valueIn the phong.cu, in function "sample_and_eval", the varying parameter "pdf" is not set, leading to potential in the MIS computation.
Also, I think the BRDF value is wrongly computed in this same function. The process is as follows:
1 - ...In the phong.cu, in function "sample_and_eval", the varying parameter "pdf" is not set, leading to potential in the MIS computation.
Also, I think the BRDF value is wrongly computed in this same function. The process is as follows:
1 - choose if sampling the diffuse or specular part.
2 - if sampling the diffuse part: sample cos weighted hemisphere and brdf = diffuse_color.
3 - if sampling the diffuse part: sample phong lobe and brdf = specular_color * phong_blahblah.
While I agree on the fact that we must "randomly" choose between sampling using cos or the phong lobe, I disagree that the BRDF should be only a restriction and not the full phong brdf (diffuse_color + specular_color).
Or if it should, then the function "brdf_eval" must also use the same principle, whereas it currently evaluate the full phong BRDF without choose between diffuse or specular.PACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/127Malia Fully RELOCATABLE with Blender Bridge2021-01-22T16:11:25+01:00PACANOWSKI RomainMalia Fully RELOCATABLE with Blender BridgeMalia 1.0.0 Beta 1PACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/155Proper wavelength sampling2021-01-22T16:09:10+01:00Alban FichetProper wavelength samplingBefore an Hero Wavelength Spectral Sampling, we need a proper random wavelength sampling.Before an Hero Wavelength Spectral Sampling, we need a proper random wavelength sampling.Malia 1.0.0 Beta 1Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/181Compilation fails with GCC 8.2.02020-12-15T10:00:49+01:00PACANOWSKI RomainCompilation fails with GCC 8.2.0> [ 13%] Building CXX object libmrf/core/CMakeFiles/mrf_core_rgb.dir/mrf/image/envi_spectral_image.cpp.o
> cd /home/pacanows/MRF3/build/libmrf/core && /usr/bin/c++ -DMRF_WITH_EIGEN_SUPPORT -I/home/pacanows/MRF3/libmrf/core -I/home/paca...> [ 13%] Building CXX object libmrf/core/CMakeFiles/mrf_core_rgb.dir/mrf/image/envi_spectral_image.cpp.o
> cd /home/pacanows/MRF3/build/libmrf/core && /usr/bin/c++ -DMRF_WITH_EIGEN_SUPPORT -I/home/pacanows/MRF3/libmrf/core -I/home/pacanows/MRF3/build/libmrf/core/mrf_rgb -I/projets/deeplayers/include/eigen3 -I/home/pacanows/MRF3/libmrf/externals/.. -O3 -DNDEBUG -Wall -Wextra -Wpedantic -fopenmp -std=gnu++1y -o CMakeFiles/mrf_core_rgb.dir/mrf/image/envi_spectral_image.cpp.o -c /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp: In lambda function:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:502:76: erreur: no matching function for call to ‘regex_replace(std::string&, std::regex, const char [3])’
> param_value = std::regex_replace(param_value, std::regex("^ +"), "$1");
>
^
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:502:76: note: candidates are:
> In file included from /usr/include/c++/4.8.2/regex:62:0,
> from /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:12:
> /usr/include/c++/4.8.2/bits/regex.h:2162:5: note: template<class _Out_iter, class _Bi_iter, class _Rx_traits, class _Ch_type> _Out_iter std::regex_replace(_Out_iter, _Bi_iter, _Bi_iter, const std::basic_regex<_Ch_type, _Rx_traits>&, const std::basic_string<_Ch_type>&, std::regex_constants::match_flag_type)
> regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
> ^
> /usr/include/c++/4.8.2/bits/regex.h:2162:5: note: template argument deduction/substitution failed:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:502:76: note: deduced conflicting types for parameter ‘_Bi_iter’ (‘std::basic_regex<char>’ and ‘const char*’)
> param_value = std::regex_replace(param_value, std::regex("^ +"), "$1");
> ^
> In file included from /usr/include/c++/4.8.2/regex:62:0,
> from /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:12:
> /usr/include/c++/4.8.2/bits/regex.h:2182:5: note: template<class _Rx_traits, class _Ch_type> std::basic_string<_Ch_type> std::regex_replace(const std::basic_string<_Ch_type>&, const std::basic_regex<_Ch_type, _Rx_traits>&, const std::basic_string<_Ch_type>&, std::regex_constants::match_flag_type)
> regex_replace(const basic_string<_Ch_type>& __s,
> ^
> /usr/include/c++/4.8.2/bits/regex.h:2182:5: note: template argument deduction/substitution failed:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:502:76: note: mismatched types ‘const std::basic_string<_Ch_type>’ and ‘const char [3]’
> param_value = std::regex_replace(param_value, std::regex("^ +"), "$1");
> ^
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp: In member function ‘mrf::image::IMAGE_LOAD_SAVE_FLAGS mrf::image::EnviSpectralImage::readHeader(std::istream&)’:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:510:79: erreur: no matching function for call to ‘regex_replace(std::string&, std::regex, const char [3])’
> line = std::regex_replace(line, std::regex("^ +"), "$1");
>
^
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:510:79: note: candidates are:
> In file included from /usr/include/c++/4.8.2/regex:62:0,
> from /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:12:
> /usr/include/c++/4.8.2/bits/regex.h:2162:5: note: template<class _Out_iter, class _Bi_iter, class _Rx_traits, class _Ch_type> _Out_iter std::regex_replace(_Out_iter, _Bi_iter, _Bi_iter, const std::basic_regex<_Ch_type, _Rx_traits>&, const std::basic_string<_Ch_type>&, std::regex_constants::match_flag_type)
> regex_replace(_Out_iter __out, _Bi_iter __first, _Bi_iter __last,
> ^
> /usr/include/c++/4.8.2/bits/regex.h:2162:5: note: template argument deduction/substitution failed:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:510:79: note: deduced conflicting types for parameter ‘_Bi_iter’ (‘std::basic_regex<char>’ and ‘const char*’)
> line = std::regex_replace(line, std::regex("^ +"), "$1");
> ^
> In file included from /usr/include/c++/4.8.2/regex:62:0,
> from /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:12:
> /usr/include/c++/4.8.2/bits/regex.h:2182:5: note: template<class _Rx_traits, class _Ch_type> std::basic_string<_Ch_type> std::regex_replace(const std::basic_string<_Ch_type>&, const std::basic_regex<_Ch_type, _Rx_traits>&, const std::basic_string<_Ch_type>&, std::regex_constants::match_flag_type)
> regex_replace(const basic_string<_Ch_type>& __s,
> ^
> /usr/include/c++/4.8.2/bits/regex.h:2182:5: note: template argument deduction/substitution failed:
> /home/pacanows/MRF3/libmrf/core/mrf/image/envi_spectral_image.cpp:510:79: note: mismatched types ‘const std::basic_string<_Ch_type>’ and ‘const char [3]’
> line = std::regex_replace(line, std::regex("^ +"), "$1");
> ^
> make[2]: *** [libmrf/core/CMakeFiles/mrf_core_rgb.dir/mrf/image/envi_spectral_image.cpp.o] Erreur 1
> make[2] : on quitte le répertoire « /home/pacanows/MRF3/build »
> make[1]: *** [libmrf/core/CMakeFiles/mrf_core_rgb.dir/all] Erreur 2
> make[1] : on quitte le répertoire « /home/pacanows/MRF3/build »
> make: *** [all] Erreur 2Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/119Compiling Malia with RENDERER_INTERACTIVE=OFF2020-12-04T15:59:05+01:00PACANOWSKI RomainCompiling Malia with RENDERER_INTERACTIVE=OFFMalia 1.0.0 Beta 1MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/154Fix compilation problem for newest version of CMake2020-12-04T09:39:25+01:00Alban FichetFix compilation problem for newest version of CMakeThis temporary fix shall be addressed:
https://gitlab.inria.fr/pacanows/MRF/-/commit/ddb2b900d5e22751f7fd3220a67d099224e48906
`apps/malia/CMakeLists.txt` requires macros defined in `apps/malia/CMake/FindCuda.cmake`. Unless `find_package...This temporary fix shall be addressed:
https://gitlab.inria.fr/pacanows/MRF/-/commit/ddb2b900d5e22751f7fd3220a67d099224e48906
`apps/malia/CMakeLists.txt` requires macros defined in `apps/malia/CMake/FindCuda.cmake`. Unless `find_package(CUDA)` is called, they remain undefined and compilation crashes (see `apps/malia/CMakeLists.txt:162`).
```
█▓▒░afichet@lupin░▒▓██▓▒░ Thu Apr 23 02:57:44pm
/home/afichet/Repositories/MRF/build_malia> cmake --version
cmake version 3.17.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
```https://gitlab.inria.fr/pacanows/MRF/-/issues/69Support of RTCore for ray intersection2020-12-04T09:15:55+01:00MURRAY DavidSupport of RTCore for ray intersectionCurrently, MRF does not support ray intersection acceleration provided by RT cores with RTX GPU.
This requires some modifications in the OptiX context creation as well as modifications in handling meshes.
See:
https://devtalk.nvidia.com...Currently, MRF does not support ray intersection acceleration provided by RT cores with RTX GPU.
This requires some modifications in the OptiX context creation as well as modifications in handling meshes.
See:
https://devtalk.nvidia.com/default/topic/1047102/optix/optix-6-0-quot-rtx-acceleration-is-supported-on-maxwell-and-newer-gpus-quot-/MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/64Code cleaning2020-12-04T00:24:12+01:00MURRAY DavidCode cleaningSome parts of the code have gradually become a mess (e.g. optix_renderer.hpp/cpp), making the code hard to understand and correctly document.Some parts of the code have gradually become a mess (e.g. optix_renderer.hpp/cpp), making the code hard to understand and correctly document.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/23Check Scenes in assets/scenes work in spectral and rgb2020-11-08T18:45:32+01:00DUFAY ArthurCheck Scenes in assets/scenes work in spectral and rgbCornellbox OK (still some kinf of washed colors in spectral)
Ring OKCornellbox OK (still some kinf of washed colors in spectral)
Ring OK