Renderer-Agnostic Material Library for Multi-Engine Graphics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current rendering applications require users to understand the specific interfaces and configurations of different rendering engines to achieve desired rendering effects, limiting the ability to switch between engines and implement materials across multiple rendering tools, especially for non-technical users like architects and engineers.

Innovation Solution

A renderer-agnostic method that allows materials to be represented independently from underlying rendering engines, enabling the extension of materials libraries and addition of new rendering engines, with each implementation tailored in the native language of the engine for optimized efficiency and quality, and a universal framework that translates material parameters across various rendering implementations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users switch between different rendering engines to achieve desired rendering effects, then rendering quality and versatility are improved, but the complexity of operation and configuration increases significantly

Engineering Contradiction:
Improverendering engine compatibilityVSAvoiduser operation complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a material library as an intermediary layer between the user and rendering engines. This material library provides a unified interface for defining materials that can be used across multiple rendering engines ( Mental Ray, RenderMan, V-Ray, etc.), eliminating the need for users to learn and configure different parameter sets for each engine. The material library translates high-level material definitions into engine-specific configurations automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The material library is designed with universal functionality to support multiple rendering engines simultaneously. A single material definition in the library can be applied across different rendering engines without modification, allowing the same material to function universally across Mental Ray, RenderMan, V-Ray, and other engines, thereby simplifying the user workflow while maintaining broad compatibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Manufacturing precision

If users configure specific parameters for each rendering engine to achieve desired effects, then rendering precision and control are improved, but the time required for configuration and setup increases

Engineering Contradiction:
Improverendering effect precisionVSAvoidconfiguration time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The material library allows users to pre-configure material parameters once in a unified format. These pre-configured materials can then be reused across multiple rendering engines and projects without reconfiguration. The system performs preliminary translation of material definitions into engine-specific parameters during the material creation phase, eliminating the need for repeated configuration work.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables users to create material templates in the library that can be copied and reused across different rendering engines. Once a material is defined in the library, it can be instantiated multiple times across different engines with consistent parameters, allowing users to replicate successful material configurations without manual re-setup, thereby reducing configuration time while maintaining precision.

Inventive Principle:
Principle #26Copying

3Reliability

If the system supports multiple rendering engines with native implementations, then rendering quality and engine-specific optimization are improved, but the system complexity and implementation difficulty increase

Engineering Contradiction:
Improverendering engine performanceVSAvoidsystem implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system architecture is segmented into distinct components: a core material library module that handles unified material definitions, and separate adapter modules for each rendering engine (Mental Ray, RenderMan, V-Ray, etc.). Each engine adapter is an independent component that translates the unified material format into engine-specific parameters. This segmentation allows the system to support multiple engines without increasing overall complexity, as each engine integration is isolated in its own module.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The material library serves as an intermediary layer that decouples the user interface from the rendering engine implementations. This intermediary handles the translation and adaptation between the unified material definition format and various engine-specific formats, shielding the core system from the complexity of multiple engine interfaces while maintaining native performance capabilities through engine-specific adapter implementations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9471996B2Method for creating graphical materials for universal rendering framework
Publication Date: 2016.10.18 AUTODESK INC
  • US9471996B2 patent drawing
  • US9471996B2 patent drawing
  • US9471996B2 patent drawing

AI summary

Embodiments of the invention provide a renderer-agnostic method for representing materials independently from an underlying rendering engine. Advantageously, materials libraries may be extended with new materials for rendering with an existing rendering engine and implementation. Also, new rendering engines and implementations may be added for existing materials. Thus, at run-time, rather than limiting the rendering to being performed on a pre-determined rendering engine, the rendering application may efficiently and conveniently manage rendering a graphics scene on a plurality of rendering engines or implementations.