{"id":13439228,"url":"https://github.com/mitsuba-renderer/mitsuba2","last_synced_at":"2025-05-15T11:06:25.185Z","repository":{"id":38315382,"uuid":"205269573","full_name":"mitsuba-renderer/mitsuba2","owner":"mitsuba-renderer","description":"Mitsuba 2: A Retargetable Forward and Inverse Renderer","archived":false,"fork":false,"pushed_at":"2022-08-22T09:30:10.000Z","size":7554,"stargazers_count":2063,"open_issues_count":106,"forks_count":266,"subscribers_count":62,"default_branch":"master","last_synced_at":"2025-04-14T19:57:08.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitsuba-renderer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-29T23:49:12.000Z","updated_at":"2025-04-14T00:33:03.000Z","dependencies_parsed_at":"2022-08-09T02:32:18.355Z","dependency_job_id":null,"html_url":"https://github.com/mitsuba-renderer/mitsuba2","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuba-renderer%2Fmitsuba2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuba-renderer%2Fmitsuba2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuba-renderer%2Fmitsuba2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsuba-renderer%2Fmitsuba2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitsuba-renderer","download_url":"https://codeload.github.com/mitsuba-renderer/mitsuba2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328385,"owners_count":22052632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:12.136Z","updated_at":"2025-05-15T11:06:25.166Z","avatar_url":"https://github.com/mitsuba-renderer.png","language":"C++","readme":"\u003cimg src=\"https://github.com/mitsuba-renderer/mitsuba2/raw/master/docs/images/logo_plain.png\" width=\"120\" height=\"120\" alt=\"Mitsuba logo\"\u003e\n\n# Mitsuba Renderer 2\n\u003c!--\n| Documentation   | Linux             | Windows             |\n|      :---:      |       :---:       |        :---:        |\n| [![docs][1]][2] | [![rgl-ci][3]][4] | [![appveyor][5]][6] |\n\n\n[1]: https://readthedocs.org/projects/mitsuba2/badge/?version=master\n[2]: https://mitsuba2.readthedocs.io/en/latest/src/getting_started/intro.html\n[3]: https://rgl-ci.epfl.ch/app/rest/builds/buildType(id:Mitsuba2_Build)/statusIcon.svg\n[4]: https://rgl-ci.epfl.ch/viewType.html?buildTypeId=Mitsuba2_Build\u0026guest=1\n[5]: https://ci.appveyor.com/api/projects/status/eb84mmtvnt8ko8bh/branch/master?svg=true\n[6]: https://ci.appveyor.com/project/wjakob/mitsuba2/branch/master\n--\u003e\n| Documentation   |\n|      :---:      |\n| [![docs][1]][2] |\n\n\n[1]: https://readthedocs.org/projects/mitsuba2/badge/?version=latest\n[2]: https://mitsuba2.readthedocs.io/en/latest/src/getting_started/intro.html\n\n## This repository is deprecated\n\n*NOTE*: [Mitsuba 3](https://github.com/mitsuba-renderer/mitsuba3) has recently\nbeen released, which addresses many long-standing limitations of Mitsuba 2.\nThis repository is therefore deprecated: it will not receive updates or\nbugfixes, and we recommend that you migrate to Mitsuba 3.\n\n## Introduction\n\nMitsuba 2 is a research-oriented rendering system written in portable C++17. It\nconsists of a small set of core libraries and a wide variety of plugins that\nimplement functionality ranging from materials and light sources to complete\nrendering algorithms. Mitsuba 2 strives to retain scene compatibility with its\npredecessor [Mitsuba 0.6](https://github.com/mitsuba-renderer/mitsuba).\nHowever, in most other respects, it is a completely new system following a\ndifferent set of goals.\n\nThe most significant change of Mitsuba 2 is that it is a *retargetable*\nrenderer: this means that the underlying implementations and data structures\nare specified in a generic fashion that can be transformed to accomplish a\nnumber of different tasks. For example:\n\n1. In the simplest case, Mitsuba 2 is an ordinary CPU-based RGB renderer that\n   processes one ray at a time similar to its predecessor [Mitsuba\n   0.6](https://github.com/mitsuba-renderer/mitsuba).\n\n2. Alternatively, Mitsuba 2 can be transformed into a differentiable renderer\n   that runs on NVIDIA RTX GPUs. A differentiable rendering algorithm is able\n   to compute derivatives of the entire simulation with respect to input\n   parameters such as camera pose, geometry, BSDFs, textures, and volumes. In\n   conjunction with gradient-based optimization, this opens door to challenging\n   inverse problems including computational material design and scene reconstruction.\n\n3. Another type of transformation turns Mitsuba 2 into a vectorized CPU\n   renderer that leverages Single Instruction/Multiple Data (SIMD) instruction\n   sets such as AVX512 on modern CPUs to efficiently sample many light paths in\n   parallel.\n\n4. Yet another type of transformation rewrites physical aspects of the\n   simulation: Mitsuba can be used as a monochromatic renderer, RGB-based\n   renderer, or spectral renderer. Each variant can optionally account for the\n   effects of polarization if desired.\n\nIn addition to the above transformations, there are\nseveral other noteworthy changes:\n\n1. Mitsuba 2 provides very fine-grained Python bindings to essentially every\n   function using [pybind11](https://github.com/pybind/pybind11). This makes it\n   possible to import the renderer into a Jupyter notebook and develop new\n   algorithms interactively while visualizing their behavior using plots.\n\n2. The renderer includes a large automated test suite written in Python, and\n   its development relies on several continuous integration servers that\n   compile and test new commits on different operating systems using various\n   compilation settings (e.g. debug/release builds, single/double precision,\n   etc). Manually checking that external contributions don't break existing\n   functionality had become a severe bottleneck in the previous Mitsuba 0.6\n   codebase, hence the goal of this infrastructure is to avoid such manual\n   checks and streamline interactions with the community (Pull Requests, etc.)\n   in the future.\n\n3. An all-new cross-platform user interface is currently being developed using\n   the [NanoGUI](https://github.com/mitsuba-renderer/nanogui) library. *Note\n   that this is not yet complete.*\n\n## Compiling and using Mitsuba 2\n\nPlease see the [documentation](http://mitsuba2.readthedocs.org/en/latest) for\ndetails on how to compile, use, and extend Mitsuba 2.\n\n## About\n\nThis project was created by [Wenzel Jakob](http://rgl.epfl.ch/people/wjakob).\nSignificant features and/or improvements to the code were contributed by\n[Merlin Nimier-David](https://merlin.nimierdavid.fr/),\n[Guillaume Loubet](https://maverick.inria.fr/Membres/Guillaume.Loubet/),\n[Benoît Ruiz](https://github.com/4str0m),\n[Sébastien Speierer](https://github.com/Speierers),\n[Delio Vicini](https://dvicini.github.io/),\nand [Tizian Zeltner](https://tizianzeltner.com/).\n","funding_links":[],"categories":["C++","Graphic Libraries \u0026 Renderers"],"sub_categories":["Data Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitsuba-renderer%2Fmitsuba2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitsuba-renderer%2Fmitsuba2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitsuba-renderer%2Fmitsuba2/lists"}