GitXplorerGitXplorer
f

SplitAO3D

public
13 stars
2 forks
0 issues

Commits

List of commits on branch main.
Unverified
690a5f3257923bb87f77e55136d241f198339077

Removing PointCloudVisualization capability

committed 8 months ago
Unverified
7ff9fbcb6e6ad6881b58a4b401d79921b97c65a8

Upgrade third_party stb libs

ggraphicsMan committed a year ago
Unverified
8018862840e62607b846038caeb9259be08096ce

Fix README (#6)

ggraphicsMan committed a year ago
Unverified
64cf6e00e5bffea481614a6f783df1c6e622d629

Initial commit

ffacebook-github-bot committed a year ago

README

The README file for this repository.

PSAO: Point-Based Split Rendering for Ambient Occlusion

Thomas Neff*1, Brian Budge2, Zhao Dong2, Dieter Schmalstieg1, Markus Steinberger1

1Graz University of Technology, 2Meta Reality Labs Research
* The work was primarily done during an internship at Meta.

in High-Performance Graphics 2023

Licensing

The majority of this project is licensed under CC BY-NC 4.0, except for third-party code, which is available under separate license terms:

  • Arcade test scene: NVIDIA CC-BY-NC-SA 3.0
  • Poisson sampling is licensed under the MIT license
  • FLIP is licensed under the BSD-3 license
  • zstd is licensed under the BSD license
  • nanoflann is licensed under the BSD license
  • lz4 is licensed under the BSD license
  • argparse is licensed under the MIT license

General

This repository contains the source code for the paper "PSAO: Point-Based Split Rendering for Ambient Occlusion". The codebase has been tested on Windows 11 using an RTX4090 GPU using Visual Studio 2019, and also Windows 10 Pro with RTX3070 Ti Mobile GPU.

Getting started

First clone our fork of Falcor 5.2 from https://github.com/thomasneff/Falcor.

git clone git@github.com:thomasneff/Falcor.git
cd Falcor
git submodule update --init --recursive

Make sure to follow the prerequesites mentioned in the Falcor README.

Afterwards, go into the Falcor/Source/Samples/ directory and clone this repository (SplitAO3D).

cd Source/Samples
git clone git@github.com:facebookresearch/SplitAO3D.git

After that, use CMake to generate build files for Falcor.

You should now have a FalcorServer target in the Samples projects in your IDE (e.g., Visual Studio 2019). Set that as your startup target.

Afterwards, for our test scenes to work, you need to create a symbolic link from Falcor/Source/Samples/SplitAO3D/test_scenes to Falcor/media/test_scenes.

On Windows, this can be done via mklink from a command prompt (from within the Source/Samples directory):

cd ../../media
mklink /D test_scenes ..\Source\Samples\SplitAO3D\test_scenes\

Alternatively, if you don't have WSL installed, you may simply copy the test_scenes directory into media/test_scenes.

By default, you should now be able to start the project and see the arcade_with_animated_things scene, that includes rigidbody and skinned animations and shows the result of PSAO with a low number of points by default.

In SplitAO3D/point_ao_split_rendering/ServerMain.cpp you can find additional command line options that were used for the evaluation of the paper. The main renderer is implemented in ServerPointRenderer.h/.cpp.

Citation

If you find this repository useful in any way or use/modify PSAO in your research, please consider citing our paper:

@article{neff2023psao,
	booktitle = {High-Performance Graphics - Symposium Papers},
	editor = {Bikker, Jacco and Gribble, Christiaan},
	title = {{PSAO: Point-Based Split Rendering for Ambient Occlusion}},
	author = {Neff, Thomas and Budge, Brian and Dong, Zhao and Schmalstieg, Dieter and Steinberger, Markus},
	year = {2023},
	publisher = {The Eurographics Association},
	ISSN = {2079-8687},
	ISBN = {978-3-03868-229-5},
	DOI = {10.2312/hpg.20231131}
}