mmp/pbrt-v3 — dự án mã nguồn mở — đang có 5.1k sao GitHub. Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This repository holds the source code to the version of pbrt that is
described in the third edition of Physically Based Rendering: From
Theory to Implementation, by Matt Pharr, Wenzel
Jakob, and Greg Humphreys. As
before, the code is available under the BSD license.
The pbrt website has general information about both the
Physically Based Rendering book as well as many other resources for pbrt.
As of October 2018, the full text of the book is
now available online, for free.
Example scenes
Over 8GB of example scenes are available for download. (Many are new and
weren't available with previous versions of pbrt.) See the pbrt-v3 scenes
page on the pbrt website for information
about how to download them.
After downloading them, see the README.md.html file in the scene
distribution for more information about the scenes and preview images.
Additional resources
There is a pbrt Google
Groups mailing list that can
be a helpful resource.
Please see the User's Guide for more
information about how to check out and build the system as well as various
additional information about working with pbrt.
Should you find a bug in pbrt, please report it in the bug
tracker.
Please report any errors you find in the Physically Based Rendering
book to [email protected].
Note: we tend to let bug reports and book errata emails pile up for a few
months for processing them in batches. Don't think we don't appreciate
them. :-)
Building pbrt
To check out pbrt together with all dependencies, be sure to use the
--recursive flag when cloning the repository, i.e.
If you accidentally already cloned pbrt without this flag (or to update an
pbrt source tree after a new submodule has been added, run the following
command to also fetch the dependencies:
$ git submodule update --init --recursive
pbrt uses cmake for its build system. On Linux
and OS X, cmake is available via most package management systems. To get
cmake for Windows, or to build it from source, see the cmake downloads
page. Once you have cmake, the next step
depends on your operating system.
Makefile builds (Linux, other Unixes, and Mac)
Create a new directory for the build, change to that directory, and run
cmake [path to pbrt-v3]. A Makefile will be created in the current
directory. Next, run make to build pbrt, the obj2pbrt and imgtool
utilities, and an executable that runs pbrt's unit tests. Depending on the
number of cores in your system, you will probably want to supply make with
the -j parameter to specify the number of compilation jobs to run in
parallel (e.g. make -j8).
By default, the makefiles that are created that will compile an optimized
release build of pbrt. These builds give the highest performance when
rendering, but many runtime checks are disabled in these builds and
optimized builds are generally difficult to trace in a debugger.
To build a debug version of pbrt, set the CMAKE_BUILD_TYPE flag to
Debug when you run cmake to create build files to make a debug build. To
do so, provide cmake with the argument -DCMAKE_BUILD_TYPE=Debug and build
pbrt using the resulting makefiles. (You may want to keep two build
directories, one for release builds and one for debug builds, so that you
don't need to switch back and forth.)
Debug versions of the system run much more slowly than release
builds. Therefore, in order to avoid surprisingly slow renders when
debugging support isn't desired, debug versions of pbrt print a banner
message indicating that they were built for debugging at startup time.
Xcode
To make an Xcode project on OS X, run cmake -G Xcode [path to pbrt-v3].
A PBRT-V3.xcodeproj project file that can be opened in Xcode. Note that
the default build settings have an optimization level of "None"; you'll
almost certainly want to choose "Faster" or "Fastest".
MSVC on Windows
On Windows, first point the cmake GUI at the directory with pbrt's source
code. Create a separate directory to hold the result of the build
(potentially just a directory named "build" inside the pbrt-v3 directory)
and set that for "Where to build the binaries" in the GUI.
Next, click "Configure". Note that you will want to choose the "Win64"
generator for your MSVC installation unless you have a clear reason to need
a 32-bit build of pbrt. Once cmake has finished the configuration step,
click "Generate"; when that's done, there will be a "PBRT-V3.sln" file in
the build directory you specified. Open that up in MSVC and you're ready to
go.
Build Configurations
There are two configuration settings that must be set when configuring the
build. The first controls whether pbrt uses 32-bit or 64-bit values for
floating-point computation, and the second controls whether tristimulus RGB
values or sampled spectral values are used for rendering. (Both of these
aren't amenable to being chosen at runtime, but must be determined at
compile time for efficiency). The cmake configuration variables
PBRT_FLOAT_AS_DOUBLE and PBRT_SAMPLED_SPECTRUM configure them,
respectively.
If you're using a GUI version of cmake, those settings should be available
in the list of configuration variables; set them as desired before choosing
'Generate'.
With command-line cmake, their values can be specified when you cmake via
-DPBRT_FLOAT_AS_DOUBLE=1, for example.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/mmp/pbrt-v3 là nguồn chính thức.
mmp/pbrt-v3 có phải mã nguồn mở không?
Có — mmp/pbrt-v3 phát hành theo license BSD-2-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/mmp/pbrt-v3.
mmp/pbrt-v3 có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho mmp/pbrt-v3. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
mmp/pbrt-v3 có trang demo không?
Dự án có trang chủ ở http://pbrt.org. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
mmp/pbrt-v3 còn đang phát triển không?
Commit gần nhất trên mmp/pbrt-v3 là 3.2 năm trước (theo timestamp GitHub). Repo có 1.2k fork — một chỉ báo về mức độ quan tâm của cộng đồng.
mmp/pbrt-v3 dùng license gì?
mmp/pbrt-v3 phát hành theo license BSD-2-Clause. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Đọc đầy đủ README ở tab phía trên.
pbrt-v3 có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về pbrt-v3.