Information

Abstract

The lighting design of (virtual) space is an important aspect of our daily environment. It not only allows for creative expression but is often a necessary asset in professional work environments and artistic productions. However, due to the computational complexity of this problem, current solutions are usually built in performance-oriented programming languages that offer a detailed low-level view of the application on the one hand but do not allow for fast development and easy exchange of algorithms on the other. This work builds on the already existing C++ rendering framework Tamashii, proposed by Lipp et al. in 2023 [20], which offers view-independent and gradient-based global lighting design optimization. We propose a way to integrate MATLAB functions into the optimization process in order to not only allow for easier development of optimization algorithms but also enable access to MATLAB’s existing code base and numerical analysis tools. We therefore implement a bidirectional MATLAB/C++ interface for exchanging optimization data between the rendering process and the MATLAB process. In order to achieve this functionality, we use the MATLAB Engine API for C++ and the MATLAB MEX API, which are both natively contained within MATLAB. Further, we implement a mechanism for inter-process communication using Windows Named Pipes and a custom communication protocol. In addition, this work also briefly discusses various optimization methods and the use of Surrogate-Based Optimization (SBO) for the global lighting design problem. We show that our method achieves great performance and evaluate it against plain C++ implementations on two test scenes by not only testing optimization methods via the interface but also testing simple rendering of new lighting configurations. The test results also show that MALTAB’s current SBO implementation can bring good performance to the optimization problem we encounter in Tamashii in certain scenes. Lastly, we discuss the increased usability and insight into optimization methods achieved by integrating MATLAB into Tamashii.

Additional Files and Images

Weblinks

No further information available.

BibTeX

@bachelorsthesis{Zezulka_Matthias-2023-MatLabOptInterface,
  title =      "Bidirectional MATLAB/C++ Interface for Lighting Design
               Optimization",
  author =     "Matthias Zezulka",
  year =       "2023",
  abstract =   "The lighting design of (virtual) space is an important
               aspect of our daily environment. It not only allows for
               creative expression but is often a necessary asset in
               professional work environments and artistic productions.
               However, due to the computational complexity of this
               problem, current solutions are usually built in
               performance-oriented programming languages that offer a
               detailed low-level view of the application on the one hand
               but do not allow for fast development and easy exchange of
               algorithms on the other. This work builds on the already
               existing C++ rendering framework Tamashii, proposed by Lipp
               et al. in 2023 [20], which offers view-independent and
               gradient-based global lighting design optimization. We
               propose a way to integrate MATLAB functions into the
               optimization process in order to not only allow for easier
               development of optimization algorithms but also enable
               access to MATLAB’s existing code base and numerical
               analysis tools. We therefore implement a bidirectional
               MATLAB/C++ interface for exchanging optimization data
               between the rendering process and the MATLAB process. In
               order to achieve this functionality, we use the MATLAB
               Engine API for C++ and the MATLAB MEX API, which are both
               natively contained within MATLAB. Further, we implement a
               mechanism for inter-process communication using Windows
               Named Pipes and a custom communication protocol. In
               addition, this work also briefly discusses various
               optimization methods and the use of Surrogate-Based
               Optimization (SBO) for the global lighting design problem.
               We show that our method achieves great performance and
               evaluate it against plain C++ implementations on two test
               scenes by not only testing optimization methods via the
               interface but also testing simple rendering of new lighting
               configurations. The test results also show that MALTAB’s
               current SBO implementation can bring good performance to the
               optimization problem we encounter in Tamashii in certain
               scenes. Lastly, we discuss the increased usability and
               insight into optimization methods achieved by integrating
               MATLAB into Tamashii.",
  month =      dec,
  address =    "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
  school =     "Research Unit of Computer Graphics, Institute of Visual
               Computing and Human-Centered Technology, Faculty of
               Informatics, TU Wien ",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2023/Zezulka_Matthias-2023-MatLabOptInterface/",
}