MRF issueshttps://gitlab.inria.fr/pacanows/MRF/-/issues2020-04-17T23:01:15+02:00https://gitlab.inria.fr/pacanows/MRF/-/issues/128Add support for NVCC options passed to NVCC from a file2020-04-17T23:01:15+02:00PACANOWSKI RomainAdd support for NVCC options passed to NVCC from a filePACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/125Fix demo_scenes/ CONTENT2021-07-05T11:34:01+02:00PACANOWSKI RomainFix demo_scenes/ CONTENTPACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/118[RGB] Add a check box for the user for iCC profile2021-07-05T11:34:53+02:00PACANOWSKI Romain[RGB] Add a check box for the user for iCC profilehttps://gitlab.inria.fr/pacanows/MRF/-/issues/175Support for ANalytical IOR2021-07-05T11:29:17+02:00PACANOWSKI RomainSupport for ANalytical IORMalia 1.1.0https://gitlab.inria.fr/pacanows/MRF/-/issues/61Better Command Line Arguments Dealing2019-10-21T18:14:14+02:00PACANOWSKI RomainBetter Command Line Arguments DealingMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/68NON REGRESSION TEST2020-11-05T00:52:36+01:00PACANOWSKI RomainNON REGRESSION TESThttps://gitlab.inria.fr/pacanows/MRF/-/issues/79Verify Performance Issues regarding OPTIX VERSION2020-11-04T15:36:10+01:00PACANOWSKI RomainVerify Performance Issues regarding OPTIX VERSIONMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/52Support of Blender Cycles Mix Shader2021-07-05T11:21:36+02:00MURRAY DavidSupport of Blender Cycles Mix ShaderThe mix shader is often used in cycle. It allows one to mix the output of two shaders (linear interpolation) to emulate complex material.
Currently the python script to export a cycle scene does not support this shader, leading to many...The mix shader is often used in cycle. It allows one to mix the output of two shaders (linear interpolation) to emulate complex material.
Currently the python script to export a cycle scene does not support this shader, leading to many glossy-like material exported as lambertian.
Furthermore, this shader is often used to combine a texture (as a diffuse component) and a glossy BSDF.
It seems important that the script handles this kind of shaders.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/84port HDRSee shader2021-07-05T11:36:07+02:00MURRAY Davidport HDRSee shaderNeed to wait for https://gitlab.inria.fr/pacanows/MRF/issues/83Need to wait for https://gitlab.inria.fr/pacanows/MRF/issues/83Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/40Test if the command line options2019-10-03T17:30:30+02:00PACANOWSKI RomainTest if the command line optionsMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/25SUPPPORT PBRT SCENE or code a converter2021-07-05T11:45:42+02:00PACANOWSKI RomainSUPPPORT PBRT SCENE or code a converterhttps://gitlab.inria.fr/pacanows/MRF/-/issues/24Interpret the "~" character as $HOME when loading asset.2020-12-05T05:40:58+01:00PACANOWSKI RomainInterpret the "~" character as $HOME when loading asset.https://gitlab.inria.fr/pacanows/MRF/-/issues/72RGB2SPEC add support for jpeg input2021-02-25T09:51:25+01:00PACANOWSKI RomainRGB2SPEC add support for jpeg inputCould be useful?Could be useful?Malia 1.1.0PACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/198Drude Laurentz IOR2021-06-28T15:26:38+02:00PACANOWSKI RomainDrude Laurentz IORMalia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/10Materials: Add support for measured spectral Dupuy et al.2021-02-25T09:45:51+01:00PACANOWSKI RomainMaterials: Add support for measured spectral Dupuy et al.Malia 1.4https://gitlab.inria.fr/pacanows/MRF/-/issues/86Detect and handle rendering backend in Cmake2021-07-05T11:35:40+02:00MURRAY DavidDetect and handle rendering backend in CmakeTo be done after https://gitlab.inria.fr/pacanows/MRF/issues/2 and https://gitlab.inria.fr/pacanows/MRF/issues/85To be done after https://gitlab.inria.fr/pacanows/MRF/issues/2 and https://gitlab.inria.fr/pacanows/MRF/issues/85Malia 2.0https://gitlab.inria.fr/pacanows/MRF/-/issues/19Resource path improvements2021-07-05T11:38:40+02:00DUFAY ArthurResource path improvementsMake resource path work with everything
- .spd,
- geometries (.ply .obj)
- Textures
...
To do so call the method find_file_from_folders from mrf::io::
For now it works only with MeasuredIsotropicMaterial (altafile) and envmaps.
See ...Make resource path work with everything
- .spd,
- geometries (.ply .obj)
- Textures
...
To do so call the method find_file_from_folders from mrf::io::
For now it works only with MeasuredIsotropicMaterial (altafile) and envmaps.
See commit abdfb1b1f86cfa2204a18ab20811c2d21d233ea9 "Add ext path resources feature"https://gitlab.inria.fr/pacanows/MRF/-/issues/130PLY Status Support2020-11-04T20:42:00+01:00PACANOWSKI RomainPLY Status Support- When exporting PLY file from blender texture coordinates can be saved as (s,t) attributes Therefore the loader should also check for them
- Generate normals on the fly when not present (case of PLY from Standford http://graphics.stanfo...- When exporting PLY file from blender texture coordinates can be saved as (s,t) attributes Therefore the loader should also check for them
- Generate normals on the fly when not present (case of PLY from Standford http://graphics.stanford.edu/data/3Dscanrep/MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/129Cache mechanism for CUDA kernels2021-02-25T09:36:51+01:00PACANOWSKI RomainCache mechanism for CUDA kernelsMalia 1.2PACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/90Add suport for infinite plane in a scene2020-02-09T15:36:33+01:00PACANOWSKI RomainAdd suport for infinite plane in a scenehttps://gitlab.inria.fr/pacanows/MRF/-/issues/54FIX bug when using large number for -wpp 226 or -wpp 4512019-09-13T16:23:46+02:00PACANOWSKI RomainFIX bug when using large number for -wpp 226 or -wpp 451https://gitlab.inria.fr/pacanows/MRF/-/issues/53Materials: Add support for anisotropic BSDF from Blender Cycles2021-07-05T11:21:55+02:00PACANOWSKI RomainMaterials: Add support for anisotropic BSDF from Blender Cycleshttps://gitlab.inria.fr/pacanows/MRF/-/issues/39CLEAN render_ggx_folder.py2020-11-04T23:20:53+01:00PACANOWSKI RomainCLEAN render_ggx_folder.pyOld script that needs some cleaning.
Still usefulOld script that needs some cleaning.
Still usefulPACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/45Support for STL mesh format2020-11-04T20:44:11+01:00PACANOWSKI RomainSupport for STL mesh formatSince Blender is unable to export in PLY binary mode
STL would be a nice alternative
Support could rely on https://github.com/sreiter/stl_readerSince Blender is unable to export in PLY binary mode
STL would be a nice alternative
Support could rely on https://github.com/sreiter/stl_readerhttps://gitlab.inria.fr/pacanows/MRF/-/issues/62Update the documentation2021-07-05T12:15:31+02:00MURRAY DavidUpdate the documentationMost of the code is either uncommented or undocumented.
Thus the doxygen page is useless and the API is not user-friendly.Most of the code is either uncommented or undocumented.
Thus the doxygen page is useless and the API is not user-friendly.Malia 1.1.0MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/58OptiX 7 Support2021-02-25T09:48:15+01:00MURRAY DavidOptiX 7 SupportCheck if the RTBuffer class (CPU/GPU) is kept, otherwise check what should be used instead.
Same for optix::Buffer (CPU).Check if the RTBuffer class (CPU/GPU) is kept, otherwise check what should be used instead.
Same for optix::Buffer (CPU).Malia 2.0https://gitlab.inria.fr/pacanows/MRF/-/issues/77Slow loading of big assets2020-11-04T20:45:28+01:00MURRAY DavidSlow loading of big assetsMentioned by Arthur, loading huge asset is very slow.
It seems to come from an include in cuda material kernels. We need more info from him.Mentioned by Arthur, loading huge asset is very slow.
It seems to come from an include in cuda material kernels. We need more info from him.https://gitlab.inria.fr/pacanows/MRF/-/issues/78Make the cuda kernel execution more robust + add log2020-11-04T15:35:49+01:00MURRAY DavidMake the cuda kernel execution more robust + add logWe need to add a check on context launch and buffer creation.
In particular, we need to ensure enough memory is available (or at least log it otherwise).We need to add a check on context launch and buffer creation.
In particular, we need to ensure enough memory is available (or at least log it otherwise).https://gitlab.inria.fr/pacanows/MRF/-/issues/107Add support of spot lights2021-02-25T09:30:15+01:00MURRAY DavidAdd support of spot lightsMalia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/109[Blender 2.8 Export] Add a Button to render only the current camera2020-11-04T20:47:11+01:00PACANOWSKI Romain[Blender 2.8 Export] Add a Button to render only the current cameraThis could be useful instead of rendering the whole animation
OR another button "Render Full Sequence"This could be useful instead of rendering the whole animation
OR another button "Render Full Sequence"https://gitlab.inria.fr/pacanows/MRF/-/issues/110[Blender 2.8 Export] Export Spectral Environment Map as well when the backgro...2020-11-04T20:46:18+01:00PACANOWSKI Romain[Blender 2.8 Export] Export Spectral Environment Map as well when the background is present in the scene--> Call rgb2spec if the png or exr image needs to be converted as Spectral Image
--> use the same number of wavelength as rendering parameters for now (or add option in the export toolbox)--> Call rgb2spec if the png or exr image needs to be converted as Spectral Image
--> use the same number of wavelength as rendering parameters for now (or add option in the export toolbox)https://gitlab.inria.fr/pacanows/MRF/-/issues/116Making Malia less VERBOSE by default?2020-12-05T05:44:35+01:00PACANOWSKI RomainMaking Malia less VERBOSE by default?Currently Malia is set by default in info mode.
Should we switch to Warning mode by default but still we could output some information that are always required
Rendering Started
Rendering Completed in XXX seconds
Image saved to toto.foo...Currently Malia is set by default in info mode.
Should we switch to Warning mode by default but still we could output some information that are always required
Rendering Started
Rendering Completed in XXX seconds
Image saved to toto.foo
What do you think?https://gitlab.inria.fr/pacanows/MRF/-/issues/120More robust handling of envmap path2020-11-04T23:25:50+01:00MURRAY DavidMore robust handling of envmap pathIn the documentation, it is specified that the ext resource path is relative:
https://pacanows.gitlabpages.inria.fr/MRF/scene_format.md.html#toc5
Handling both relative and absolute is necessary IMO, so that you can use scenes and envma...In the documentation, it is specified that the ext resource path is relative:
https://pacanows.gitlabpages.inria.fr/MRF/scene_format.md.html#toc5
Handling both relative and absolute is necessary IMO, so that you can use scenes and envmaps that are in distant directory.https://gitlab.inria.fr/pacanows/MRF/-/issues/131[Idea] RNG Number2021-02-25T09:32:03+01:00PACANOWSKI Romain[Idea] RNG NumberFrom the previous documentation
> Use libcuda to generate random numbers
> Hammersley + micro-jitter for non interactive backends (fixed number of samples) ?From the previous documentation
> Use libcuda to generate random numbers
> Hammersley + micro-jitter for non interactive backends (fixed number of samples) ?Malia 2.0https://gitlab.inria.fr/pacanows/MRF/-/issues/132Emissive spectrum for Blackbody2021-02-25T09:31:41+01:00PACANOWSKI RomainEmissive spectrum for Blackbody
> - Add another ways to specify an emissive spectrum, could be something like this:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XML
> <spectrum blackbody=”4000K”/>
> <spectrum standard_illuminant=”D65”/>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> - Add another ways to specify an emissive spectrum, could be something like this:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XML
> <spectrum blackbody=”4000K”/>
> <spectrum standard_illuminant=”D65”/>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Malia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/133Bootstrap an Embree backend2021-02-25T09:30:47+01:00PACANOWSKI RomainBootstrap an Embree backendAdd an Embree backend for support rendering with non GPU PC.
Editing this issue to:
Add a basic support for Embree.
Plan is to support lambertian reflectances as a proof of concept to bootstrap a full Embree backend.Add an Embree backend for support rendering with non GPU PC.
Editing this issue to:
Add a basic support for Embree.
Plan is to support lambertian reflectances as a proof of concept to bootstrap a full Embree backend.Malia 2.0https://gitlab.inria.fr/pacanows/MRF/-/issues/135Reminder Todo from MRF22020-11-04T23:28:50+01:00PACANOWSKI RomainReminder Todo from MRF2
Here we list all the unfinished work from porting MRF2 to the new MRF aka mRF #3
- in Scene
* [ ] verifyBRDF doesn't work in spectral (never used in RGB)
* [x] recomputeAABBox need tobe recoded, it was working before we introduce the ...
Here we list all the unfinished work from porting MRF2 to the new MRF aka mRF #3
- in Scene
* [ ] verifyBRDF doesn't work in spectral (never used in RGB)
* [x] recomputeAABBox need tobe recoded, it was working before we introduce the instanciation mechanism using shapes
- in Mesh
- operator << to merge meshes isn't working anymore
- scene_parser.cpp
* [X] addSphere
- some work in addMaterial
- some materials in scene_parser:
- Matusik
- Merl
- MeasuredAnisotropicNGAN
- AnisotropicNGAN
- AnisotropicPhong
- addAshikhminShirleyIsotropic
- Rational HC
- addDBRDF
- addFBTDF
- Flat
- UV
- Normal
- Tangent
- Rebound
- Ward
- Poulin
- addSGD
- addGGXD
- GGXComp0
- GGXComp1
- addLowSmooth
- addHe
- addGenBeckmann
- addMicroFacetGHS
- addCTD
- addHazyGloss
- addWalterBSDF
- addNano2D
- PanoramicEnvMap::getLuminanceEnvmaphttps://gitlab.inria.fr/pacanows/MRF/-/issues/136Light transport improvememt2020-04-22T21:56:25+02:00PACANOWSKI RomainLight transport improvememt
> - Implement another light transport algorithm (only Path Tracing for now) for better caustics
> - Russian roulette instead of recursion bias ?
> - Implement another light transport algorithm (only Path Tracing for now) for better caustics
> - Russian roulette instead of recursion bias ?https://gitlab.inria.fr/pacanows/MRF/-/issues/137Add Paam for ALTA format2021-02-25T09:45:26+01:00PACANOWSKI RomainAdd Paam for ALTA formatOther parametrizations for the ALTA format (only TV_TL_DPHI for now)Other parametrizations for the ALTA format (only TV_TL_DPHI for now)Malia 1.4https://gitlab.inria.fr/pacanows/MRF/-/issues/138Fresnel Glass interface (fresnel_glass_interface.cu)2021-02-25T09:51:02+01:00PACANOWSKI RomainFresnel Glass interface (fresnel_glass_interface.cu)This needs to be implemented?This needs to be implemented?Malia 1.4https://gitlab.inria.fr/pacanows/MRF/-/issues/139Optix Materials not implemented in CPU Back-end2021-02-25T09:36:09+01:00PACANOWSKI RomainOptix Materials not implemented in CPU Back-endSome materials work in the OptiXBackend but aren't implemented in the CPU backend, we list them here:
- FresnelGlass
- PerfectMirror
- FresnelMirrorSome materials work in the OptiXBackend but aren't implemented in the CPU backend, we list them here:
- FresnelGlass
- PerfectMirror
- FresnelMirrorMalia 2.0https://gitlab.inria.fr/pacanows/MRF/-/issues/140Reminder Methods from MRF2 not working anymore2020-11-04T23:22:29+01:00PACANOWSKI RomainReminder Methods from MRF2 not working anymore# Scene object
These method aren't working anymore:
- totalIntersectionCost
- totalGeometryCost
- verifyBRDF in SPECTRAL MODE
- recomputeAABBox# Scene object
These method aren't working anymore:
- totalIntersectionCost
- totalGeometryCost
- verifyBRDF in SPECTRAL MODE
- recomputeAABBoxhttps://gitlab.inria.fr/pacanows/MRF/-/issues/141IOR limitations2020-04-22T22:02:01+02:00PACANOWSKI RomainIOR limitations
> We also need to support dielectric materials inside of dielectric materials (this could be recursive),
> for that we need to store a stack of iors in the per ray data structure (current_prd in cuda code).
> For now only one ior is st...
> We also need to support dielectric materials inside of dielectric materials (this could be recursive),
> for that we need to store a stack of iors in the per ray data structure (current_prd in cuda code).
> For now only one ior is store in the current_prd, which allows us to have a conductor object dielectric inside a dielectric one
> (see scene MRF_DIR/assets/scenes/torus_in_glass.msf).
> In fact, this current ior allows us to know that the ray is inside a dielectric when hitting the conductor, but when leaving the inside
> of the dielectric material we suppose we go back to the default ior of scene, the air, hence the need for a stack of iors.
This is a big issue but not easy to solve when wanting to take into account all possible caseshttps://gitlab.inria.fr/pacanows/MRF/-/issues/143Code Cleaning from MRF22020-11-04T23:21:58+01:00PACANOWSKI RomainCode Cleaning from MRF2# Useless class and functions
We list here the class and functions that were imported from the previous version of MRF and are never used
in this version but still present in the code base.
- material builder# Useless class and functions
We list here the class and functions that were imported from the previous version of MRF and are never used
in this version but still present in the code base.
- material builderhttps://gitlab.inria.fr/pacanows/MRF/-/issues/145Hero Wavelength Spectral Sampling (HWSS)2021-02-25T09:43:45+01:00PACANOWSKI RomainHero Wavelength Spectral Sampling (HWSS)Malia 1.3https://gitlab.inria.fr/pacanows/MRF/-/issues/146Add Reinhard Tonemapper to MIC2020-11-04T15:30:49+01:00PACANOWSKI RomainAdd Reinhard Tonemapper to MIC- Add Reinhardt tonemappar to MIC- Add Reinhardt tonemappar to MIChttps://gitlab.inria.fr/pacanows/MRF/-/issues/147Convert some scenes ?2020-11-04T20:43:26+01:00PACANOWSKI RomainConvert some scenes ?
- scenes from macguire -> conversion prbt vers mrf
- scenes from macguire -> conversion prbt vers mrfhttps://gitlab.inria.fr/pacanows/MRF/-/issues/148Faster ColorImage2020-11-04T20:48:26+01:00PACANOWSKI RomainFaster ColorImageBy using an Eigen version of Vec3f
like this is done for Array2D
provide an Eigen version of it if Eigen3 is availableBy using an Eigen version of Vec3f
like this is done for Array2D
provide an Eigen version of it if Eigen3 is availablehttps://gitlab.inria.fr/pacanows/MRF/-/issues/149ThinLens in OptixBackend2020-04-22T22:10:50+02:00PACANOWSKI RomainThinLens in OptixBackend- Support other cameratype -> thinlens: DOF- Support other cameratype -> thinlens: DOFhttps://gitlab.inria.fr/pacanows/MRF/-/issues/150How to integrate Beer Lambert LAW for some Materials?2020-04-22T22:11:42+02:00PACANOWSKI RomainHow to integrate Beer Lambert LAW for some Materials?- Fresnel glass extinction ? beer lambert ?- Fresnel glass extinction ? beer lambert ?https://gitlab.inria.fr/pacanows/MRF/-/issues/151Envmap Resizing Support2020-04-22T22:12:25+02:00PACANOWSKI RomainEnvmap Resizing SupportFrom old doc:
> - Does not support resize of envmaps, see code in optix renderer.cpp updateBackground(), the buffer that holds the envmaps on gpu are never resized
>
is this still true ?From old doc:
> - Does not support resize of envmaps, see code in optix renderer.cpp updateBackground(), the buffer that holds the envmaps on gpu are never resized
>
is this still true ?https://gitlab.inria.fr/pacanows/MRF/-/issues/152Support for Spherical Envmap2021-07-05T11:32:10+02:00PACANOWSKI RomainSupport for Spherical Envmap- Support spherical envmaps- Support spherical envmapshttps://gitlab.inria.fr/pacanows/MRF/-/issues/153Better light source sampling:2021-02-25T09:49:06+01:00PACANOWSKI RomainBetter light source sampling:- Chose a light based on a cdf
- Solid angle spherical rectangle for QuadLights
both can be combined- Chose a light based on a cdf
- Solid angle spherical rectangle for QuadLights
both can be combinedMalia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/157Tonemapping operators2020-11-04T23:19:06+01:00Alban FichetTonemapping operatorsCurrently, the Reinhard tonemapping operator is within `color.hpp`.
It may be a good idea to create a separate module for tonemapping operators. Then, how shall it be accessed ?
# 1 - Static methods?
```
class Tonemapper {
public:
sta...Currently, the Reinhard tonemapping operator is within `color.hpp`.
It may be a good idea to create a separate module for tonemapping operators. Then, how shall it be accessed ?
# 1 - Static methods?
```
class Tonemapper {
public:
static Color reinhard05(
Color const & color,
float const & chromatic_adaptation,
Color const & means,
float const & lum_mean,
float const & light_adaptation,
float const & contrast,
float const & intensity);
};
```
# 2 - Abstract tonemapper?
```
class Tonemapper {
public:
virtual Color apply(Color const& color) const = 0;
};
class Reinhard05 : public Tonemapper {
public:
Reinhard05(
float const & chromatic_adaptation,
Color const & means,
float const & lum_mean,
float const & light_adaptation,
float const & contrast,
float const & intensity);
virtual Color apply(Color const& color) const;
};https://gitlab.inria.fr/pacanows/MRF/-/issues/166Better documentation about material2021-07-05T11:30:11+02:00MURRAY DavidBetter documentation about materialFollowing https://gitlab.inria.fr/pacanows/MRF/-/merge_requests/130:
Materials analytical model must be added to complement the XML description.
The section "Adding a material" must be completed to better describe the expected function...Following https://gitlab.inria.fr/pacanows/MRF/-/merge_requests/130:
Materials analytical model must be added to complement the XML description.
The section "Adding a material" must be completed to better describe the expected function when using the material_eva.cu.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/161Wrong debug informations2021-02-25T09:47:43+01:00MURRAY DavidWrong debug informationsWhen compilation of cuda kernels fails due to error in the kernel code, this error message is displayed:
```
[FATAL] ======>
[FATAL] ======> If your error is related to Optix Library that could not be loaded ============================...When compilation of cuda kernels fails due to error in the kernel code, this error message is displayed:
```
[FATAL] ======>
[FATAL] ======> If your error is related to Optix Library that could not be loaded ============================> DO YOU HAVE A NVIDIA CARD ???
[FATAL] ======> If you have a nvidia card CHECK YOUR DRIVER VERSIONS
```
This can be misleading in that one may think his OptiX/Cuda installation is wrong, whereas it's caused only be coding errors.
A more thorough check should be done regarding the reasons this message is displayed, so that compilation fails correctly points to their real causes (coding errors or wrong installation).Malia 1.0 patchhttps://gitlab.inria.fr/pacanows/MRF/-/issues/162Better naming of Blender bridge options2020-11-04T20:37:18+01:00MURRAY DavidBetter naming of Blender bridge optionshttps://gitlab.inria.fr/pacanows/MRF/-/issues/163Malia arguments checking2021-02-25T09:46:20+01:00Alban FichetMalia arguments checkingSegfault when incorrect arguments are provided for `-wr`
Examples:
- `malia -i -scene toto.msf -wr 400:800`
- `malia -i -scene toto.msf -wr 4000:800:30`Segfault when incorrect arguments are provided for `-wr`
Examples:
- `malia -i -scene toto.msf -wr 400:800`
- `malia -i -scene toto.msf -wr 4000:800:30`Malia 1.0 patchhttps://gitlab.inria.fr/pacanows/MRF/-/issues/168Generate an orthonormal basis when no texture coordinates provided2020-06-18T10:21:32+02:00Alban FichetGenerate an orthonormal basis when no texture coordinates providedUse this technique for generate orthonormal basis from normal vector:
http://jcgt.org/published/0006/01/01/
- If texture coordinates are provided, calculate tangents from the coordinates
- Otherwise, use Duff et al.Use this technique for generate orthonormal basis from normal vector:
http://jcgt.org/published/0006/01/01/
- If texture coordinates are provided, calculate tangents from the coordinates
- Otherwise, use Duff et al.https://gitlab.inria.fr/pacanows/MRF/-/issues/172Fix epsilon / ray offset after a bounce2021-02-25T09:44:17+01:00Alban FichetFix epsilon / ray offset after a bounceCreating an issue to remind us to fix that after our discussion.
For the record, the current state creates some visible artifacts:
![cornellbox_official_bug](/uploads/afa7567da04c0b8f3d01068e50eca4ff/cornellbox_official_bug.png)
(top ...Creating an issue to remind us to fix that after our discussion.
For the record, the current state creates some visible artifacts:
![cornellbox_official_bug](/uploads/afa7567da04c0b8f3d01068e50eca4ff/cornellbox_official_bug.png)
(top of the Cornell box)
Increasing the epsilon fixes the problem but not necessary the best solution. We have to discuss that.Malia 1.0 patchhttps://gitlab.inria.fr/pacanows/MRF/-/issues/174Hosek Wilkie sky model2020-12-04T00:08:09+01:00Alban FichetHosek Wilkie sky modelAdd an Hosek Wilkie sky model to the environment map collection.
Convey incredible realism to even simple scenes.
https://www.shadertoy.com/view/3ddBD8 (here in RGB without any turbidity nor albedo stuff, full code is available with th...Add an Hosek Wilkie sky model to the environment map collection.
Convey incredible realism to even simple scenes.
https://www.shadertoy.com/view/3ddBD8 (here in RGB without any turbidity nor albedo stuff, full code is available with the paper here: https://cgg.mff.cuni.cz/projects/SkylightModelling/ )Malia 1.1.0https://gitlab.inria.fr/pacanows/MRF/-/issues/177Handles Thin film internal reflections2021-06-28T15:31:20+02:00MURRAY DavidHandles Thin film internal reflectionsWhen using a glass defined as a thin film (modeled with only plane with a specified thickness), we only apply a simple refraction (in and out refraction), thus ommiting internal reflections (either caused by TIR or simple reflection when...When using a glass defined as a thin film (modeled with only plane with a specified thickness), we only apply a simple refraction (in and out refraction), thus ommiting internal reflections (either caused by TIR or simple reflection when the glass is not totally transmissive).
The impact of these internal reflections can be described as geometrical serie of reason:
- T x R (the transmittance T and reflection R (Fresnel) coefficients) in case we allow the transmitted ray to emerges on the same side as it entered. T x R must be applied for each traversal of the thin glass.
- (TR)² if considering the ray always emerges on the other side than the one it entered the glass. (TR)² must be applied for each back and forth traversal.
There would be two ways to correctly handle both of these scenarii:
- As the geometrical serie converges, we can use its limits as the effective transmission rate. In this case, we would not simulate any "physical" lateral shift, despite accounting for it in the transmission rate. That is to say, the ray will always emerge at the same point for a given incoming direction.
- We can sample the number of internal reflections occuring, and thus shift the emerging point accordingly. The transmission rate is also straightforward as it still is a geometrical serie.
Note that these two approach can also be applied to a reflection occuring at the entry point. Currently at this point, we either apply a reflection (using only the R fresnel coefficient) or a simple refraction (T coefficient). We could also account for a "reflection" being the results of internal reflections followed by a refraction on the entry point side.
In my opinion, sampling the number of internal events to allow for a physical shift and an exact transmission/reflection rate may be more accurate for the propagation of the ray. However it is obviously more computationally heavy than always using the limit of the serie without shift. We can also implement both solutions and use either one on demand ?
EDIT: corrected "fresnel transmission T" by "transmittance T", the latter was I thought about when writing this. The serie reason is the fresnel refecletion coefficient R time the amount of absorption along a traversal (aka, transmittance T here equivalent to beer-lambert).Malia 1.1.0PACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/180Performance on V100,RTX 5000, 6000, 80002021-01-13T10:35:00+01:00PACANOWSKI RomainPerformance on V100,RTX 5000, 6000, 8000Offline Rendering Benchs (on Master)
Commandline for this bench
./malia -scene scenes/demo.msf -samples 1000 -wr 380:830:10 -wpp 46 -o test.hdr -logging 3
With Cuda 10.2 and Optix 6.5.x
|Scene | RTX 5000 | Dual RTX 6000...Offline Rendering Benchs (on Master)
Commandline for this bench
./malia -scene scenes/demo.msf -samples 1000 -wr 380:830:10 -wpp 46 -o test.hdr -logging 3
With Cuda 10.2 and Optix 6.5.x
|Scene | RTX 5000 | Dual RTX 6000 | Dual RTX 8000 | Dual RTX 2080S | RTX 2080S | RTX 2080 Ti | RTX 3070 |
|-------------------| -------- | -------------- | ------------- | --------------- | --------- | ----------- | -------- |
|CornellBox Official| 87.71s | 1442s | 1642s | 54.04s | 86.35s | 62.6797s | 44.82s |
- CornellBox Official : demo.msf + demo.mcf (512x512 pixels)
- RTX5000 an dual RTX6000 : IOA Cluster with GCC 8.3
- Dual RTX8000 : on Plafrim
Probably better to launch this directly from a script!
**Bench for Branch Optix 5 With GCC 8.2.0 compiled for GPU sm_70 VOLTA**
|Scene| Dual V100 Optix 5.1.0 Cuda 10.2| Dual RTX 8000 Optix 5.1.0 Cuda 10.2 | Dual V100 Optix 6.0.0 Cuda 10.2 | Dual RTX 8000 Optix 6.0.0 Cuda 10.2
|------| ------ | ------ | ------ |------ |
|CornellBox Official | 56s | 39s| 87s | 39.8s|
RomainMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/182libnrtc.so copied but missing2020-12-15T10:08:51+01:00PACANOWSKI Romainlibnrtc.so copied but missingOn master branch.
After a make install on Linux or Plafrim
- > (base) [pacanows@devel01 bin]$ ls -ailht
- > total 89M
- > 33187397 drwxr-xr-x 6 pacanows manao 4,0K 15 déc. 10:03 .
- > 33628380 lrwxrwxrwx 1 pacanows manao 18 15 dé...On master branch.
After a make install on Linux or Plafrim
- > (base) [pacanows@devel01 bin]$ ls -ailht
- > total 89M
- > 33187397 drwxr-xr-x 6 pacanows manao 4,0K 15 déc. 10:03 .
- > 33628380 lrwxrwxrwx 1 pacanows manao 18 15 déc. 10:03 liboptixu.so -> liboptixu.so.6.5.0
- > 33628378 lrwxrwxrwx 1 pacanows manao 17 15 déc. 10:03 liboptix.so -> liboptix.so.6.5.0
- > 33628377 lrwxrwxrwx 1 pacanows manao 28 15 déc. 10:03 libnvrtc-builtins.so.10.2 -> libnvrtc-builtins.so.10.2.89
- > 33628375 lrwxrwxrwx 1 pacanows manao 25 15 déc. 10:03 libnvrtc-builtins.so -> libnvrtc-builtins.so.10.2
- > 33628373 lrwxrwxrwx 1 pacanows manao 16 15 déc. 10:03 libnvrtc.so -> libnvrtc.so.10.2
---------------------------------------------------------------^
libnrtc.so is pointing to a missing library.
BUT it Malia is not using it. So why is it copied ?
> - (base) [pacanows@devel01 bin]$ ldd -v malia
> - linux-vdso.so.1 => (0x00007f3336004000)
> - liboptix.so.6.5.0 => /home/pacanows/bin/./liboptix.so.6.5.0 (0x00007f3335af4000)
> - liboptixu.so.6.5.0 => /home/pacanows/bin/./liboptixu.so.6.5.0 (0x00007f333572e000)
> - libgomp.so.1 => /cm/shared/modules/intel/skylake/compiler/gcc/9.3.0/lib64/libgomp.so.1 (0x00007f33354f8000)
> - libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f33352dc000)
> - libnvrtc.so.10.2 => /usr/local/cuda-10.2/lib64/libnvrtc.so.10.2 (0x00007f3333b2f000)Alban FichetAlban Fichethttps://gitlab.inria.fr/pacanows/MRF/-/issues/184Malia Optix 5.1 and Gcc 8.2 on Plafrim2021-01-08T13:50:33+01:00PACANOWSKI RomainMalia Optix 5.1 and Gcc 8.2 on PlafrimTHIS is on Sirocco19 with RTX8000
Cuda 10.2
GCC 8.2.0
Execution on interactive mode
(base) [pacanows@sirocco19 bin]$ ./malia -scene scenes/demo.msf -samples 1000 -wr 380:830:10
Malia Rendering Engine Started
!!!!!!!!!!!!!!!!!!!!!!!!...THIS is on Sirocco19 with RTX8000
Cuda 10.2
GCC 8.2.0
Execution on interactive mode
(base) [pacanows@sirocco19 bin]$ ./malia -scene scenes/demo.msf -samples 1000 -wr 380:830:10
Malia Rendering Engine Started
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING:
You should always run with libnvidia-ml.so that is installed with your
NVIDIA Display Driver. By default it's installed in /usr/lib and /usr/lib64.
libnvidia-ml.so in GDK package is a stub library that is attached only for
build purposes (e.g. machine that you build your application doesn't have
to have Display Driver installed).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[FATAL] ======> Optix EXCEPTION. SOMETHING WHEN WRONG !!!! SORRY
[FATAL] ======> Unknown error
[FATAL] ======> Optix Exception CAUGHT !!!
[FATAL] ======> Error Message: Unknown error
[FATAL] ======>
[FATAL] ======> If your error is related to Optix Library that could not be loaded
============================> DO YOU HAVE A NVIDIA CARD ???
[FATAL] ======> If you have a nvidia card CHECK YOUR DRIVER VERSIONS
(base) [pacanows@sirocco19 bin]$https://gitlab.inria.fr/pacanows/MRF/-/issues/185Check multi-gpu performances2021-01-13T10:33:57+01:00MURRAY DavidCheck multi-gpu performancesProxy issue to remember to check if
https://forums.developer.nvidia.com/t/optix-6-5-multi-gpu/118375
https://forums.developer.nvidia.com/t/question-about-handling-buffers-when-using-multiple-gpus/54011
Can be useful for multi-gpu.Proxy issue to remember to check if
https://forums.developer.nvidia.com/t/optix-6-5-multi-gpu/118375
https://forums.developer.nvidia.com/t/question-about-handling-buffers-when-using-multiple-gpus/54011
Can be useful for multi-gpu.MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/186Bench using spf2021-01-14T11:47:51+01:00MURRAY DavidBench using spfTODO: test the impact of using "-spf" = max_samplesTODO: test the impact of using "-spf" = max_samplesMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/187Clean CI2021-01-19T17:50:40+01:00Alban FichetClean CINot strictly critical by a regular waste of time: CI is currently a mess (at least for me). When a runner stop working, I do not know which one it is.
I would suggest we restart from scratch:
- Refactor tags (win10, vs2017) (win10, vs20...Not strictly critical by a regular waste of time: CI is currently a mess (at least for me). When a runner stop working, I do not know which one it is.
I would suggest we restart from scratch:
- Refactor tags (win10, vs2017) (win10, vs2019) for Windows with relevant MSVC installed.
- Make a clear distriction between runners from BRDF explorer and runner from Malia
That said, having multiple runners with the same tags helps redundancy when one is crashed.
Proposed list of tags to characterize each runner: `os, compiler`
- `os`:
- win10
- linux (eventually distro variant in addition)
- macos
- `compiler`:
- gcc
- vs2017
- vs2019
- clang
For instance: `win10, vs2017, vs2019`, `macos, clang` or `linux, ubuntu-18-04, gcc`https://gitlab.inria.fr/pacanows/MRF/-/issues/188refactor path_ray_data2021-02-22T15:31:49+01:00MURRAY Davidrefactor path_ray_dataCurrently the PRD contains some data that is unused/may be optimized:
```cpp
struct PerRayData_pathtrace
{
mrf::spectrum::COLOR attenuation;
mrf::spectrum::COLOR result;
optix::float3 origin;
optix::float3 direction;
#ifdef MRF...Currently the PRD contains some data that is unused/may be optimized:
```cpp
struct PerRayData_pathtrace
{
mrf::spectrum::COLOR attenuation;
mrf::spectrum::COLOR result;
optix::float3 origin;
optix::float3 direction;
#ifdef MRF_RENDERING_MODE_SPECTRAL_MULTIPLEXED
float wavelength_offset;
#endif
mrf::spectrum::COLOR_B ior; // **CAN BE REMOVED (replaced by an int) USING AN ALL-IOR BUFFER**
int id_wavelength;
int backface; // **Unused**
unsigned int seed;
unsigned int num_sample;
optix::float2 offset_sampling; //cranley patterson
int depth;
bool countEmitted;
bool done;
bool is_inside;
int shadow_catcher;
};
```
The `mrf::spectrum::COLOR_B ior;` is heavy and not really fully used. A better solution is to build a buffer containing all IORs (eta+kappa) and only store a indexed reference in the PRD. That implies additionnal "permanent" storage for the buffer but grealty reduces the memory bandwith usage for the PRD, which all thing considered, should significantly make the additionnal storage worth it.
Using such a buffer would also be useful for medium tracking, to store index of previous/futur medium in a memory friendly way.Malia 1.1.0MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/190fix rgb2spec2021-02-25T09:33:39+01:00MURRAY Davidfix rgb2specThere is some fixing to do here (apparently).There is some fixing to do here (apparently).Malia 1.0 patchPACANOWSKI RomainPACANOWSKI Romainhttps://gitlab.inria.fr/pacanows/MRF/-/issues/192Update doc for install and compilation2021-03-19T15:23:42+01:00MURRAY DavidUpdate doc for install and compilationThe documentation is not up to date with the current Cmake and compilation process.
Also, information about compilation should be in the developper section.
THe Malia section should only contain download link and command-line (and infor...The documentation is not up to date with the current Cmake and compilation process.
Also, information about compilation should be in the developper section.
THe Malia section should only contain download link and command-line (and information about the application), and no information on compilation/development.Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/193Update doc on blender bridge2022-10-06T14:46:06+02:00MURRAY DavidUpdate doc on blender bridgeThe blender bridge is now designed as a Blender plugin. The documentation does not reflect that and still list it as a runnable script.The blender bridge is now designed as a Blender plugin. The documentation does not reflect that and still list it as a runnable script.Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/194[bug] Add sanity check when saving images2021-03-02T16:00:39+01:00MURRAY David[bug] Add sanity check when saving imagesCurrently, at least with windows, saving an image may fail without any error message if the path does not exist due to saving in a non-existent folder.
This should either require that the path is created (creating folder, not sure it is...Currently, at least with windows, saving an image may fail without any error message if the path does not exist due to saving in a non-existent folder.
This should either require that the path is created (creating folder, not sure it is easy within c++), or at least throw an error and log it. But it seems that there is no check to ensure that the destination file can be/has been created when saving an image.Malia 1.0 patchhttps://gitlab.inria.fr/pacanows/MRF/-/issues/195Restore Optix5 version2021-06-28T15:29:44+02:00MURRAY DavidRestore Optix5 versionCurrently Optix5 is not supported on master, only with the dedicated branch:
https://gitlab.inria.fr/pacanows/MRF/-/tree/malia_optix5_dev
This one is not up-to-date and is hardly maintained. It should either be reintegrated in the main ...Currently Optix5 is not supported on master, only with the dedicated branch:
https://gitlab.inria.fr/pacanows/MRF/-/tree/malia_optix5_dev
This one is not up-to-date and is hardly maintained. It should either be reintegrated in the main branch using one the following:
- a #optix_version macro (set when running cmake, either automatically or manually) for conditionnal compilation of the relevant files.
- subidviding the optix backend repo into optix5 and optix65 folders. Eventually with a generic_optix folders containing all the common code.
- using c++ heritage to do the previous proposition.
This may allow managing multiple Optix installation (and maybe simpler to add optix7 compatibility later).Malia 1.1.0MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/196Better release asset management2021-07-05T15:44:43+02:00MURRAY DavidBetter release asset managementCurrent release assets directly link to artifact.
Meaning old release artifact are no longer accessible once a new version is released. Only the source code remain consistent with the version. We have two solutions here:
- remove the l...Current release assets directly link to artifact.
Meaning old release artifact are no longer accessible once a new version is released. Only the source code remain consistent with the version. We have two solutions here:
- remove the links to artifacts for older release.
- try a better management with version specific permalink as specified:
https://docs.gitlab.com/ee/user/project/releases/#permanent-links-to-release-assets
I'd recommend the later as the former does not really make sense with the concept of releases. But it may require a bit of work and planning. It should be discussed/debated when we have the time, and IF necessary.Malia 1.1.0https://gitlab.inria.fr/pacanows/MRF/-/issues/197Move termcolor in externals/2021-03-26T14:51:40+01:00PACANOWSKI RomainMove termcolor in externals/The file termcolor.hpp
should probably moved to externals and removed from TestingThe file termcolor.hpp
should probably moved to externals and removed from Testinghttps://gitlab.inria.fr/pacanows/MRF/-/issues/199[Win10] Pre-compiled binaries are broken2021-07-05T11:27:06+02:00PACANOWSKI Romain[Win10] Pre-compiled binaries are brokenThe public pre-compiled binaries for Windows available publicly here
https://gitlab.inria.fr/pacanows/MRF/-/jobs/artifacts/master/raw/Malia-1.0.0-win64.7z?job=malia_win10
is missing the glfw3.dll.
When trying to execute from Windows Ma...The public pre-compiled binaries for Windows available publicly here
https://gitlab.inria.fr/pacanows/MRF/-/jobs/artifacts/master/raw/Malia-1.0.0-win64.7z?job=malia_win10
is missing the glfw3.dll.
When trying to execute from Windows Malia (both rgb and spectral) won't start.Malia 1.2MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/202Better PLY loading2021-07-05T11:24:53+02:00MURRAY DavidBetter PLY loading-Move the PLY loading (using tinyply) to a dedicated PLYLoader class.
-Use the class when parsing the scene, instead of using directly tinyply.-Move the PLY loading (using tinyply) to a dedicated PLYLoader class.
-Use the class when parsing the scene, instead of using directly tinyply.Malia 1.2https://gitlab.inria.fr/pacanows/MRF/-/issues/203Automatization of adding a new Material2021-06-28T15:27:23+02:00PACANOWSKI RomainAutomatization of adding a new MaterialWrite a python Script that generates a template
- MyNewMaterial.hpp .cpp
- MyNewMaterialParser.hpp .cpp
- mynewmaterial.cu
from an XML file that describes the new material.Write a python Script that generates a template
- MyNewMaterial.hpp .cpp
- MyNewMaterialParser.hpp .cpp
- mynewmaterial.cu
from an XML file that describes the new material.Malia 1.3https://gitlab.inria.fr/pacanows/MRF/-/issues/204Refactoring SceneParser2021-07-05T11:24:29+02:00PACANOWSKI RomainRefactoring SceneParser
Move XML parsing methods from SceneParser to another class
XMLParser.cpp
XMLParser.hpp
this way specific parsers will be able to use generic functions (e.g., retrieveColor(...) ).
A parser for Geometry should be also added.
A specif...
Move XML parsing methods from SceneParser to another class
XMLParser.cpp
XMLParser.hpp
this way specific parsers will be able to use generic functions (e.g., retrieveColor(...) ).
A parser for Geometry should be also added.
A specific parser for Ply as wellMalia 1.3MURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/205obj with loose vertices does not load2021-06-29T16:39:26+02:00COUTURIER Arthurobj with loose vertices does not loadI'm working with an obj file with vertices not linked to any faces. When loading the scene, Malia stop before opening the gui and without any error message. After removing manually the loose vertices the scene works fine.
Here is the co...I'm working with an obj file with vertices not linked to any faces. When loading the scene, Malia stop before opening the gui and without any error message. After removing manually the loose vertices the scene works fine.
Here is the console using the obj with loose vertices:
```python
> malia.exe -scene "./scenes/cor360_2020-10-29_4_80_N.msf" -i -nogui
Malia Rendering Engine Started
Starting to load Scene
[WARNING] ======> No spectral value found! Basic RGB uplifting
```
I'm using Malia-1.0.0-win64 available here https://pacanows.gitlabpages.inria.fr/MRF/apps/malia/main.md.html
I'm attaching a file with both working and not working scenes: [malia_issue_loose_vertice.zip](/uploads/46de3efa795469adcc0f9e232337afe9/malia_issue_loose_vertice.zip)https://gitlab.inria.fr/pacanows/MRF/-/issues/206Black faces with "principled" material2021-07-12T16:23:55+02:00COUTURIER ArthurBlack faces with "principled" materialSome faces of an obj are displayed completely black in Malia and they change depending on the camera left and right rotation (no effect seen on upward and downward rotation).
Base angle:
![2021-06-29_16_05_24-Malia_Renderer](/uploads/...Some faces of an obj are displayed completely black in Malia and they change depending on the camera left and right rotation (no effect seen on upward and downward rotation).
Base angle:
![2021-06-29_16_05_24-Malia_Renderer](/uploads/856484103752108be0477d83acc0a095/2021-06-29_16_05_24-Malia_Renderer.png)
2 rotations to the right:
![2021-06-29_16_06_03-Malia_Renderer](/uploads/7393108347f6e60a00e9bcf196d8d686/2021-06-29_16_06_03-Malia_Renderer.png)
2 rotations to the left:
![2021-06-29_16_06_09-Malia_Renderer](/uploads/60fba270a201244e3d5afe15ede2937f/2021-06-29_16_06_09-Malia_Renderer.png)
I'm using a material based on a material made by the blender bridge and with updated rgb values.
```xml
<material name="Default OBJ" type="principled">
<base_color>
<rgb_color b="0.0" g="0.6" r="0.0"/>
</base_color>
<roughness value="0.5"/>
<subsurface value="0.0"/>
<sheen value="0.0"/>
<sheenTint value="0.5"/>
<metallic value="0.0"/>
<specular value="0.5"/>
<specularTint value="0.0"/>
<anisotropic value="0.0"/>
<clearcoat value="0.0"/>
<clearcoatGloss value="0.03"/>
</material>
```
No black faces were observed with the "green" default lambert material.
I'm using Malia-1.0.0-win64 available here https://pacanows.gitlabpages.inria.fr/MRF/apps/malia/main.md.html
I'm attaching a file with the scene: [malia_issue_black_faces.zip](/uploads/3136e386396e3b61b88a5b780703c3c3/malia_issue_black_faces.zip)Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/207Error in exported image when using multiples spectral passes2021-07-09T13:54:09+02:00MURRAY DavidError in exported image when using multiples spectral passesWhen using multiple spectral passes (wpp > 1 & wpp < nb_wavelenghts), we get some spikes at the passes boundaries.
This is probably caused by our triangular filter when writing in the buffer.When using multiple spectral passes (wpp > 1 & wpp < nb_wavelenghts), we get some spikes at the passes boundaries.
This is probably caused by our triangular filter when writing in the buffer.Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/208Check GPU V-RAM when upload the rendering buffer2021-07-09T13:50:45+02:00MURRAY DavidCheck GPU V-RAM when upload the rendering bufferWe always try to upload the full spectral resolution for the output buffer. However, we do not check if enough V-RAM is available.
In case is not enough, we get this message:
[FATAL] ======> Optix Exception CAUGHT !!!
[FATAL] ======> E...We always try to upload the full spectral resolution for the output buffer. However, we do not check if enough V-RAM is available.
In case is not enough, we get this message:
[FATAL] ======> Optix Exception CAUGHT !!!
[FATAL] ======> Error Message: Memory allocation failed (Details: Function "_rtContextLaunch2D" caught exception: Out of memory)
We should either:
- display a more verbose message to suggest a smaller spectral or spatial resolution.
- split the image spatially to fit in V-RAM.
In interactive, it is probably best to use the first approach, and the second for offline.Malia 1.0 patchMURRAY DavidMURRAY Davidhttps://gitlab.inria.fr/pacanows/MRF/-/issues/209Camera change behavior2021-07-13T08:46:42+02:00MURRAY DavidCamera change behaviorFrom #173 regarding the behavior when switching between multiple cameras with different sensor resolution.
# Current behavior:
The initial resolution is that of the sensor (or the user commands).
When switching camera, we keep the curre...From #173 regarding the behavior when switching between multiple cameras with different sensor resolution.
# Current behavior:
The initial resolution is that of the sensor (or the user commands).
When switching camera, we keep the current resolution.
# Alternative possible behavior:
* 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`Malia 1.1.0https://gitlab.inria.fr/pacanows/MRF/-/issues/210"translation" not working2021-07-13T17:38:08+02:00COUTURIER Arthur"translation" not workingI'm trying to move an wavefront object "plaque" I'm importing in a malia scene but the "translation" parameter did nothing, whatever the values I'm using. I've tried with int and float values but it didn't change the result.
I've tried t...I'm trying to move an wavefront object "plaque" I'm importing in a malia scene but the "translation" parameter did nothing, whatever the values I'm using. I've tried with int and float values but it didn't change the result.
I've tried to use a different modifier, namely "scale" and the size of the "plaque" object changed.
I've also tried to do the translation before and after the mesh.
Here are the file used for the scene : [malia_translation_issue.zip](/uploads/90d18a3e31b43365b20a5ffef2d3af83/malia_translation_issue.zip)
I'm using Malia-1.0.0-win64 available here https://pacanows.gitlabpages.inria.fr/MRF/apps/malia/main.md.html and I'm on windows 10.