| CPC G06T 19/20 (2013.01) [G06T 13/20 (2013.01); G06T 15/10 (2013.01); G06T 2200/24 (2013.01); G06T 2210/12 (2013.01); G06T 2219/2016 (2013.01)] | 18 Claims |

|
1. A method for rendering portions of editable product designs, the method comprising:
rendering an editable product design for viewing by a user within a first portion of a user interface and a second portion of the user interface, the editable product design being rendered within the second portion in a first configuration and a first orientation;
receiving, from the user interacting with the editable product design within the first portion of the user interface, a selection of a portion of the editable product design, wherein each respective portion of the editable product design includes one or more vertices defining a respective bounding box for the respective portion;
calculating, by a rendering algorithm, (a) an average normal vector in a first direction for the portion of the editable product design based on a vertex of the portion and (b) a center of the portion based on a bounding box of the portion;
generating, by the rendering algorithm, a ray emitting in the first direction that has an origin at the center of the portion;
determining, by the rendering algorithm based on the selection and whether the ray is occluded from display on the user interface, (i) whether to adjust the editable product design from the first configuration to a second configuration that causes the portion to be displayable on the user interface and (ii) whether to adjust the editable product design from the first orientation to a second orientation that causes the portion to be displayed on the user interface; and
based on the determining, rendering the editable product design within the second portion of the user interface in at least one of the second configuration or the second orientation in order to render the portion of the editable product design within the second portion of the user interface for viewing by the user.
|