Electronic Document Shadow Rendering via Bounding Box Rasterization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Document markup languages like OOXML often fail to reliably specify the bounding box for main objects, making it challenging to accurately render effects such as shadows and reflections in electronic documents.
Innovation Solution
A method and system for rendering pages that involve determining the bounding box of a main object, creating brushes for the object and its effects, and applying transformation matrices to map the object to its shadow and reflection, with instructions to paint these bounding boxes and composite reflections using a linear gradient opacity brush, ensuring accurate rendering of shadows and reflections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If document markup language (OOXML) is used to specify main object and effects, then users can specify effects to be applied to main objects, but the bounding box surrounding the main object cannot be reliably specified
Solution Approach 1:
The patent performs preliminary rasterization of the main object to determine its bounding box before applying shadow and reflection effects. This preliminary action resolves the contradiction by establishing an accurate bounding box measurement early in the process, which then serves as the foundation for subsequent effect applications.
Solution Approach 2:
The patent introduces a bounding box determination step as an intermediary between the markup language specification and the effect rendering. This intermediary process rasterizes the object to accurately determine the bounding box, bridging the gap between the unreliable markup language specification and the precise rendering requirements.
2Measurement precision
If rasterization is performed to obtain accurate bounding box, then the bounding box can be reliably determined, but the main object must be rasterized before effects can be applied
Solution Approach 1:
The patent performs preliminary rasterization to determine the bounding box, then uses this information to guide subsequent effect rendering. This preliminary action simplifies the overall process by establishing accurate geometric boundaries early, which then serve as templates for effect application without requiring repeated complex calculations.
Solution Approach 2:
The patent segments the rendering process into distinct phases: first determining the bounding box through preliminary rasterization, then applying shadow effects to the bounding box, and finally applying reflection effects. This segmentation reduces device complexity by breaking down the complex task into manageable, sequential steps with clear boundaries.
3Adaptability or versatility
If shadow and reflection effects are applied to the main object, then visual effects can be rendered, but inaccurate bounding boxes result in incorrect effect positioning and sizing
Solution Approach 1:
The patent uses the determined bounding box as an intermediary between the main object and the shadow/reflection effects. The bounding box serves as an accurate template that ensures effects are positioned and sized correctly, resolving the positioning accuracy issue while maintaining effect rendering versatility.
Solution Approach 2:
The patent creates shadow and reflection effects by copying the main object's bounding box and applying transformations to these copies. This copying approach ensures that effects are accurately positioned and sized relative to the main object, while allowing independent control of effect parameters for versatile rendering.
Data Source
AI summary
A method for rendering a page, including: obtaining an electronic document (ED) identifying a main object and multiple shadow parameters; determining a main bounding box surrounding the main object on the page; creating a main brush including the main object; calculating a shadow bounding box based on the main bounding box and at least one of the multiple shadow parameters; creating a shadow brush by applying a shadow transformation matrix to the main brush, where the shadow transformation matrix maps the main object to a shadow defined by the multiple shadow parameters; inserting, into a main display list for the page, a set of instructions to: paint the shadow bounding box with the shadow brush; and paint the main bounding box with the main brush.


