• Stars
    star
    575
  • Rank 77,622 (Top 2 %)
  • Language
    C++
  • License
    Other
  • Created about 2 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source version of RV, the Sci-Tech award-winning media review and playback software.

Open RV


Open RV

Supported Versions Supported VFX Platform Versions docs

Overview

Open RV is an image and sequence viewer for VFX and animation artists. Open RV is high-performant, hardware accelerated, and pipeline-friendly.

Open RV Documentation on Read the Docs

Cloning the repository

OpenRV uses submodules to pull some dependencies. When cloning the repository, make sure to do it recursively by using the following command:

git clone --recursive https://github.com/AcademySoftwareFoundation/OpenRV.git

If you cloned the repo without setting the --recursive flag, you can initialize the submodule in another step with the following command:

git submodule update --init --recursive

Building the workstation

Open RV is currently supported on the following operating systems:

Support for other operating systems is on a best effort basis.

Building RV

You can use source rvcmds.sh to add common build aliases into your shell. After the first download following the installation of the required dependencies, use rvbootstrap to set up, configure, and build Open RV with the default options.

After the setup, you can use rvmk (the common build alias) to configure and build Open RV. You can also use rvmkd to configure and build in Debug.

On macOS, if you want to build for a different deployment target than your current operating system, make sure to define the MACOSX_DEPLOYMENT_TARGET environment variable.

Contributor setup

This repository uses a pre-commit to execute formatting before a commit. To install the pre-commit hooks:

pre-commit install

Cleanup

To clean your build directory and restart from a clean slate, use the rvclean common build alias, or delete the _build folder.

Bootstrap

Before first your first Open RV build, you must install some python dependencies.

Common build alias

Use the rvsetup common build alias to run the bootstrap step.

Manually

python3 -m pip install --user --upgrade -r requirements.txt

Configure

The project uses CMake and requires a configure step before building. It is during the configure step that you provide your Qt package.

From the root of the repository, execute cmake and specify the path to an arbitrary build folder and the path to your QT5 package.

Common build alias

Use the rvcfg (the common build alias) to run the configuration step. You can also use rvcfgd to configure in Debug.

Manually

Windows

On Windows, you must specify the path to Strawberry perl for the OpenSSL build.

cmake -B _build -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=Release -DRV_DEPS_WIN_PERL_ROOT=/c/Strawberry/perl/bin -DRV_DEPS_QT5_LOCATION=/c/path/to/your/Qt/Root
Linux and MacOS
cmake -B _build -DCMAKE_BUILD_TYPE=Release -DRV_DEPS_QT5_LOCATION=/Path/To/Your/Qt5/Root

Tips

3rd Parties Outside Of Repository

To keep your third-party builds between build cleanups, set -DRV_DEPS_BASE_DIR=/path/to/third/party.

Build

Invoke the previously specified generator tool using cmake to run the build step (recommended).

Common build alias

Use the rvbuild (the common build alias) to run the build step. You can also use rvbuildd to build in Debug.

Manually

cmake --build _build --config Release -v --parallel=8 --target main_executable

Test

Invoke the tests using ctest.

Common build alias

Use the rvtest common build alias to start the tests.

Manually

ctest --test-dir _build

Tips

Run The Tests In Parallel

You can run the test in parallel by specifying --parallel X, where X is the number of tests to run in parallel.

Run A Subset Of The Tests

You can apply a filter with the -R flag to specify a regex.

Run The Tests Verbose

You can run the tests with extra verbosity with the flag --extra-verbose.

Important: You cannot use --extra-verbose with --parallel. It's one or the other, not both.

Run

Once the build ends, you can execute (or debug!) Open RV from the _build directory.

The path to the build is _build/stage/app. It contains everything required to have the proper debug symbols.

Install

Invoke the install step using cmake. The install step prepares Open RV for packaging by building a copy of Open RV in the _install folder.

The build system allows you to prepackage Open RV using cmake's install command. It will strip debug symbols if required.

Then, it's up to you to either sign or package the result, or to do both. It should contain the minimum required to have a functional Open RV.

Common build alias

Use the rvinst common build alias to install OpenRV.

Manually

cmake --install _build --prefix _install

More Repositories

1

openvdb

OpenVDB - Sparse volume data structure and tools
C++
2,599
star
2

OpenShadingLanguage

Advanced shading language for production GI renderers
C++
2,100
star
3

OpenImageIO

Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
C++
1,966
star
4

MaterialX

MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.
C++
1,830
star
5

OpenColorIO

A color management framework for visual effects and animation.
C++
1,781
star
6

openexr

The OpenEXR project provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.
C
1,624
star
7

OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
Python
1,457
star
8

rez

An integrated package configuration, build and deployment system for software
Python
939
star
9

OpenCue

A render management system you can deploy for visual effects and animation productions.
Python
824
star
10

xstudio

xSTUDIO is a modern, high performance and feature rich playback and review application designed for organisations and individuals in the post production, VFX and Animation industries.
C++
628
star
11

OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
CSS
430
star
12

openfx

OpenFX effects API
C++
406
star
13

Imath

Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
C++
373
star
14

OpenColorIO-Config-ACES

Python
263
star
15

aswf-docker

Common container configuration
Python
149
star
16

rawtoaces

RAW to ACES Utility
C++
141
star
17

aswf-landscape

πŸŒ„Landscape for popular open source projects used in the motion picture industry. This interactive landscape similar to that of the CNCF Landscape (https://l.cncf.io/) that sorts through popular open source projects used for visual effects, animation, and image creation, and shows details including GitHub stars, funding or market cap, first and last commits, contributor count and many more.
121
star
18

openexr-images

Collection of images associated with the OpenEXR distribution
98
star
19

tac

Materials and meeting notes for the ASWF Technical Advisory Council (TAC)
HTML
93
star
20

wg-usd

USD Working Group collaboration and resources
61
star
21

OpenImageIO-images

OpenImageIO test images
Shell
37
star
22

EncodingGuidelines

This site provides guidelines for encoding frames to movie files for review.
Dockerfile
33
star
23

foundation

Academy Software Foundation foundation level resources, such as the charter, FAQ about the project, and other public assets
Python
17
star
24

archived-ci-management

Archived -- April 29, 2020 -- Jenkins job and cloud configuration
Shell
16
star
25

opencue.io

Source for OpenCue website
HTML
15
star
26

openvdb-website

The source code behind https://www.openvdb.org
JavaScript
13
star
27

aswf-sample-project

ASWF Sample Project
CMake
13
star
28

wg-python3

Python 3 Working Group
12
star
29

ori-shared-platform

Python
12
star
30

dpel-website

Website for the Digital Production Example Library
Astro
8
star
31

wg-ci

ASWF Continuous Integration Working Group
8
star
32

artwork

🎨ASWF related logos and artwork
HTML
8
star
33

ColorInterop

Color Interop Forum
7
star
34

openexr-examples

Example code using the OpenEXR library
C++
6
star
35

wg-review-approval

Review and Approval WG
4
star
36

materialx-website

Source files for www.materialx.org
HTML
3
star
37

aswf-sample-wg

Repository template for a working group
3
star
38

openreviewinitiative-test

Test for CLAs for Open Review Initiative
2
star
39

rez-test

2
star
40

openexr-website

The OpenEXR website
1
star
41

Imath-website

The Imath website
1
star
42

wg-assets

Asset Repository WG
1
star