Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
3D LAUNCHER WITH 3D APP ICONS
Document Type and Number:
WIPO Patent Application WO/2022/047436
Kind Code:
A1
Abstract:
Novel tools and techniques are provided for implementing three-dimensional ("3D") launcher with 3D application ("app") icons. In various embodiments, a computing system may receive an application package associated with an application, and may determine whether the application package comprises a 3D profile of an application icon associated with the application. If so, the computing system may load a set of a 3D mesh and a 3D texture, based on the 3D profile of the application icon. If not, the computing system may load a set of a default 3D mesh and a default application icon of the application as texture data. The computing system may render the application icon as a 3D application icon, accordingly. The computing system may cause the 3D application icon to be displayed on a user interface that is displayed within a display screen of a user device.

Inventors:
YU ZHAN (US)
LI XIAOFENG (US)
ZHAO YIWEI (US)
Application Number:
PCT/US2021/054836
Publication Date:
March 03, 2022
Filing Date:
October 13, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INNOPEAK TECH INC (US)
International Classes:
G06T15/00
Foreign References:
US20190273707A12019-09-05
US20090213121A12009-08-27
US20170220226A12017-08-03
Attorney, Agent or Firm:
BRATSCHUN, Thomas D. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method, comprising: receiving, using a computing system and via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, loading, using the computing system, a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and rendering, using the computing system, the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and causing, using the computing system, the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

2. The method of claim 1, further comprising: based on a determination that the first application package does not contain a 3D profile of the first application icon, loading, using the computing system, a set of a default 3D mesh and a default application icon of the first application as texture data; and rendering, using the computing system, the first application icon as a 3D first application icon, based at least in part on the set of the default 3D mesh and the default application icon.

3. The method of claim 1 or 2, wherein the computing system comprises at least one of a 3D launcher, a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device, one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system.

4. The method of any of claims 1-3, wherein the computing system comprises an application icon manager and a Tenderer, wherein the application icon manager receives the first application package, determines whether the first application package comprises the 3D

38 profile of the first application icon, and loads the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon to the Tenderer, wherein the Tenderer renders the first application icon as a 3D first application icon.

5. The method of any of claims 1-4, further comprising: loading, using the Tenderer of the computing system, global render information, the global render information comprising at least one of scene camera pose, lighting condition, or zoom level; wherein rendering the first application icon as a 3D first application icon comprises rendering, using the Tenderer of the computing system, the first application icon as a 3D first application icon, based at least in part on the loaded global render information and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

6. The method of any of claims 1-5, further comprising: receiving, using a user input processor of an application icon manager of the computing system, one or more user inputs, the one or more user inputs comprising at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs, one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs; wherein rendering the first application icon as a 3D first application icon comprises rendering, using the Tenderer of the computing system, the first application icon as a 3D first application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

7. The method of any of claims 1-6, wherein the 3D profile of the first application icon further comprises an icon render frequency property based at least in part on different priorities that are based at least in part on one or more conditions, wherein the one or more conditions comprise at least one of power consumption level or level of performance tradeoff, wherein the icon render frequency property comprises one of a static icon, a low frequency

39 rendering icon, a medium frequency rendering icon, or a high frequency rendering icon, wherein the method further comprises: determining, using the application icon manager of the computing system, a rendering frequency of the 3D first application icon based at least in part on the icon render frequency property in the 3D profile of the first application icon and based at least in part on the at least one of power consumption level or level of performance tradeoff; wherein rendering the first application icon as a 3D first application icon comprises controlling, using the Tenderer of the computing system, one or more rendering threads for rendering the first application icon as the 3D first application icon based on the determined rendering frequency of the 3D first application icon.

8. The method of any of claims 1-7, wherein the first application icon is part of a group of application icons, wherein the method further comprises: generating, using the application icon manager of the computing system, a group of 3D- arranged application icons based on the group of application icons; rendering, using the Tenderer of the computing system, the generated group of 3D- arranged application icons; and causing, using the computing system, the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

9. The method of claim 8, wherein the 3D-arranged application icons comprise one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement.

10. The method of claim 8, further comprising: determining, using the application icon manager of the computing system, an order of the icons within the group of 3D-arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons;

40 autonomously reordering, using the application icon manager of the computing system, the icons within the group of 3D-arranged application icons based on the determination; re-rendering, using the Tenderer of the computing system, the group of 3D-arranged application icons based on the reordered icons within the group of 3D-arranged application icons; and causing, using the computing system, the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

11. The method of claim 8, further comprising: determining, using the application icon manager of the computing system, one or more animations associated with one or more of the group of 3D-arranged application icons, wherein the one or more animations comprise at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors; re-rendering, using the Tenderer of the computing system, the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D-arranged application icons; and causing, using the computing system, the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

12. The method of claim 8, further comprising: receiving, using a user input processor of the application icon manager, one or more navigation user inputs, the one or more navigation user inputs comprising at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D- arranged application icons; re-rendering, using the Tenderer of the computing system, the group of 3D-arranged application icons based on the received one or more navigation user inputs; and causing, using the computing system, the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

13. The method of any of claims 1-12, further comprising: receiving, using a user input processor of the application icon manager, an application launch request input from a user to launch the first application; determining, using the application icon manager of the computing system, whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device; based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, initiating, using the computing system, launch of the first application; and based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, preventing, using the computing system, launch of the first application.

14. An apparatus, comprising: at least one processor; and a non-transitory computer readable medium communicatively coupled to the at least one processor, the non-transitory computer readable medium having stored thereon computer software comprising a set of instructions that, when executed by the at least one processor, causes the apparatus to: receive, via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and render the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

15. The apparatus of claim 14, wherein the apparatus comprises at least one of a 3D launcher, a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device, one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system.

16. The apparatus of claim 14 or 15, wherein the apparatus comprises an application icon manager and a Tenderer, wherein the application icon manager receives the first application package, determines whether the first application package comprises the 3D profile of the first application icon, and loads the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon to the Tenderer, wherein the Tenderer renders the first application icon as a 3D first application icon.

17. A system, comprising: a computing system, comprising: an application icon manager; a Tenderer; at least one first processor; and a first non-transitory computer readable medium communicatively coupled to the at least one first processor, the first non-transitory computer readable medium having stored thereon computer software comprising a first set of instructions that, when executed by the at least one first processor, causes the computing system to: receive, using the application icon manager and via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application,

43 load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and render, using the Tenderer, the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

18. The system of claim 17, wherein the first set of instructions, when executed by the at least one first processor, further causes the computing system to: based on a determination that the first application package does not contain a 3D profile of the first application icon, load a set of a default 3D mesh and a default application icon of the first application as texture data; and render, using the Tenderer, the first application icon as a 3D first application icon, based at least in part on the set of the default 3D mesh and the default application icon.

19. The system of claim 17 or 18, wherein the computing system comprises at least one of a 3D launcher, a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device, one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system.

20. The system of any of claims 17-19, wherein the first set of instructions, when executed by the at least one first processor, further causes the computing system to: receive, using a user input processor of the application icon manager, one or more user inputs, the one or more user inputs comprising at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs, one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs;

44 wherein rendering the first application icon as a 3D first application icon comprises rendering the first application icon as a 3D first application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

21. The system of any of claims 17-20, wherein the first application icon is part of a group of application icons, wherein the first set of instructions, when executed by the at least one first processor, further causes the computing system to: generate, using the application icon manager, a group of 3D-arranged application icons; render, using the Tenderer, the generated group of 3D-arranged application icons; and cause, using the computing system, the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

22. The system of claim 21, wherein the 3D-arranged application icons comprise one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement

45

Description:
3D LAUNCHER WITH 3D APP ICONS

COPYRIGHT STATEMENT

[0001] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

FIELD

[0002] The present disclosure relates, in general, to methods, systems, and apparatuses for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing three-dimensional ("3D") launcher with 3D application ("app") icons.

BACKGROUND

[0003] Conventional launchers support very limited 3D content. Application icons included in the conventional launchers are mostly static images without any dynamic control. Existing launchers (such as Android and iOS launchers, or the like) only support two- dimensional ("2D") rendering and animation, and it is impossible to add 3D content. The app icons on existing launchers are static images with limited additional control for developers (e.g., an alert number, a pop-up menu, or the like). Dynamically displaying information in existing launchers is very difficult. Although conventional launchers support widgets, they are mostly stand-alone applications and are too heavy weight (i.e., requiring greater memory and/or other system resources, or the like) to be used as application icons.

[0004] Hence, there is a need for more robust and scalable solutions for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing 3D launcher with 3D app icons.

SUMMARY

[0005] The techniques of this disclosure generally relate to tools and techniques for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing 3D launcher with 3D app icons.

[0006] In an aspect, a method may comprise: receiving, using a computing system and via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, loading, using the computing system, a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and rendering, using the computing system, the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and causing, using the computing system, the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device. [0007] In another aspect, an apparatus might comprise at least one processor and a non- transitory computer readable medium communicatively coupled to the at least one processor. The non-transitory computer readable medium might have stored thereon computer software comprising a set of instructions that, when executed by the at least one processor, causes the apparatus to: receive, via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and render the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

[0008] In yet another aspect, a system might comprise a computing system, which might comprise an application icon manager, a Tenderer, at least one first processor, and a first non- transitory computer readable medium communicatively coupled to the at least one first processor. The first non-transitory computer readable medium might have stored thereon computer software comprising a first set of instructions that, when executed by the at least one first processor, causes the computing system to: receive, using the application icon manager and via a package management service ("PMS"), a first application package associated with a first application; based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; and render, using the Tenderer, the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture; and cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

[0009] Various modifications and additions can be made to the embodiments discussed without departing from the scope of the invention. For example, while the embodiments described above refer to particular features, the scope of this invention also includes embodiments having different combination of features and embodiments that do not include all of the above-described features.

[0010] The details of one or more aspects of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the techniques described in this disclosure will be apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] A further understanding of the nature and advantages of particular embodiments may be realized by reference to the remaining portions of the specification and the drawings, in which like reference numerals are used to refer to similar components. In some instances, a sub-label is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components.

[0012] Fig. 1 is a schematic diagram illustrating a system for implementing three- dimensional ("3D") launcher with 3D application ("app") icons, in accordance with various embodiments.

[0013] Fig. 2 is a schematic block flow diagram illustrating a non-limiting example of a method for implementing 3D launcher with 3D app icons, in accordance with various embodiments.

[0014] Figs. 3A-3E are schematic diagrams illustrating various non-limiting examples of 3D app icons and 3D app groups that may be rendered during implementation of 3D launcher with 3D app icons, in accordance with various embodiments.

[0015] Figs. 4A-4F are flow diagrams illustrating a method for implementing 3D launcher with 3D app icons, in accordance with various embodiments.

[0016] Fig. 5 is a block diagram illustrating an example of computer or system hardware architecture, in accordance with various embodiments.

[0017] Fig. 6 is a block diagram illustrating a networked system of computers, computing systems, or system hardware architecture, which can be used in accordance with various embodiments. DETAILED DESCRIPTION

[0018] Overview

[0019] Various embodiments provide tools and techniques for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing three-dimensional ("3D") launcher with 3D application ("app") icons.

[0020] In various embodiments, a computing system may receive, via a package management service ("PMS"), a first application package associated with a first application. Based on a determination that the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application, the computing system may load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon, and may render the first application icon as a 3D first application icon, based at least in part on the set of the 3D mesh and the 3D texture. The computing system may cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

[0021] According to some embodiments, based on a determination that the first application package does not contain a 3D profile of the first application icon, the computing system may load a set of a default 3D mesh and a default application icon of the first application as texture data, and may render the first application icon as a 3D first application icon, based at least in part on the set of the default 3D mesh and the default application icon. [0022] In some embodiments, the computing system may comprise at least one of a 3D launcher, a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device, one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system, and/or the like. Alternatively, or additionally, the computing system may comprise an application icon manager and a Tenderer. In some cases, the application icon manager may receive the first application package, may determine whether the first application package comprises the 3D profile of the first application icon, and may load the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon to the Tenderer. In some instances, the Tenderer may render the first application icon as a 3D first application icon.

[0023] According to some embodiments, the Tenderer of the computing system may load global render information, the global render information comprising at least one of scene camera pose, lighting condition, or zoom level, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the loaded global render information and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

[0024] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more user inputs, the one or more user inputs comprising at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs, one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon. [0025] In some embodiments, the 3D profile of the first application icon may further comprise an icon render frequency property based at least in part on different priorities that are based at least in part on one or more conditions. In some cases, the one or more conditions may comprise at least one of power consumption level or level of performance tradeoff, and/or the like. In some instances, the icon render frequency property may comprise one of a static icon, a low frequency rendering icon, a medium frequency rendering icon, or a high frequency rendering icon, and/or the like. The application icon manager of the computing system may determine a rendering frequency of the 3D first application icon based at least in part on the icon render frequency property in the 3D profile of the first application icon and based at least in part on the at least one of power consumption level or level of performance tradeoff. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system controlling one or more rendering threads for rendering the first application icon as the 3D first application icon based on the determined rendering frequency of the 3D first application icon.

[0026] According to some embodiments, the first application icon may be part of a group of application icons. The application icon manager of the computing system may generate a group of 3D-arranged application icons based on the group of application icons. The Tenderer of the computing system may render the generated group of 3D-arranged application icons. The computing system may cause the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0027] In some cases, the 3D-arranged application icons may comprise one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement. In some embodiments, the application icon manager of the computing system may determine an order of the icons within the group of 3D-arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons, and/or the like. The application icon manager of the computing system may autonomously reorder the icons within the group of 3D-arranged application icons based on the determination. The Tenderer of the computing system may re-render the group of 3D- arranged application icons based on the reordered icons within the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

[0028] Alternatively, or additionally, the application icon manager of the computing system may determine one or more animations associated with one or more of the group of 3D-arranged application icons. In some cases, the one or more animations may comprise at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors, and/or the like. The Tenderer of the computing system may re-render the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

[0029] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more navigation user inputs, the one or more navigation user inputs comprising at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D-arranged application icons, and/or the like. The Tenderer of the computing system may re-render the group of 3D- arranged application icons based on the received one or more navigation user inputs. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0030] In some embodiments, a user input processor of the application icon manager may receive an application launch request input from a user to launch the first application. The application icon manager of the computing system may determine whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device. Based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, the computing system may initiate launch of the first application. Based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, the computing system may prevent launch of the first application.

[0031] The various aspects described herein provide 3D launcher that renders 2D app icons into 3D app icons. In this manner, app icons may be dynamically rendered rather than left as static 2D icons as in conventional launchers.

[0032] These and other aspects of the system and method for implementing 3D launcher with 3D app icons are described in greater detail with respect to the figures.

[0033] The following detailed description illustrates a few embodiments in further detail to enable one of skill in the art to practice such embodiments. The described examples are provided for illustrative purposes and are not intended to limit the scope of the invention. [0034] In the following description, for the purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the described embodiments. It will be apparent to one skilled in the art, however, that other embodiments of the present invention may be practiced without some of these details. In other instances, some structures and devices are shown in block diagram form. Several embodiments are described herein, and while various features are ascribed to different embodiments, it should be appreciated that the features described with respect to one embodiment may be incorporated with other embodiments as well. By the same token, however, no single feature or features of any described embodiment should be considered essential to every embodiment of the invention, as other embodiments of the invention may omit such features. [0035] Unless otherwise indicated, all numbers used herein to express quantities, dimensions, and so forth used should be understood as being modified in all instances by the term "about." In this application, the use of the singular includes the plural unless specifically stated otherwise, and use of the terms "and" and "or" means "and/or" unless otherwise indicated. Moreover, the use of the term "including," as well as other forms, such as "includes" and "included," should be considered non-exclusive. Also, terms such as "element" or "component" encompass both elements and components comprising one unit and elements and components that comprise more than one unit, unless specifically stated otherwise.

[0036] Various embodiments as described herein - while embodying (in some cases) software products, computer-performed methods, and/or computer systems - represent tangible, concrete improvements to existing technological areas, including, without limitation, icon rendering technology, application icon rendering technology, launcher technology, 3D launcher technology, and/or the like. In other aspects, some embodiments can improve the functioning of user equipment or systems themselves (e.g., icon rendering systems, application icon rendering systems, launcher systems, 3D launcher systems, etc.), for example, by receiving, using a computing system and via a package management service ("PMS"), a first application package associated with a first application; determining, using the computing system, whether the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application; based on a determination that the first application package comprises a 3D profile of the first application icon, loading, using the computing system, a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon; based on a determination that the first application package does not contain a 3D profile of the first application icon, loading, using the computing system, a set of a default 3D mesh and a default application icon of the first application as texture data; rendering, using the computing system, the first application icon as a 3D first application icon, based at least in part on one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon; and causing, using the computing system, the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device; and/or the like.

[0037] In particular, to the extent any abstract concepts are present in the various embodiments, those concepts can be implemented as described herein by devices, software, systems, and methods that involve novel functionality (e.g., steps or operations), such as, rendering and displaying application icons as 3D application icons, and/or the like, to name a few examples, that extend beyond mere conventional computer processing operations. These functionalities can produce tangible results outside of the implementing computer system, including, merely by way of example, providing a 3D launcher that renders 2D app icons as 3D app icons, where app icons may be dynamically rendered in 3D rather than left as static 2D icons as in conventional launchers, which may be observed or measured by users, game/content developers, and/or user device manufacturers.

[0038] Some Embodiments

[0039] We now turn to the embodiments as illustrated by the drawings. Figs. 1-6 illustrate some of the features of the method, system, and apparatus for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing three-dimensional ("3D") launcher with 3D application ("app") icons, as referred to above. The methods, systems, and apparatuses illustrated by Figs. 1-6 refer to examples of different embodiments that include various components and steps, which can be considered alternatives or which can be used in conjunction with one another in the various embodiments. The description of the illustrated methods, systems, and apparatuses shown in Figs. 1-6 is provided for purposes of illustration and should not be considered to limit the scope of the different embodiments.

[0040] With reference to the figures, Fig. 1 is a schematic diagram illustrating a system 100 for implementing three-dimensional ("3D") launcher with 3D application ("app") icons, in accordance with various embodiments.

[0041] In the non-limiting embodiment of Fig. 1, system 100 may comprise computing system 105, which may include, but is not limited to, a three dimensional ("3D") launcher 110 and one or more central processing units and/or graphics processing units ("CPUs/GPUs") 125a-125n (collectively, "CPUs/GPUs 125" or the like). The 3D launcher 110 may include, without limitation, an application icon manager 115 and/or a Tenderer 120. The computing system 105 either may be an integrated computing system 105a as part of a user device 130 or may be a remote computing system 105b (in some cases, as part of a network(s) 175, or the like), and/or the like. In some embodiments, the computing system 105 may include, but is not limited to, at least one of a 3D launcher (e.g., 3D launcher 110, or the like), a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device (e.g., user device 130, or the like), one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system, and/or the like. [0042] In some embodiments, the user device 130 may include, without limitation, at least one of computing system 105a, user input device 135a, system composer 140a, package management service ("PMS") 145a, data storage 150a, communications system 155, display screen 160a, or audio playback device 165, and/or the like. In some cases, system 100 may further comprise database(s) 150b in network(s) 175 that is communicatively coupled to computing system 105b. System 100 may further comprise network-based system composer 140b and network-based PMS 145b (and corresponding database(s) 170) in network(s) 175. System 100 may further comprise at least one of user input devices 135b, display devices 160b, and/or other user devices 180, and/or the like. Each of user device 130, user input devices 135b, display devices 160b, and/or other user devices 180, or the like, may communicatively couple to at least one of computing system 105b, network-based system composer 140b, network-based PMS 145b, and/or each other via network(s) 175 and via wired communications lines and/or via wireless communications lines (as depicted in Fig. 1 by lightning bolt symbols).

[0043] In some embodiments, networks 175 may each include, without limitation, one of a local area network ("LAN"), including, without limitation, a fiber network, an Ethernet network, a Token-Ring™ network, and/or the like; a wide-area network ("WAN"); a wireless wide area network ("WWAN"); a virtual network, such as a virtual private network ("VPN"); the Internet; an intranet; an extranet; a public switched telephone network ("PSTN"); an infrared network; a wireless network, including, without limitation, a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth™ protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks. In a particular embodiment, the network(s) 175 may include an access network of the service provider (e.g., an Internet service provider ("ISP")). In another embodiment, the network(s) 175 may include a core network of the service provider and/or the Internet.

[0044] In operation, computing system 105, 105a, or 105b (collectively, "computing system" or the like) may receive, via a package management service (e.g., PMS 145a or 145b, or the like), a first application package (e.g., application package 185, or the like) associated with a first application. The computing system may determine whether the first application package comprises a 3D profile of a first application icon associated with the first application. Based on a determination that the first application package comprises a 3D profile of the first application icon, the computing system may load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon. Based on a determination that the first application package does not contain a 3D profile of the first application icon, the computing system may load a set of a default 3D mesh and a default application icon of the first application as texture data. The computing system may render the first application icon as a 3D first application icon (e.g., as rendered image(s) 195, or the like), based at least in part on one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon (collectively, "application icon information 190" or the like). The computing system may cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen (e.g., display screen 160a or display devices 160b, or the like) of a user device (e.g., user device 130 or other user devices 180, or the like).

[0045] In some embodiments, an application icon manager (e.g., app icon manager 115, or the like) may receive the first application package, may determine whether the first application package comprises the 3D profile of the first application icon, and may load the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon to the Tenderer. In some instances, the Tenderer may render the first application icon as a 3D first application icon.

[0046] According to some embodiments, the Tenderer (e.g., Tenderer 120, or the like) of the computing system may load global render information, the global render information including, without limitation, at least one of scene camera pose, lighting condition, or zoom level, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the loaded global render information and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

[0047] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more user inputs, the one or more user inputs including, but not limited to, at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs (e.g., pinching inputs, i.e., pinching in to zoom in and pinching out to zoom out, or the like), one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon. [0048] In some embodiments, the 3D profile of the first application icon may further comprise an icon render frequency property based at least in part on different priorities that are based at least in part on one or more conditions. In some cases, the one or more conditions may include at least one of power consumption level or level of performance tradeoff, and/or the like. In some instances, the icon render frequency property may include one of a static icon, a low frequency rendering icon, a medium frequency rendering icon, or a high frequency rendering icon, and/or the like. The application icon manager of the computing system may determine a rendering frequency of the 3D first application icon based at least in part on the icon render frequency property in the 3D profile of the first application icon and based at least in part on the at least one of power consumption level or level of performance tradeoff. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system controlling one or more rendering threads for rendering the first application icon as the 3D first application icon based on the determined rendering frequency of the 3D first application icon.

[0049] According to some embodiments, the first application icon may be part of a group of application icons. The application icon manager of the computing system may generate a group of 3D-arranged application icons based on the group of application icons. The Tenderer of the computing system may render the generated group of 3D-arranged application icons. The computing system may cause the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0050] In some cases, the 3D-arranged application icons may include one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement. In some embodiments, the application icon manager of the computing system may determine an order of the icons within the group of 3D-arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons, and/or the like. The application icon manager of the computing system may autonomously reorder the icons within the group of 3D-arranged application icons based on the determination. The Tenderer of the computing system may re-render the group of 3D- arranged application icons based on the reordered icons within the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0051] Alternatively, or additionally, the application icon manager of the computing system may determine one or more animations associated with one or more of the group of 3D-arranged application icons. In some cases, the one or more animations may include, without limitation, at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors, and/or the like. The Tenderer of the computing system may rerender the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0052] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more navigation user inputs, the one or more navigation user inputs may include, but are not limited to, at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D- arranged application icons, and/or the like. The Tenderer of the computing system may rerender the group of 3D-arranged application icons based on the received one or more navigation user inputs. The computing system may cause the re-rendered group of 3D- arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

[0053] In some embodiments, a user input processor of the application icon manager may receive an application launch request input from a user to launch the first application. The application icon manager of the computing system may determine whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device. Based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, the computing system may initiate launch of the first application. Based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, the computing system may prevent launch of the first application. [0054] These and other functions of the system 100 (and its components) are described in greater detail below with respect to Figs. 2-4.

[0055] Fig. 2 is a schematic block flow diagram illustrating a non-limiting example 200 of a method for implementing 3D launcher with 3D app icons, in accordance with various embodiments.

[0056] With reference to the non-limiting example 200 of Fig. 2, 3D launcher 110 (similar to 3D launcher 110 of Fig. 1, or the like) may include, but is not limited to, application icon manager 115 (similar to application icon manager 115 of Fig. 1, or the like) and Tenderer 120 (similar to Tenderer 120 of Fig. 1, or the like). The application icon manager 115 may include, without limitation, at least one of user input processor 215, launch control system 220, or application icon arrangement system 225, and/or the like. The Tenderer 120 may include, but is not limited to, at least one of scene animation and update system 230, material manager 235, camera control system 240, light control system 245, or thread manager 250, and/or the like.

[0057] In some embodiments, the user input processor 215 may receive and process user inputs from user device 130/180 (similar to user devices 130 and/or 180 of Fig. 1, or the like). In some instances, user inputs may include, but are not limited to, at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs (e.g., pinching inputs, i.e., pinching in to zoom in and pinching out to zoom out, or the like), one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs, and/or the like.

[0058] The launch control system 220 may send a launch command to at least one applicable application package among the one or more application packages A-N 185a-185n (collectively, "app packages 185" or the like) corresponding to at least one applicable application icon, in some cases, based at least in part on icon selection inputs, icon manipulation inputs, and/or other user inputs, or the like. Package management service system 145 (similar to PMS 145a or 145b of Fig. 1, or the like) may receive application package information (similar to app package 185 of Fig. 1, or the like) from the at least one applicable application package. Each app package 185 may or may not include a 3D profile 205, and may or may not include icon information 210. The package management service system 145 may relay application icon information (similar to app icon information 190 of Fig. 1, or the like) to the application icon manager 115 of 3D launcher 110. [0059] The application icon arrangement system 225 may generate commands for arranging each of the at least one applicable application icon based at least in part on the user inputs and the application icon information, or the like. The application icon manager 115 may send application icon information and updates (based on the generated commands) to Tenderer 120. Based at least in part on the generated commands, the application icon information and updates, and/or user inputs, or the like, Tenderer 120 may render each of the at least one applicable application icon as a 3D application icon. In some instances, the scene animation and update system 230 may control rendering of scene animations and any icon change or movement updates for rendering each 3D application icon. The material manager 235 may control rendering of material textures on models of each 3D application icon. The camera control system 240 may control rendering of changes to each 3D application icon based on camera perspective changes (e.g., based on camera pan, tilt, and/or zoom functions, or the like). The light control system 245 may control rendering of each 3D application icon based on lighting control (e.g., based on angle, color/tint, and/or focused/diffuse aspects of the light, or the like).

[0060] The thread manager 250 may control rendering of one or more rendering threads for rendering the first application icon as the 3D first application icon, in some cases, based on rendering frequency of the 3D first application icon that may be based at least in part on the icon render frequency property in the 3D profile of the first application icon and based at least in part on the at least one of power consumption level or level of performance tradeoff. For example, the 3D launcher may read the profiles (e.g., the 3D profiles, or the like) of each application through the package management service 145 and may arrange (using the app icon arrangement system 225, or the like) based on the launcher layout and may refresh priority. The rearranged application icons may be fed into the internal Tenderer (e.g., Tenderer 120, or the like) to animate and to update the 3D scene geometry. In some cases, global render information (including, but not limited to, scene camera pose, lighting condition, etc.) may be used by the 3D launcher to control the rendering of each 3D icon. The application may modify a few attributes in the profile in order to customize the rendering behavior. The Tenderer 120 in the launcher may control one or more threads for rendering app icons at different priorities due to power consumption and performance tradeoff, or the like. Each application may indicate the rendering frequency by setting the icon render frequency property in the profile. In some instances, to save power, the system (and/or the user) may choose to use static icons or low frequency rendering icons, or the like. [0061] According to some embodiments, Tenderer 120 may render each of the at least one applicable application icon as a 3D first application icon, in some cases, based at least in part on one of the set of the 3D mesh and the 3D texture (in the case that an applicable application package comprises a 3D profile of corresponding application icon, or the like) or the set of the default 3D mesh and the default application icon (in the case that an applicable application package does not contain a 3D profile of corresponding application icon, or the like); based at least in part on the loaded global render information (which may include, without limitation, at least one of scene camera pose, lighting condition, or zoom level, and/or the like) and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon; based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon; or based on the determined rendering frequency of the 3D first application icon; and/or the like.

[0062] System composer 140 (similar to system composer 140a and/or 140b, or the like) may send current back buffer data to the Tenderer 120, and may receive rendered back buffer data from the Tenderer 120 based on the rendering of each of the at least one applicable application icon as a 3D application icon. The system composer 140 may send display buffer data based on the rendered back buffer data (similar to rendered image(s) 195 of Fig. 1, or the like), and may cause the user device 130/180 to display the rendered 3D application icons on a user interface that is displayed within a display screen of the user device 130/180.

[0063] In some embodiments, each of the at least one applicable application icon may be part of a group of application icons. The application icon manager 115 may generate a group of 3D-arranged application icons based on the group of application icons. The Tenderer 120 may render the generated group of 3D-arranged application icons. The 3D launcher 110 may cause the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device 130/180.

[0064] In some cases, the 3D-arranged application icons may include one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement. In some embodiments, the application icon manager 115 may determine an order of the icons within the group of 3D- arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons, and/or the like. The application icon manager 115 may autonomously reorder the icons within the group of 3D-arranged application icons based on the determination. The Tenderer 120 may rerender the group of 3D-arranged application icons based on the reordered icons within the group of 3D-arranged application icons. The 3D launcher 110 may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device 130/180.

[0065] Alternatively, or additionally, the application icon manager 115 may determine one or more animations associated with one or more of the group of 3D-arranged application icons. In some cases, the one or more animations may include, without limitation, at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors, and/or the like. The Tenderer 120 may re-render the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D- arranged application icons. The 3D launcher 110 may cause the re-rendered group of 3D- arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device 130/180.

[0066] Alternatively, or additionally, a user input processor 215 of the application icon manager 115 may receive one or more navigation user inputs, the one or more navigation user inputs including, but not limited to, at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D-arranged application icons, and/or the like. The Tenderer 120 may re-render the group of 3D-arranged application icons based on the received one or more navigation user inputs. The 3D launcher 110 may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device 130/180.

[0067] In some embodiments, user input processor 215 of the application icon manager 115 may receive an application launch request input from a user to launch the first application. The application icon manager 115 may determine whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device 130/180. Based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, the 3D launcher 110 may initiate launch of the first application. Based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, the 3D launcher 110 may prevent launch of the first application.

[0068] 3D launcher 110, application icon manager 115, Tenderer 120, user device 130/180, system composer 140, package management service system 145, application package information, application icon information, and rendered back buffer data of system 200 in Fig. 2 may be similar to 3D launcher 110, application icon manager 115, Tenderer 120, user device 130 and/or 180, system composer 140a and/or 140b, package management service system 145a and/or 145b, app packages 185, app icon information 190, and rendered image(s) 195, respectively, of system 100 in Fig. 1, and the descriptions of these components of system 100 (and their functions) are applicable to the corresponding components of system 200, respectively.

[0069] These and other functions of the system 200 (and its components) are described in greater detail below with respect to Figs. 1, 3, and 4.

[0070] Figs. 3A-3E (collectively, "Fig. 3") are schematic diagrams illustrating various non-limiting examples 300, 300', 300", 300"', and 300"" of 3D app icons and 3D app groups that may be rendered during implementation of 3D launcher with 3D app icons, in accordance with various embodiments.

[0071] With reference to the non-limiting example 300 of Fig. 3 A, using a 3D profile 305, which may include, without limitation, references to a model (in this case, "./model.obj" referencing model 310, or the like) and a texture (in this case, "./texture.png" referencing texture 315, or the like). By rendering to apply the texture 315 (in this case, a 2D texture representative of a world map, or the like) to the model 310 (in this case, a 3D object representative of a sphere, or the like), the result 320 may be a globe (in this case, a 3D spherical model of Earth and its countries and territories in map form, or the like).

[0072] According to some embodiments, for developers who want to customize the 3D appearance in a 3D launcher (which may refer to a user interface ("UI"), such as a splash page, a lander page, or a UI with groups of app icons, and/or the like), the developers must include a 3D profile (or 3D launcher profile, or the like), or the like. The 3D profile defines the 3D behavior including, but not limited to, the location of the model file, the texture file, and/or the like. Applications without the 3D profile will fall back to default billboard render using original bitmap icon as the texture, or the like.

[0073] In some embodiments, the 3D profile 305 of an application (such as a 3D profile associated with a particular application package 185 among a plurality of application packages 185a-185n, as shown in Fig. 2, or the like) may provide a framework with which to facilitate rendering an icon associated with the application as a 3D icon. In some instances, a computing system may determine whether an application package comprises a 3D profile 305 by reading or scanning the application package to identify the presence or absence of a model object file and a texture file. In some cases, identifying the presence or absence of a model object file and a texture file may be based, e.g., on presence or absence of a filename extension or a file type associated with such files (in this case, ".obj" and ".png," or the like, but not limited to these particular model file types or image file types, or the like). Alternatively, or additionally, identifying the presence or absence of a model object file and a texture file may be based, e.g., on at least one of header information within files contained in the application package or other indications contained in the application package that are indicative of presence or absence of a model object file or a texture file, or the like.

[0074] Referring to the non-limiting example 300' of Fig. 3B, the computing system 105 and/or the 3D launcher 110 of Figs. 1 and 2 may replace conventional icon 325 (in this case, an e-mail icon indicating 5 new messages, or the like) with a rendered one or more 3D icons 330 (in this case, including, but not limited to, a front view 330a depicting a bundle of envelopes denoting e-mail messages, which may be rotated in response to a user rotating a user device (e.g., user device 130 and/or 180 of Figs. 1 and 2, or the like) or tilting its viewing angle; a cascade view 330b depicting the bundle of envelopes slightly spread apart; a sneak peek 330c depicting the slightly spread apart bundle of envelopes with the option for the user to utilize a swipe function or command to cause one or more envelopes to be selected out of the bundle for viewing; and/or the like). In Fig. 3B, the bundle of envelopes may be referred to as being in a cascade arrangement or the like. In some embodiments, 3D launcher 110 may be used in mainstream operating systems (e.g., Android OS, iOS, or the like) to support 3D rendering and animation of application icons in such OS's. Applications can rely on 3D rendering to display more important information dynamically. For example, app icons may rely on gyroscope-based inputs from a user device to cause the 3D launcher 110 to change the viewing angle and/or other human gestures to rotate the 3D app icons, or the like.

[0075] Turning to the non-limiting example 300" of Fig. 3C, instead of a conventional app group 335, in which a box 335a containing a plurality of app icons may be enlarged in response to a click function or command to become a large box 335b containing the same, the computing system 105 and/or the 3D launcher 110 of Figs. 1 and 2 may render one or more 3D app groups 340 (in this case, including, but not limited to, a front view 340a depicting a bundle of application icons, which may be rotated in response to a user rotating a user device (e.g., user device 130 and/or 180 of Figs. 1 and 2, or the like) or tilting its viewing angle; a cascade view 340b depicting the bundle of app icons slightly spread apart with the option for the user to utilize a tap or select function or command to open a selected application; a reordering 340c depicting the slightly spread apart bundle of app icons with the option for the user to utilize a swipe function or command to cause one or more envelopes to be selected out of the bundle for re-ordering within the list or bundle of app icons; and/or the like). In Fig. 3C, the bundle of app icons may be referred to as being in a cascade arrangement or the like. According to some embodiments, app icons may be grouped on the z-axis of the 3D space, where 3D movement of the user device may allow hidden layers within the group of cascaded 3D application icons (i.e., with overlapping two or more of the group of application icons in the cascade arrangement, such as shown in the cascade view 340b in Fig. 3C, or the like) to become visible to the user (at least temporarily), enabling a sneak peek of the 3D application icons in the app group.

[0076] In some embodiments, alternative or additional to manual re-ordering as described above (i.e., re-ordering in response to user input, or the like), the computing system 105 and/or the 3D launcher 110 of Figs. 1 and 2 may support automatic re-ordering, in some cases, by moving the most recently used application's icon to the front, or by moving a received notification to the front. Alternatively, or additionally, the computing system 105 and/or the 3D launcher 110 of Figs. 1 and 2 may also support animations, including, but not limited to, automatic rotation, translation, etc. In some instances, the computing system 105 and/or the 3D launcher 110 of Figs. 1 and 2 may also enable customization of icon behaviors, in some cases, by providing scripts or the like. For example, an e-mail app could use the number of mails in the icon to indicate how many new e-mails are there, and may also support swipe gestures or the like to sneak peek e-mails (such as shown in Fig. 3B, or the like).

[0077] With reference to the non-limiting example 300"' of Fig. 3D, a group of layered 3D application icons 345 with two or more layers of the group of application icons 355 in a layered arrangement. The application icons 355 and/or the layered grouping 345 of the application icons 355 may be manipulated or selected using one or more user devices 350 (in this case, a virtual reality system, a smart phone, and/or the like), in a manner as described above with respect to Figs. 1 and 2. In some instances, 3D layout of app icons may also be easily supported, enabling a full 3D browsing of existing apps. For example, instead of using a swipe gesture or the like to view another page of app icons, one could press and move forward on the depth dimension to view another layer of app icons, to quickly access certain apps, or the like. [0078] Referring to the non-limiting example 300"" of Fig. 3E, a group of layered 3D application icons 360 with two or more layers of the group of application icons 355 in a layered arrangement. The application icons 355 and/or the layered grouping 360 of the application icons 355 may be manipulated or selected using one or more user devices 350 (in this case, a smart phone, and/or the like), in a manner as described above with respect to Figs.

1 and 2. For instance, a user input processor of an application icon manager (similar to application icon manager 115 of Figs. 1 and 2, or the like) may receive an application launch request input from a user to launch a first application. The application icon manager may determine whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device. Based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application (depicted in Fig. 3E by the line and circle notation indicating "Hit App Icon," or the like), the computing system or 3D launcher (e.g., computing system 105 or 3D launcher 110 of Figs. 1 and 2, or the like) may initiate launch of the first application. Based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application (depicted in Fig. 3E by the line indicating "Miss App Icon," or the like), the computing system or 3D launcher may prevent launch of the first application. In other words, the 3D launcher may capture user inputs by conducting 3D icon picking in the scene and may launch the corresponding apps by sending launch intents to the package management service (such as described above with respect to Fig. 2, or the like).

[0079] Figs. 4A-4F (collectively, "Fig. 4") are flow diagrams illustrating a method 400 for implementing 3D launcher with 3D app icons, in accordance with various embodiments. Method 400 of Fig. 4A either continues onto Fig. 4B following the circular marker denoted, "A," and/or continues onto Fig. 4F following the circular marker denoted, "B." Method 400 of Fig. 4B continues onto at least one of Fig. 4C following the circular marker denoted, "C," Fig. 4D following the circular marker denoted, "D," and/or Fig. 4E following the circular marker denoted, "E."

[0080] While the techniques and procedures are depicted and/or described in a certain order for purposes of illustration, it should be appreciated that certain procedures may be reordered and/or omitted within the scope of various embodiments. Moreover, while the method 400 illustrated by Fig. 4 can be implemented by or with (and, in some cases, are described below with respect to) the systems, examples, or embodiments 100, 200, 300, 300', 300", 300"', and 300"" of Figs. 1, 2, 3A, 3B, 3C, 3D, and 3E, respectively (or components thereof), such methods may also be implemented using any suitable hardware (or software) implementation. Similarly, while each of the systems, examples, or embodiments 100, 200, 300, 300', 300", 300'", and 300"" of Figs. 1, 2, 3A, 3B, 3C, 3D, and 3E, respectively (or components thereof), can operate according to the method 400 illustrated by Fig. 4 (e.g., by executing instructions embodied on a computer readable medium), the systems, examples, or embodiments 100, 200, 300, 300', 300", 300'", and 300"" of Figs. 1, 2, 3A, 3B, 3C, 3D, and 3E can each also operate according to other modes of operation and/or perform other suitable procedures.

[0081] In the non-limiting embodiment of Fig. 4A, method 400, at block 402, may comprise receiving, using a computing system and via a package management service ("PMS"), a first application package associated with a first application. At block 404, method 400 may comprise determining, using the computing system, whether the first application package comprises a three dimensional ("3D") profile of a first application icon associated with the first application. If so, method 400 may continue onto the process at block 406. If not, method 400 may continue onto the process at block 408. Method 400 may further comprise, based on a determination that the first application package comprises a 3D profile of the first application icon, loading, using the computing system, a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon (block 406). Method 400 may continue onto the process at block 416.

[0082] Method 400 may further comprise, based on a determination that the first application package does not contain a 3D profile of the first application icon, loading, using the application icon manager of the computing system, a set of a default 3D mesh and a default application icon of the first application as texture data (block 408). Method 400 may continue onto the process at block 416. Method 400 may further comprise at least one of: loading, using the Tenderer of the computing system, global render information, the global render information including, without limitation, at least one of scene camera pose, lighting condition, or zoom level, and/or the like (block 410); receiving, using a user input processor of the application icon manager, one or more user inputs, the one or more user inputs including, but not limited to, at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs (e.g., pinching inputs, i.e., pinching in to zoom in and pinching out to zoom out, or the like), one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs, and/or the like (block 412); and/or determining, using the application icon manager of the computing system, a rendering frequency of the 3D first application icon based at least in part on an icon render frequency property in the 3D profile of the first application icon and based at least in part on at least one of power consumption level or level of performance tradeoff (block 414). In some cases, the 3D profile of the first application icon may include, but is not limited to, an icon render frequency property based at least in part on different priorities that are based at least in part on one or more conditions. In some instances, the one or more conditions may include, without limitation, at least one of power consumption level or level of performance tradeoff. In some cases, the icon render frequency property may include, but is not limited to, one of a static icon, a low frequency rendering icon, a medium frequency rendering icon, or a high frequency rendering icon, and/or the like. Method 400 may continue onto the process at block 416. [0083] At block 416, method 400 may comprise rendering, using the Tenderer of the computing system, the first application icon as a 3D first application icon, in some cases, based at least in part on one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon, based at least in part on the loaded global render information and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon, or based on the determined rendering frequency of the 3D first application icon, and/or the like.

[0084] Method 400, at block 418, may comprise causing, using the computing system, the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

[0085] In some embodiments, the computing system may comprise at least one of a 3D launcher, a machine learning system, an artificial intelligence ("Al") system, a deep learning system, a neural network, a processor on the user device, one or more graphics processing units ("GPUs"), a server computer over a network, a cloud computing system, or a distributed computing system, and/or the like. [0086] Method 400 either may continue onto the process at block 420 in Fig. 4B following the circular marker denoted, "A," or may continue onto the process at block 446 in Fig. 4F following the circular marker denoted, "B."

[0087] In some embodiments, the first application icon may be part of a group of application icons. At block 420 in Fig. 4B (following the circular marker denoted, "A"), method 400 may comprise generating, using the application icon manager of the computing system, a group of 3D-arranged application icons based on the group of application icons; rendering, using the Tenderer of the computing system, the generated group of 3D-arranged application icons (block 422); and causing, using the computing system, the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device (block 424). According to some embodiments, the 3D- arranged application icons may comprise one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement.

[0088] Method 400 may continue onto the process at block 426 in Fig. 4C following the circular marker denoted, "C," may continue onto the process at block 434 in Fig. 4D following the circular marker denoted, "D," and/or may continue onto the process at block 440 in Fig. 4E following the circular marker denoted, "E."

[0089] At block 426 in Fig. 4C (following the circular marker denoted, "C," in Fig. 4B), method 400 may comprise determining, using the application icon manager of the computing system, an order of the icons within the group of 3D-arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons, and/or the like; autonomously reordering, using the application icon manager of the computing system, the icons within the group of 3D-arranged application icons based on the determination (block 428); re-rendering, using the Tenderer of the computing system, the group of 3D-arranged application icons based on the reordered icons within the group of 3D-arranged application icons (block 430); and causing, using the computing system, the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device (block 432).

[0090] At block 434 in Fig. 4D (following the circular marker denoted, "D," in Fig. 4B), method 400 may comprise determining, using the application icon manager of the computing system, one or more animations associated with one or more of the group of 3D-arranged application icons, wherein the one or more animations comprise at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors; re-rendering, using the Tenderer of the computing system, the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D- arranged application icons (block 436); and causing, using the computing system, the rerendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device (block 438).

[0091] At block 440 in Fig. 4E (following the circular marker denoted, "E," in Fig. 4B), method 400 may comprise receiving, using a user input processor of the application icon manager, one or more navigation user inputs, the one or more navigation user inputs comprising at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D-arranged application icons, and/or the like; re-rendering, using the Tenderer of the computing system, the group of 3D- arranged application icons based on the received one or more navigation user inputs (block 442); and causing, using the computing system, the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device (block 444).

[0092] At block 446 in Fig. 4F (following the circular marker denoted, "F," in Fig. 4A), method 400 may comprise receiving, using a user input processor of the application icon manager, an application launch request input from a user to launch the first application; determining, using the application icon manager of the computing system, whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device (block 448); based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, initiating, using the computing system, launch of the first application (block 450); and based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, preventing, using the computing system, launch of the first application (block 452). [0093] Examples of System and Hardware Implementation

[0094] Fig. 5 is a block diagram illustrating an example of computer or system hardware architecture, in accordance with various embodiments. Fig. 5 provides a schematic illustration of one embodiment of a computer system 500 of the service provider system hardware that can perform the methods provided by various other embodiments, as described herein, and/or can perform the functions of computer or hardware system (i.e., computing systems 105, 105a, and 105b, three-dimensional ("3D") launcher 110, central processing units and/or graphics processing units ("CPUs/GPUs") 125a-125n, user devices 130 and 180, user input devices 135a and 135b, system composers 140, 140a, and 140b, package management services 145, 145a, and 145b, etc.), as described above. It should be noted that Fig. 5 is meant only to provide a generalized illustration of various components, of which one or more (or none) of each may be utilized as appropriate. Fig. 5, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.

[0095] The computer or hardware system 500 - which might represent an embodiment of the computer or hardware system (i.e., computing systems 105, 105a, and 105b, 3D launcher 110, CPUs/GPUs 125a-125n, user devices 130 and 180, user input devices 135a and 135b, system composers 140, 140a, and 140b, package management services 145, 145a, and 145b, etc.), described above with respect to Figs. 1-4 - is shown comprising hardware elements that can be electrically coupled via a bus 505 (or may otherwise be in communication, as appropriate). The hardware elements may include one or more processors 510, including, without limitation, one or more general-purpose processors and/or one or more specialpurpose processors (such as microprocessors, digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 515, which can include, without limitation, a mouse, a keyboard, and/or the like; and one or more output devices 520, which can include, without limitation, a display device, a printer, and/or the like.

[0096] The computer or hardware system 500 may further include (and/or be in communication with) one or more storage devices 525, which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory ("RAM") and/or a read-only memory ("ROM"), which can be programmable, flash-updateable, and/or the like. Such storage devices may be configured to implement any appropriate data stores, including, without limitation, various file systems, database structures, and/or the like. [0097] The computer or hardware system 500 might also include a communications subsystem 530, which can include, without limitation, a modem, a network card (wireless or wired), an infra-red communication device, a wireless communication device and/or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a WWAN device, cellular communication facilities, etc.), and/or the like. The communications subsystem 530 may permit data to be exchanged with a network (such as the network described below, to name one example), with other computer or hardware systems, and/or with any other devices described herein. In many embodiments, the computer or hardware system 500 will further comprise a working memory 535, which can include a RAM or ROM device, as described above.

[0098] The computer or hardware system 500 also may comprise software elements, shown as being currently located within the working memory 535, including an operating system 540, device drivers, executable libraries, and/or other code, such as one or more application programs 545, which may comprise computer programs provided by various embodiments (including, without limitation, hypervisors, VMs, and the like), and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods. [0099] A set of these instructions and/or code might be encoded and/or stored on a non- transitory computer readable storage medium, such as the storage device(s) 525 described above. In some cases, the storage medium might be incorporated within a computer system, such as the system 500. In other embodiments, the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), and/or provided in an installation package, such that the storage medium can be used to program, configure, and/or adapt a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the computer or hardware system 500 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer or hardware system 500 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.) then takes the form of executable code. [0100] It will be apparent to those skilled in the art that substantial variations may be made in accordance with particular requirements. For example, customized hardware (such as programmable logic controllers, field-programmable gate arrays, application-specific integrated circuits, and/or the like) might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed.

[0101] As mentioned above, in one aspect, some embodiments may employ a computer or hardware system (such as the computer or hardware system 500) to perform methods in accordance with various embodiments of the invention. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer or hardware system 500 in response to processor 510 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 540 and/or other code, such as an application program 545) contained in the working memory 535. Such instructions may be read into the working memory 535 from another computer readable medium, such as one or more of the storage device(s) 525. Merely by way of example, execution of the sequences of instructions contained in the working memory 535 might cause the processor(s) 510 to perform one or more procedures of the methods described herein.

[0102] The terms "machine readable medium" and "computer readable medium," as used herein, refer to any medium that participates in providing data that causes a machine to operate in some fashion. In an embodiment implemented using the computer or hardware system 500, various computer readable media might be involved in providing instructions/code to processor(s) 510 for execution and/or might be used to store and/or carry such instructions/code (e.g., as signals). In many implementations, a computer readable medium is a non-transitory, physical, and/or tangible storage medium. In some embodiments, a computer readable medium may take many forms, including, but not limited to, non-volatile media, volatile media, or the like. Non-volatile media includes, for example, optical and/or magnetic disks, such as the storage device(s) 525. Volatile media includes, without limitation, dynamic memory, such as the working memory 535. In some alternative embodiments, a computer readable medium may take the form of transmission media, which includes, without limitation, coaxial cables, copper wire, and fiber optics, including the wires that comprise the bus 505, as well as the various components of the communication subsystem 530 (and/or the media by which the communications subsystem 530 provides communication with other devices). In an alternative set of embodiments, transmission media can also take the form of waves (including without limitation radio, acoustic, and/or light waves, such as those generated during radio-wave and infra-red data communications).

[0103] Common forms of physical and/or tangible computer readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and/or code.

[0104] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 510 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer or hardware system 500. These signals, which might be in the form of electromagnetic signals, acoustic signals, optical signals, and/or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the invention.

[0105] The communications subsystem 530 (and/or components thereof) generally will receive the signals, and the bus 505 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 535, from which the processor(s) 505 retrieves and executes the instructions. The instructions received by the working memory 535 may optionally be stored on a storage device 525 either before or after execution by the processor(s) 510.

[0106] As noted above, a set of embodiments comprises methods and systems for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing three-dimensional ("3D") launcher with 3D application ("app") icons. Fig.

6 illustrates a schematic diagram of a system 600 that can be used in accordance with one set of embodiments. The system 600 can include one or more user computers, user devices, or customer devices 605. A user computer, user device, or customer device 605 can be a general purpose personal computer (including, merely by way of example, desktop computers, tablet computers, laptop computers, handheld computers, and the like, running any appropriate operating system, several of which are available from vendors such as Apple, Microsoft Corp., and the like), cloud computing devices, a server(s), and/or a workstation computer(s) running any of a variety of commercially-available UNIX™ or UNIX-like operating systems. A user computer, user device, or customer device 605 can also have any of a variety of applications, including one or more applications configured to perform methods provided by various embodiments (as described above, for example), as well as one or more office applications, database client and/or server applications, and/or web browser applications. Alternatively, a user computer, user device, or customer device 605 can be any other electronic device, such as a thin-client computer, Internet-enabled mobile telephone, and/or personal digital assistant, capable of communicating via a network (e.g., the network(s) 610 described below) and/or of displaying and navigating web pages or other types of electronic documents. Although the system 600 is shown with two user computers, user devices, or customer devices 605, any number of user computers, user devices, or customer devices can be supported.

[0107] Some embodiments operate in a networked environment, which can include a network(s) 610. The network(s) 610 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available (and/or free or proprietary) protocols, including, without limitation, TCP/IP, SNA™, IPX™, AppleTalk™, and the like. Merely by way of example, the network(s) 610 (similar to network(s) 175 of Fig. 1, or the like) can each include a local area network ("LAN"), including, without limitation, a fiber network, an Ethernet network, a Token-Ring™ network, and/or the like; a wide-area network ("WAN"); a wireless wide area network ("WWAN"); a virtual network, such as a virtual private network ("VPN"); the Internet; an intranet; an extranet; a public switched telephone network ("PSTN"); an infra-red network; a wireless network, including, without limitation, a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth™ protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks. In a particular embodiment, the network might include an access network of the service provider (e.g., an Internet service provider ("ISP")). In another embodiment, the network might include a core network of the service provider, and/or the Internet.

[0108] Embodiments can also include one or more server computers 615. Each of the server computers 615 may be configured with an operating system, including, without limitation, any of those discussed above, as well as any commercially (or freely) available server operating systems. Each of the servers 615 may also be running one or more applications, which can be configured to provide services to one or more clients 605 and/or other servers 615. [0109] Merely by way of example, one of the servers 615 might be a data server, a web server, a cloud computing device(s), or the like, as described above. The data server might include (or be in communication with) a web server, which can be used, merely by way of example, to process requests for web pages or other electronic documents from user computers 605. The web server can also run a variety of server applications, including HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like. In some embodiments of the invention, the web server may be configured to serve web pages that can be operated within a web browser on one or more of the user computers 605 to perform methods of the invention.

[0110] The server computers 615, in some embodiments, might include one or more application servers, which can be configured with one or more applications accessible by a client running on one or more of the client computers 605 and/or other servers 615. Merely by way of example, the server(s) 615 can be one or more general purpose computers capable of executing programs or scripts in response to the user computers 605 and/or other servers 615, including, without limitation, web applications (which might, in some cases, be configured to perform methods provided by various embodiments). Merely by way of example, a web application can be implemented as one or more scripts or programs written in any suitable programming language, such as Java™, C, C#™ or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming and/or scripting languages. The application server(s) can also include database servers, including, without limitation, those commercially available from Oracle™, Microsoft™, Sybase™, IBM™, and the like, which can process requests from clients (including, depending on the configuration, dedicated database clients, API clients, web browsers, etc.) running on a user computer, user device, or customer device 605 and/or another server 615. In some embodiments, an application server can perform one or more of the processes for implementing image rendering, and, more particularly, to methods, systems, and apparatuses for implementing 3D launcher with 3D app icons, as described in detail above. Data provided by an application server may be formatted as one or more web pages (comprising HTML, JavaScript, etc., for example) and/or may be forwarded to a user computer 605 via a web server (as described above, for example). Similarly, a web server might receive web page requests and/or input data from a user computer 605 and/or forward the web page requests and/or input data to an application server. In some cases, a web server may be integrated with an application server. [0111] In accordance with further embodiments, one or more servers 615 can function as a file server and/or can include one or more of the files (e.g., application code, data files, etc.) necessary to implement various disclosed methods, incorporated by an application running on a user computer 605 and/or another server 615. Alternatively, as those skilled in the art will appreciate, a file server can include all necessary files, allowing such an application to be invoked remotely by a user computer, user device, or customer device 605 and/or server 615. [0112] It should be noted that the functions described with respect to various servers herein (e.g., application server, database server, web server, file server, etc.) can be performed by a single server and/or a plurality of specialized servers, depending on implementationspecific needs and parameters.

[0113] In some embodiments, the system can include one or more databases 620a-620n (collectively, "databases 620"). The location of each of the databases 620 is discretionary: merely by way of example, a database 620a might reside on a storage medium local to (and/or resident in) a server 615a (and/or a user computer, user device, or customer device 605). Alternatively, a database 620n can be remote from any or all of the computers 605, 615, so long as it can be in communication (e.g., via the network 610) with one or more of these. In a particular set of embodiments, a database 620 can reside in a storage-area network ("SAN") familiar to those skilled in the art. (Likewise, any necessary files for performing the functions attributed to the computers 605, 615 can be stored locally on the respective computer and/or remotely, as appropriate.) In one set of embodiments, the database 620 can be a relational database, such as an Oracle database, that is adapted to store, update, and retrieve data in response to SQL-formatted commands. The database might be controlled and/or maintained by a database server, as described above, for example.

[0114] According to some embodiments, system 600 may further comprise computing system 625 and corresponding database(s) 650 (similar to computing systems 105, 105a, and 105b and corresponding database(s) 150a and 150b of Fig. 1, or the like). Computing system 625 may comprise three-dimensional ("3D") launcher 630 (similar to 3D launcher 110 of Figs. 1 and 2, or the like), which may include application icon manager 635 (similar to application icon manager 115 of Figs. 1 and 2, or the like) and Tenderer 640 (similar to Tenderer 120 of Figs. 1 and 2, or the like), or the like, and one or more central processing units and/or graphics processing units ("CPUs/GPUs") 645a-645n (similar to CPUs/GPUs 125a-125n of Fig. 1, or the like). System 600 may further comprise system composer 655 (similar to system composers 140, 140a, and 140b of Figs. 1 and 2, or the like), and package management service 660 (similar to package management services 145, 145a, and 145b of Figs. 1 and 2, or the like) and corresponding database(s) 665 (similar to database(s) 170 of Fig. 1, or the like). [0115] In operation, computing system 625 (also referred to simply as "computing system" or the like) may receive, via a package management service (e.g., package management service 660, or the like), a first application package (e.g., application package 670, or the like) associated with a first application. The computing system may determine whether the first application package comprises a 3D profile of a first application icon associated with the first application. Based on a determination that the first application package comprises a 3D profile of the first application icon, the computing system may load a set of a 3D mesh and a 3D texture, based on the 3D profile of the first application icon. Based on a determination that the first application package does not contain a 3D profile of the first application icon, the computing system may load a set of a default 3D mesh and a default application icon of the first application as texture data. The computing system may render the first application icon as a 3D first application icon (e.g., as rendered image(s) 680, or the like), based at least in part on one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon (collectively, "application icon information 675" or the like). The computing system may cause the 3D first application icon to be displayed on a user interface that is displayed within a display screen of a user device.

[0116] In some embodiments, the application icon manager (e.g., app icon manager 635, or the like) may receive the first application package, may determine whether the first application package comprises the 3D profile of the first application icon, and may load the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon to the Tenderer. In some instances, the Tenderer may render the first application icon as a 3D first application icon.

[0117] According to some embodiments, the Tenderer (e.g., Tenderer 640, or the like) of the computing system may load global render information, the global render information comprising at least one of scene camera pose, lighting condition, or zoom level, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the loaded global render information and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon.

[0118] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more user inputs, the one or more user inputs comprising at least one of one or more selection inputs, one or more translation inputs, one or more rotation inputs, one or more tilt inputs, one or more zoom inputs, one or more swipe inputs, one or more dragging inputs, one or more gesture inputs, one or more tracing inputs, one or more camera translation inputs, one or more rotation inputs, one or more accelerometer inputs, or one or more gyroscope inputs, and/or the like. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system rendering the first application icon as a 3D first application icon, based at least in part on the received one or more user inputs and based at least in part on the one of the set of the 3D mesh and the 3D texture or the set of the default 3D mesh and the default application icon. [0119] In some embodiments, the 3D profile of the first application icon may further comprise an icon render frequency property based at least in part on different priorities that are based at least in part on one or more conditions. In some cases, the one or more conditions may comprise at least one of power consumption level or level of performance tradeoff, and/or the like. In some instances, the icon render frequency property may comprise one of a static icon, a low frequency rendering icon, a medium frequency rendering icon, or a high frequency rendering icon, and/or the like. The application icon manager of the computing system may determine a rendering frequency of the 3D first application icon based at least in part on the icon render frequency property in the 3D profile of the first application icon and based at least in part on the at least one of power consumption level or level of performance tradeoff. In such cases, rendering the first application icon as a 3D first application icon may comprise the Tenderer of the computing system controlling one or more rendering threads for rendering the first application icon as the 3D first application icon based on the determined rendering frequency of the 3D first application icon.

[0120] According to some embodiments, the first application icon may be part of a group of application icons. The application icon manager of the computing system may generate a group of 3D-arranged application icons based on the group of application icons. The Tenderer of the computing system may render the generated group of 3D-arranged application icons. The computing system may cause the rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0121] In some cases, the 3D-arranged application icons may comprise one of a group of cascaded 3D application icons with overlapping two or more of the group of application icons in a cascade arrangement or a group of layered 3D application icons with two or more layers of the group of application icons in a layered arrangement. In some embodiments, the application icon manager of the computing system may determine an order of the icons within the group of 3D-arranged application icons based at least in part on one or more of most recent use, existence of new notifications, number of new notifications, or user input to reorder the icons, and/or the like. The application icon manager of the computing system may autonomously reorder the icons within the group of 3D-arranged application icons based on the determination. The Tenderer of the computing system may re-render the group of 3D- arranged application icons based on the reordered icons within the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

[0122] Alternatively, or additionally, the application icon manager of the computing system may determine one or more animations associated with one or more of the group of 3D-arranged application icons. In some cases, the one or more animations may comprise at least one of rotation, translation, tilting, resizing, transformation, or customized icon behaviors, and/or the like. The Tenderer of the computing system may re-render the group of 3D-arranged application icons based on the determined one or more animations associated with one or more of the group of 3D-arranged application icons. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device.

[0123] Alternatively, or additionally, a user input processor of the application icon manager may receive one or more navigation user inputs, the one or more navigation user inputs comprising at least one of depth of field navigation inputs, perspective change inputs, orientation change inputs, reordering inputs, sorting inputs, rotation inputs, tilt inputs translation inputs, swiping inputs, dragging inputs, information request inputs, opening inputs, closing inputs, or selection inputs relative to the group of 3D-arranged application icons, and/or the like. The Tenderer of the computing system may re-render the group of 3D- arranged application icons based on the received one or more navigation user inputs. The computing system may cause the re-rendered group of 3D-arranged application icons to be displayed on the user interface that is displayed within the display screen of the user device. [0124] In some embodiments, a user input processor of the application icon manager may receive an application launch request input from a user to launch the first application. The application icon manager of the computing system may determine whether the application launch request input corresponds to a successful selection of the first application icon for launching the first application based on at least one of raytracing, collision determination, or intercept calculation, and/or the like, of the application launch request input relative to the first application icon within the user interface displayed within the display screen of the user device. Based on a determination that the application launch request input corresponds to a successful selection of the first application icon for launching the first application, the computing system may initiate launch of the first application. Based on a determination that the application launch request input corresponds to a failed attempt at selection of the first application icon for launching the first application, the computing system may prevent launch of the first application.

[0125] These and other functions of the system 600 (and its components) are described in greater detail above with respect to Figs. 1-4.

[0126] While particular features and aspects have been described with respect to some embodiments, one skilled in the art will recognize that numerous modifications are possible. For example, the methods and processes described herein may be implemented using hardware components, software components, and/or any combination thereof. Further, while various methods and processes described herein may be described with respect to particular structural and/or functional components for ease of description, methods provided by various embodiments are not limited to any particular structural and/or functional architecture but instead can be implemented on any suitable hardware, firmware and/or software configuration. Similarly, while particular functionality is ascribed to particular system components, unless the context dictates otherwise, this functionality need not be limited to such and can be distributed among various other system components in accordance with the several embodiments.

[0127] Moreover, while the procedures of the methods and processes described herein are described in a particular order for ease of description, unless the context dictates otherwise, various procedures may be reordered, added, and/or omitted in accordance with various embodiments. Moreover, the procedures described with respect to one method or process may be incorporated within other described methods or processes; likewise, system components described according to a particular structural architecture and/or with respect to one system may be organized in alternative structural architectures and/or incorporated within other described systems. Hence, while various embodiments are described with — or without — particular features for ease of description and to illustrate some aspects of those embodiments, the various components and/or features described herein with respect to a particular embodiment can be substituted, added and/or subtracted from among other described embodiments, unless the context dictates otherwise. Consequently, although several embodiments are described above, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.