Skip to content

Production-Ready PBR: Integrating BRL-CAD geometry ray tracing with Appleseed rendering #107

@brlcad

Description

@brlcad

Outline

BRL-CAD recently introduced "art," a command-line renderer that integrates the appleseed rendering engine. While BRL-CAD provides the geometry and intersection logic, appleseed handles the light transport and shading. Currently, "art" is in an experimental state, supporting only basic, single-file Open Shading Language (OSL) shaders. This project aims to bring "art" to production-readiness by implementing support for complex shader networks (OSL and MaterialX), advanced material properties like subsurface scattering and emission, and robust texture mapping for BRL-CAD primitives.

Details

The focus of this project is to transition "art" from a prototype to a reliable production tool. Key development areas include:

  • Shader Network Integration: Move beyond single-file .osl shaders to support full shader networks and MaterialX files. This involves creating a robust mapping system between BRL-CAD material properties and appleseed’s shading nodes.
  • Texture Mapping & UVs: Solving the "mapping problem" by ensuring that BRL-CAD’s implicit primitives (ellipsoids, tori, etc.) correctly pass coordinate data to appleseed for procedural and image-based texturing.
  • Advanced Light Transport: Implementing and testing advanced optics features within the "art" framework, including:
    -- Emission: Allowing BRL-CAD geometry to act as light sources.
    -- Subsurface Scattering (SSS): Essential for realistic skin, wax, and plastic.
    -- Volumetrics: Basic support for fog or smoke within the appleseed optics pipeline.

Expected Outcome

  • A production-stable version of the art utility capable of rendering complex scenes with full PBR fidelity.
  • Support for OSL shader networks, allowing users to use industry-standard material workflows.
  • A suite of "Production-Ready" demo scenes showing off complex materials (translucency, metallic flakes, textures) rendered directly from BRL-CAD .g files.
  • Documentation for the updated material system and an "art" manual page for PBR rendering in BRL-CAD.

Project Properties

Skills

Languages: C++, Open Shading Language (OSL).
Concepts: Physically-Based Rendering (PBR), Light Transport (Path Tracing), MaterialX.
APIs: appleseed API, BRL-CAD librt.

Difficulty

Hard (Reasoning: Requires a deep understanding of path tracing math and the ability to bridge two very different software architectures.)

Size

Long (350h)

Additional Information

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions