opencax / GSoC

Google Summer of Code Projects
31 stars 14 forks source link

appleseed physically-based renderer release infrastructure #64

Closed brlcad closed 9 months ago

brlcad commented 2 years ago

Outline

Update appleseed's CMake build infrastructure, CI/CD scripting, and plugins. Generate new up-to-date releases automatically.

Details

The appleseed physically-based renderer needs a variety of infrastructure updates made to its CMake build system and CI/CD release infrastructure so that updated release binaries are created and published automatically. Appleseed leverages a number of 3rd-party dependencies such as Ilmbase, Python, and OSL, and appleseed's CMake build logic and source code requires changes to support more modern versions of all of them while adhering to the VFX Reference Platform. Updating the embedded Python from version 2 to version 3 will require specific attention.

This project also includes setting up build and integration testing so that appleseed's integrations (e.g., Maya plugin, Blender plugin, etc) are also updated automatically. Plugin and regular appleseed release builds need to be integrated with existing CI/CD shell scripting logic and GitHub Actions integration.

Appleseed is an advanced rendering system used by a number of other open source projects including BRL-CAD, Gaffer, and Blender as well as plugin integrations for Maya and 3DSMax.

Expected Outcome

Expected outcomes are:

  1. updates to appleseed's build logic and source code to utilize CY2021-vfx-platform, CY2022, and newer dependencies,
  2. updates via GitHub Actions and/or appleseed's other CI/CD infrastructure to run integration and deployment testing,
  3. scripting that produces updated source and binary releases for appleseed,
  4. updated plugins (minimally Blender and others where accessible).

Future Possibilities

Make your own suggestions... e.g., there are lots of outstanding patches that would be great to integrate once CI/CD infrastructure testing is up and running.

Project Properties

Skills

CMake, C/C++, Python, Shell scripting

Difficulty

Easy

Size

long (350h)

Additional Information

linktorahulraj commented 1 year ago

@brlcad I want to work on this issue, please tell me where to start

joe2911 commented 1 year ago

I'm an Engineering student with minimal experience using the listed languages. I'd like to participate if possible

mavavilj commented 1 year ago

Is this still uncompleted?