MRF issueshttps://gitlab.inria.fr/pacanows/MRF/-/issues2022-10-06T14:46:10+02:00https://gitlab.inria.fr/pacanows/MRF/-/issues/179Dev build: kernels are not exported if modified2022-10-06T14:46:10+02:00MURRAY DavidDev build: kernels are not exported if modifiedWhen building target Malia/Malia_rgb, the kernels are exported only once in the build binary dir. Thus if the files in the MRF source dir are modified by the developper, they are not exported and used when running Malia.
I think we use ...When building target Malia/Malia_rgb, the kernels are exported only once in the build binary dir. Thus if the files in the MRF source dir are modified by the developper, they are not exported and used when running Malia.
I think we use something like this:
https://stackoverflow.com/questions/34799916/copy-file-from-source-directory-to-binary-directory-using-cmake
What do you think ?Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/171Infinite loop argument parsing2022-10-06T14:46:10+02:00Alban FichetInfinite loop argument parsingNot sure if that happen on other executables but, this gives me an infinite error message displayed:
```
malia -i -i
```Not sure if that happen on other executables but, this gives me an infinite error message displayed:
```
malia -i -i
```https://gitlab.inria.fr/pacanows/MRF/-/issues/170Materials: Bug for checkerboard in RGB mode2022-10-06T14:46:15+02:00Alban FichetMaterials: Bug for checkerboard in RGB modeCheckerboard material takes only the first color in RGB mode
# Spectral
![table_lucy](/uploads/a55f3051fca15e1be8a7a6ea572450f5/table_lucy.png)
# RGB
![table_lucy_rgb](/uploads/034cd14c58e1321223d422de1749457d/table_lucy_rgb.png)Checkerboard material takes only the first color in RGB mode
# Spectral
![table_lucy](/uploads/a55f3051fca15e1be8a7a6ea572450f5/table_lucy.png)
# RGB
![table_lucy_rgb](/uploads/034cd14c58e1321223d422de1749457d/table_lucy_rgb.png)https://gitlab.inria.fr/pacanows/MRF/-/issues/159PFM an LDR format ?2022-10-06T14:46:46+02:00Alban FichetPFM an LDR format ?I don't think PFM shall be considered as an LDR format: it is storing 16bit floats for each channel.
See declaration in `mrf/image/image_format.hpp:44`I don't think PFM shall be considered as an LDR format: it is storing 16bit floats for each channel.
See declaration in `mrf/image/image_format.hpp:44`https://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/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/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/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/169Unused material2022-10-06T14:46:10+02:00MURRAY DavidUnused materialWhen a MSF file contains material that are not used by any shapes, these material are still parsed and added to the list of material.
Thus they are also compiled and their assets are uploaded to the GPU.
This can cause a huge loss of me...When a MSF file contains material that are not used by any shapes, these material are still parsed and added to the list of material.
Thus they are also compiled and their assets are uploaded to the GPU.
This can cause a huge loss of memory when using spectral mode or when unused materials are textured.
Even if this should be the user's task to ensure is scene file is clean, a safety check should be added.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/167Saving in PNG not working2022-10-06T14:46:27+02:00MURRAY DavidSaving in PNG not workingWhen specifying a png file for output, the file cannot be read.
It seems there is a mixup between png and exr: the output file format is indeed png but the content seems to be exr.When specifying a png file for output, the file cannot be read.
It seems there is a mixup between png and exr: the output file format is indeed png but the content seems to be exr.https://gitlab.inria.fr/pacanows/MRF/-/issues/165Typo "spectrral"2022-10-06T14:46:46+02:00Léo AckermannTypo "spectrral"While compiling Malia using
```
cmake -DCMAKE_BUILD_TYPE=Release -DMALIA_GPU_ARCHITECTURE=KEPLER -DRENDERER_INTERACTIVE=ON -DOptiX_INSTALL_DIR=${PATH}/NVIDIA-OptiX-SDK-6.5.0-linux64/
```
I've got
```
[...]
Installing Malia in .
Renderer...While compiling Malia using
```
cmake -DCMAKE_BUILD_TYPE=Release -DMALIA_GPU_ARCHITECTURE=KEPLER -DRENDERER_INTERACTIVE=ON -DOptiX_INSTALL_DIR=${PATH}/NVIDIA-OptiX-SDK-6.5.0-linux64/
```
I've got
```
[...]
Installing Malia in .
Renderer Spectrral = malia
[...]
```https://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/160Job Failed #653501 Ubuntu 20.04 LTS VM is not working2020-05-18T10:21:30+02:00Alban FichetJob Failed #653501 Ubuntu 20.04 LTS VM is not workingJob [#653501](https://gitlab.inria.fr/pacanows/MRF/-/jobs/653501) failed for 00a0254e89bab7904201f51d3624e45a606dac2f:Job [#653501](https://gitlab.inria.fr/pacanows/MRF/-/jobs/653501) failed for 00a0254e89bab7904201f51d3624e45a606dac2f:https://gitlab.inria.fr/pacanows/MRF/-/issues/158Point badge coverage to coverage report2020-05-04T22:29:44+02:00Alban FichetPoint badge coverage to coverage reportRenaming to .html would work ?
Worth trying.
I've already tried to directly point the URL to the file but that does not work...Renaming to .html would work ?
Worth trying.
I've already tried to directly point the URL to the file but that does not work...https://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/144TEST Analytical Support for Sphere2020-10-30T15:54:43+01:00PACANOWSKI RomainTEST Analytical Support for Sphere# To test
- retest sphere.cpp -> createMesh() --># To test
- retest sphere.cpp -> createMesh() -->https://gitlab.inria.fr/pacanows/MRF/-/issues/142MRF Spectrum class Improvements2020-05-17T23:25:04+02:00PACANOWSKI RomainMRF Spectrum class Improvements
From old TODO list:
> - Extrapolation (linear on last two points) on fly
> - preparate spectrum -> store a new spectrum with fewer or more wavelengths for spectral rendering
> - Mutualize some code with mrf/maths/integral1D class (meth...
From old TODO list:
> - Extrapolation (linear on last two points) on fly
> - preparate spectrum -> store a new spectrum with fewer or more wavelengths for spectral rendering
> - Mutualize some code with mrf/maths/integral1D class (methods to compute integral of a spectrum)
is this still the case?Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/134GPU Code Refactoring2021-02-22T15:23:06+01:00PACANOWSKI RomainGPU Code Refactoringhttps://gitlab.inria.fr/pacanows/MRF/-/issues/122MIC Add envy -> artraw , artraw --> envy to MIC2020-04-12T12:58:35+02:00PACANOWSKI RomainMIC Add envy -> artraw , artraw --> envy to MICAlban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/117[Refactoring] Class Color shoud extends Vec32020-04-30T18:59:52+02:00PACANOWSKI Romain[Refactoring] Class Color shoud extends Vec3To discuss itTo discuss it