US20140115531A1 - Method and apparatus for rendering overlapped objects - Google Patents
Method and apparatus for rendering overlapped objects Download PDFInfo
- Publication number
- US20140115531A1 US20140115531A1 US13/666,970 US201213666970A US2014115531A1 US 20140115531 A1 US20140115531 A1 US 20140115531A1 US 201213666970 A US201213666970 A US 201213666970A US 2014115531 A1 US2014115531 A1 US 2014115531A1
- Authority
- US
- United States
- Prior art keywords
- objects
- overlapped
- target
- rendering
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
Definitions
- the invention relates to a rendering method and a rendering apparatus, and more particularly, relates to a method and an apparatus for rendering overlapped objects.
- operating interface of operating system is displayed right after computer is powered on and entered to operating system. Users may set up a style of desktop and select applications to execute their desired functions via said operating interface. Generally, the selected applications are displayed as windows on the desktop which allows users to switch between applications by clicking on different windows.
- the windows are displayed in a layer-by-layer manner on the screen according to a sequence of the windows being opened or used by the users, in which a current window (the one most recently used) is displayed on top of the other windows, which overlaps the other windows. In this case, contents of the overlapped windows (covered by the current window) may not be display on the screen for viewing.
- rendering overlapped windows is managed by dividing the overlapped windows using a multiple-layer method.
- Multiple pipelines of a computer graphics engine are used to respectively render objects of different layers and display the overlapped portion of the layers using an alpha-blending method. This allows users to see partial contents of the other windows while operating the current window, so that users may switch and operate between different windows.
- a background is firstly displayed on the screen by the computer. Then, a first window (i.e. the window at bottom) is rendered after data of background is read. In the rendering of the first window, an alpha-blending calculation is performed according to the alpha-blending parameters of the background and the first window. Then, a result of the alpha-blending calculation is written into a memory, such that a portion of the background may be seen through an alpha-blending portion of the first window. Accordingly, a second window is rendered by the computer after data of background and the first window are re-read. In the rendering of the second window, the alpha-blending calculation is performed according to the alpha-blending parameters of the first window and the second window.
- a result of the alpha-blending calculation is written into a memory, such that a portion of the background and a portion of the first window may be seen through an alpha-blending portion of the second window.
- the loading for the computer to perform the alpha-blending calculation may also be increased.
- operations of repeatedly reading/writing memory may occupy too much memory, thereby affecting an overall performance of the computer.
- the invention provides a method for rendering overlapped objects which includes following steps. First, a plurality of objects are sorted according to a rendering property of each of the objects and the sorted objects are placed into a source chain. Next, a target object in the objects of the source chain is selected for successively searching for a next object in the source chain which is an overlapped object to the target object. If no overlapped object is found, the target object is moved to a target chain and the target object in the source chain is removed.
- a blending object is generated by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, the blending object and all non-overlapping areas of the target object and the overlapped object are inserted respectively as new objects into the source chain, and the target object and the overlapped object in the source chain are removed. Finally, the objects in the target chain are rendered on an electronic device when all objects in the source chain are moved to the target chain.
- the invention provides an apparatus for rendering overlapped objects, which includes a sorting module, a searching module, a blending module and a rendering module.
- the sorting module sorts the objects to be displayed on the electronic device according to a rendering property of each of the objects and places the sorted objects into a source chain.
- the searching module is connected to the sorting module for selecting a target object from the objects in the source chain, and successively searching for a next object in the source chain which is an overlapped object to the target object.
- the blending module is connected to the searching module, wherein if the overlapped object is not found by the searching module, the blending module moves the target object to a target chain and removes the target object from the source chain.
- the blending module If the overlapped object is found by the searching module, the blending module generates a blending object by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, respectively inserts the blending object and all non-overlapping areas of the target object and the overlapped object as new objects into the source chain, and removes the target object and the overlapped object in the source chain.
- the rendering module is connected to the blending module, and used for rendering the objects in the target chain on the electronic device when all of the objects in the source chain are moved to the target chain by the blending module.
- the invention provides a method for rendering overlapped object in a computer system which includes following steps. First, a plurality of windows to be displayed on the computer system are sorted according to a rendering property of each of the windows and the sorted windows are placed to a source chain. Then, a target window in the source chain is selected, and a next window in the source chain which is an overlapped window to the target window is successively searched. If no overlapped window is found, the target window is moved to a target chain and the target window is removed from the source chain.
- a blending object is generated by blending an overlapping area of the target window and the overlapped window according to an alpha-blending property of the target window and the overlapped window, the blending object and all non-overlapping areas of the target window and the overlapped window are respectively inserted as a new window into the source chain, and the target window and the overlapped window are removed form the source chain.
- the windows in the target chain are rendered on the electronic device when all of the windows in the source chain are moved to the target chain.
- the method and the apparatus for rendering overlapped objects of the present invention sorts the objects to be displayed according to rendering properties of the objects and performs searching to each object and blending of the overlapping area and merging of non-overlapping areas, in which the objects are then placed into the target chain to save the loading of repeatedly reading/writing memory.
- FIG. 1 is a block diagram of an apparatus for rendering overlapped objects according to an embodiment of the invention.
- FIG. 2 is a flowchart of a method for rendering overlapped objects according to an embodiment of the invention.
- FIG. 3 is a flowchart of a method for sorting overlapped objects according to an embodiment of the invention.
- FIG. 4 is an example of blending a target object and an overlapped object according to an embodiment of the invention.
- FIG. 5A to FIG. 5G are comparative examples of a method for rendering overlapped objects according to an embodiment of the invention.
- the invention provides a method to blend overlapping area of objects according to the rendering properties of the objects before the objects are written into the memory. This allows the GPU to render the objects without repeatedly reading/writing the memory and perform an alpha-blending calculation, thereby reducing loading of calculation and memory being occupied.
- FIG. 1 is a block diagram of an apparatus for rendering overlapped objects according to an embodiment of the invention.
- FIG. 2 is a flowchart of a method for rendering overlapped objects according to an embodiment of the invention.
- FIG. 3 is a flowchart of a method for sorting objects according to step 202 of the embodiment of the invention as shown in FIG. 2 .
- the rendering apparatus 10 of the present embodiment is, for example, a graphic processing unit (GPU) or other types of processor disposed in an electronic device.
- the rendering apparatus 10 includes a sorting module 11 , a searching module 12 , a blending module 13 and a rendering module 14 . Detailed steps of the method for rendering of the present embodiment are described as below, with reference to each element of the rendering apparatus in FIG. 1 .
- the sorting module 11 sorts the objects according a rendering property of each of the objects, and places the sorted objects into a source chain (Step S 202 ).
- Said rendering property includes a rendering position of the object on 2-dimensional space and a rendering sequence of the object.
- the sorting module 11 respectively sorts the objects according to the rendering properties.
- FIG. 3 is a flowchart of a method for sorting objects according to an embodiment of the invention, which can be used in Step S 202 .
- the sorting module 11 sorts the objects according to a rendering position of each object on a first axial direction (e.g. the X-axis) (Step S 302 ).
- the sorting module 11 determines left borders of the objects and compares positions of left borders on the X-axis, and accordingly sorts the objects in a left-to-right order.
- the sorting module 11 sorts the objects according to a rendering position of each object on a second axial direction (e.g. the Y-axis) (Step S 304 ).
- the sorting module 11 determines upper borders of the objects and compares positions of upper borders on the Y-axis, and accordingly sorts the objects in an up-to-down order. Finally, the sorting module 11 sorts the objects according to a rendering sequence of each of the objects (Step S 306 ). The sorting module 11 , for example, compares the rendering sequence of each object, and sorts the objects in a front-to-back order. By using the sorting method as described above, the rendering apparatus 10 may find and place the objects having positions and rendering sequences closing to each other together, which is favorable to the subsequent step of searching for the overlapped objects.
- the searching module 12 selects a target object from the plurality of objects in the source chain, and successively searches for a next object in the source chain which is an overlapped object to the target object (Step S 204 ).
- the searching module 12 determines if the overlapped object is found (Step S 206 ). More specifically, the searching module 12 , for example, sets a first object in the source chain as the target object and starts searching for the overlapped object. During the searching process, the searching module 12 searches the overlapped object to the target object starting with a first object after target object in the source chain. If no overlapped object is found by the searching module 12 , the blending module 13 directly moves the target object to a target chain and removes the target object from the source chain (Step S 208 ).
- the blending module 13 If the overlapped object is found by the searching module 12 , the blending module 13 generates a blending object by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, respectively inserts the blending object and all non-overlapping areas of the target object and the overlapped object as new objects into the source chain, and removes the target object and the overlapped object from the source chain (Step S 210 ).
- the blending module 13 for example, generates new objects by performing an alpha-blending calculation to the overlapping area of the target object and overlapped object according to an aspect ratio of the alpha-blending property of the target object and the overlapped object, and places the new objects into the target chain.
- the blending module 13 determines whether an alpha property of the target object or the overlapped object is equal to zero (i.e. opaque). If the alpha property of the target object or the overlapped object is equal to zero, this indicates that such object covers all its rear objects in the overlapping area. In this case, the blending module 13 may skip the step of alpha-blending calculation, and directly select the overlapping area of the target object or the overlapped object having the alpha-blending property being zero as the blending object and insert the same back to the source chain again.
- the blending module 1 while generating the blending object by blending the target object and the overlapped object, the blending module 1 also blends the rendering properties of the objects. That is, the blending module 13 may provide the blending object with a new rendering position, a new rendering sequence and a new alpha parameter according to the rendering properties of the target object and the overlapped object. Such a new rendering property may be used as a reference for the rendering module 14 to render objects in subsequent process.
- FIG. 4 is an example of blending a target object and an overlapped object according to an embodiment of the invention.
- an overlapping area 43 i.e. slashed area
- the rendering apparatus performs an alpha-blending calculation to an overlapping area 43 of the target object 41 and the overlapped object 42 according to the alpha parameters of the target object 41 and the overlapped object 42 so as to obtain a blending object.
- Such blending object and all non-overlapped areas (i.e. non-slashed areas) of the target object 41 and overlapped object 42 are selected as new objects and inserted back to the source chain for subsequent process.
- the target object and the overlapped object are required to be inserted back to the source chain for further determination.
- said sorting method may be used to insert those new objects back to proper positions in the source chain according to the rendering properties of the new objects.
- the target object, the overlapped object and the overlapping area of above embodiment are exemplified in rectangle-shapes.
- users may divide the areas of the target object and the overlapped object into other shapes based on the demand, instead of being limited by the method of the present embodiment.
- Step S 212 the blending module 13 determines whether the source chain has objects not being processed. If the source chain has objects not being processed, the flow is back to the step S 204 , in which the searching module 12 searches a next target object in the source chain again, and successively searches for a next object in the source chain which is an overlapped object to the next target object, so as to move the next target object into the target chain or successively insert the new object generated by the next target object and the overlapped object into the source chain, until all objects in the source chain are moved to the target chain.
- rendering module 14 When the blending module 13 determines that all objects in the source chain are moved to the target chain, rendering module 14 renders all objects in the target chain on the electronic device though the rendering module 14 (Step S 214 ).
- the rendering module 14 divides the objects in the target chain into a plurality of layers according to, for example, the rendering property of each object, in which the rendering property includes a source texture, a source texture coordinates and a transparency.
- the rendering module 14 may set a plurality of fixed function pipelines to respectively render the objects within the layers, in which each texture corresponds to one layer. It should be noted that, above-said method is a simplest and fastest rendering method. However, since the number of fixed function pipelines is limited, the upper limit of layers for processing is 8 layers. In another embodiment, the rendering module 14 may generate a pixel shader or a fragment shader to respectively render the objects within the layers. Such method is more preferable yet more complicated, and the upper limit of layers for processing is depended on the version of the shader. Generally, the upper limit thereto is 128, which means that a rendering process of 128 layers is supported.
- FIG. 5A to FIG. 5G are comparative examples of a method for rendering overlapped objects according to an embodiment of the invention.
- objects A, B and C are rendered on a background BK, in which the object A is positioned above the background BK, the object B is positioned above the object A and the object C is positioned above the object B.
- the size of the background BK is 1920*1080 dpi.
- the area covered by the background BK is a rectangle area formed by point (0,0) and point (1920,1080);
- the object A is a rectangle area formed by point (50,50) and point (1500,950);
- the object B is a rectangle area formed by point (950,100) and point (1700,900);
- the object C is a rectangle area formed by point (25,540) and point (1800,880).
- the amount of data for reading/writing memory is 8384100.
- the invention adopts the method of sorting the objects in left-to-right, top-to-bottom, front-to-back orders, such that the objects in FIG. 5A are sorted and placed into the source chain in the following sequence: BK, C, A, B.
- the background BK which is at the first position of the source chain is selected as the target object, and the object C is found by successively searching for the object in the source chain which is an overlapped object to the background BK.
- An overlapping area 52 and non-overlapping areas 54 , 56 , 58 and 60 are defined based on positions of the background BK and the object C.
- the overlapping area 52 i.e. C+BK
- the non-overlapping areas 54 , 56 , 58 and 60 are inserted back into the source chain as new objects.
- the sequence of the objects in the source chain is: 54 , 56 , 52 , 58 , A, B, 60 .
- said non-overlapping areas 54 , 56 , 58 , 60 are divided in a sequence of left-to-right and up-to-bottom, said new objects are also inserted back into the source chain in a sequence of left-to-right and up-to-bottom.
- the invention is not limited thereto. Those skilled in the art may divide or insert the objects in a sequence of up-to-bottom, left-to-right or other sequences according to actual requirement.
- the object 54 may be moved to the target chain.
- the sequence of the objects in the source chain is: 56 , 52 , 58 , A, B, 60 ; the sequence of the objects in the target chain is: 54 .
- the object 56 which is now at the first position of the source chain is selected as the target object, and the object A is found by successively searching for the overlapped object of the target object in the source chain.
- An overlapping area 62 and non-overlapping areas 64 , 66 , 68 and 70 are defined based on positions of the object 56 and the object A.
- the overlapping area 62 i.e. A+BK
- the overlapping area 62 i.e. the blending object
- the non-overlapping areas 64 , 66 , 68 and 70 are inserted back into the source chain as new objects.
- the sequence of the objects in the source chain is: 64 , 52 , 58 , 66 , 62 , 70 , B, 68 , 60 ; and the sequence of the objects in the target chain is: 54 .
- the object 64 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with the object 64 , the object 64 may be moved to the target chain.
- the sequence of the objects in the source chain is: 52 , 58 , 66 , 62 , 70 , B, 68 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 .
- the object 52 which is now at the first position of the source chain is selected as the target object, and the object 70 is found by successively searching for the overlapped object of the target object in the source chain.
- An overlapping area 72 and non-overlapping areas 74 , 76 and 78 are defined based on positions of the object 52 and the object 70 (divided in a left-to-right, up-to-down order).
- the overlapping area 72 i.e. A+C+BK
- the overlapping area 72 and the non-overlapping areas 74 , 76 and 78 are inserted back into the source chain as new objects.
- sequence of the objects in the source chain is: 74 , 58 , 66 , 62 , 72 , 76 , B, 68 , 78 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 .
- the object 74 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with the object 74 , the object 74 may be moved to the target chain.
- the sequence of the objects in the source chain is: 58 , 66 , 62 , 72 , 76 , B, 68 , 78 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 .
- the object 58 which is now at the first position of the source chain is selected as the target object, the object 76 is found by successively searching for the overlapped object of the target object in the source chain.
- An overlapping area 76 and non-overlapping areas 78 , 80 and 82 are defined based on positions of the object 58 and the object 76 .
- the overlapping area 76 i.e. A+BK
- the overlapping area 76 and the non-overlapping areas 78 , 80 and 82 are inserted back into the source chain as new objects.
- sequence of the objects in the source chain is: 78 , 66 , 62 , 72 , 76 , 80 , B, 68 , 78 , 82 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 .
- the object 78 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched.
- the sequence of the objects in the source chain is: 66 , 62 , 72 , 76 , 80 , B, 68 , 78 , 82 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 , 78 .
- the object 66 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with the object 66 , the object 66 may be moved to the target chain.
- the sequence of the objects in the source chain is: 62 , 72 , 76 , 80 , B, 68 , 78 , 82 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 , 78 , 66 .
- the object 62 which is now at the first position of the source chain is selected as the target object, the object B is found by successively searching for the overlapped object of the target object in the source chain.
- An overlapping area 84 and non-overlapping areas 86 , 88 , 90 and 92 are defined based on positions of the object 62 and the object B.
- the overlapping area 84 i.e. A+B+BK
- the overlapping area 84 and the non-overlapping areas 86 , 88 , 90 and 92 are inserted back into the source chain as new objects.
- sequence of the objects in the source chain is: 86 , 72 , 76 , 80 , 88 , 84 , 90 , 68 , 92 , 78 , 82 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 , 78 , 66 .
- the object 86 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with the object 86 , the object 86 may be moved to the target chain.
- the sequence of the objects in the source chain is: 72 , 76 , 80 , 88 , 84 , 90 , 68 , 92 , 78 , 82 , 60 ; and the sequence of the objects in the target chain is: 54 , 64 , 74 , 78 , 66 , 86 .
- the above steps are repeated until all objects in the source chain are moved to the target chain. As a result, a dividing result as shown in FIG. 5G may be obtained.
- the objects of the target chain are placed into the memory after being sorted, divided and blended using the rendering method of the invention. Therefore, the electronic device does not need to repeatedly reading/writing the images of the overlapping area when rendering the entire image.
- the amount of data for reading/writing memory may be reduced to:
- the amount of data for reading/writing memory is 4177100, which is only a half of the traditional method.
- related functionalities of the sorting module 11 , searching module 12 , blending module 13 and rendering module 14 may be achieved by using general programming languages (e.g. C or C++), hardware description languages (e.g. Verilog HDL and VHDL) or other suitable programming languages.
- the resulting software may be disposed to any known computer-accessible medias, such as magnetic tapes, semiconductors, magnetic disks or compact disks (e.g. CD-ROM and DVD-ROM), or may be transmitted through Internet, wired communication, wireless communication or other communication media, and used by the computer to gain an access to the programming codes.
- the apparatus and method of the invention may be implemented through the combination of hardware and software. Therefore, the invention is not limited by the embodiments disclosed above, and variations of this invention are defined within the scope of the following claims and their equivalents.
- the method and the apparatus for rendering overlapped objects of the invention sorts a plurality of objects according to the rendering properties of the objects, searches for the overlapped objects, blends the overlapped objects found, and then places the same into the target chain. Therefore, the objects in the target chain do not require repeating of reading/writing memory, nor further alpha-blending calculation, which may save the calculating resource and the occupied memory bandwidth.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
- This application claims the priority benefit of China application serial no. 201210405662.8, filed on Oct. 23, 2012. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
- 1. Field of the Invention
- The invention relates to a rendering method and a rendering apparatus, and more particularly, relates to a method and an apparatus for rendering overlapped objects.
- 2. Description of Related Art
- As computer technology advances rapidly, computer has become one of the most important electronic devices daily used by people nowadays. With the rapid development in software technology, in addition to the speed and functionality, there is also an increasing emphasis on picture quality of the computer. To attract more attention from users, software manufacturers have to provide eye-feasting operating environment for users by producing a more delicate operating interface, other than just developing more innovative functionalities.
- In conventional art, operating interface of operating system is displayed right after computer is powered on and entered to operating system. Users may set up a style of desktop and select applications to execute their desired functions via said operating interface. Generally, the selected applications are displayed as windows on the desktop which allows users to switch between applications by clicking on different windows.
- While multiple windows are opened by users, due to limitation of display area on a screen of the computer, all windows are overlapped to each other in order to fit into the display area of the screen. The windows are displayed in a layer-by-layer manner on the screen according to a sequence of the windows being opened or used by the users, in which a current window (the one most recently used) is displayed on top of the other windows, which overlaps the other windows. In this case, contents of the overlapped windows (covered by the current window) may not be display on the screen for viewing.
- In conventional graphics technology, rendering overlapped windows is managed by dividing the overlapped windows using a multiple-layer method. Multiple pipelines of a computer graphics engine are used to respectively render objects of different layers and display the overlapped portion of the layers using an alpha-blending method. This allows users to see partial contents of the other windows while operating the current window, so that users may switch and operate between different windows.
- In order to present an effect of alpha-blending as described above, a background is firstly displayed on the screen by the computer. Then, a first window (i.e. the window at bottom) is rendered after data of background is read. In the rendering of the first window, an alpha-blending calculation is performed according to the alpha-blending parameters of the background and the first window. Then, a result of the alpha-blending calculation is written into a memory, such that a portion of the background may be seen through an alpha-blending portion of the first window. Accordingly, a second window is rendered by the computer after data of background and the first window are re-read. In the rendering of the second window, the alpha-blending calculation is performed according to the alpha-blending parameters of the first window and the second window. Then, a result of the alpha-blending calculation is written into a memory, such that a portion of the background and a portion of the first window may be seen through an alpha-blending portion of the second window. However, when the amount of opened windows is increase, the loading for the computer to perform the alpha-blending calculation may also be increased. Moreover, operations of repeatedly reading/writing memory may occupy too much memory, thereby affecting an overall performance of the computer.
- The invention provides a method for rendering overlapped objects which includes following steps. First, a plurality of objects are sorted according to a rendering property of each of the objects and the sorted objects are placed into a source chain. Next, a target object in the objects of the source chain is selected for successively searching for a next object in the source chain which is an overlapped object to the target object. If no overlapped object is found, the target object is moved to a target chain and the target object in the source chain is removed. If an overlapped object is found, a blending object is generated by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, the blending object and all non-overlapping areas of the target object and the overlapped object are inserted respectively as new objects into the source chain, and the target object and the overlapped object in the source chain are removed. Finally, the objects in the target chain are rendered on an electronic device when all objects in the source chain are moved to the target chain.
- The invention provides an apparatus for rendering overlapped objects, which includes a sorting module, a searching module, a blending module and a rendering module. The sorting module sorts the objects to be displayed on the electronic device according to a rendering property of each of the objects and places the sorted objects into a source chain. The searching module is connected to the sorting module for selecting a target object from the objects in the source chain, and successively searching for a next object in the source chain which is an overlapped object to the target object. The blending module is connected to the searching module, wherein if the overlapped object is not found by the searching module, the blending module moves the target object to a target chain and removes the target object from the source chain. If the overlapped object is found by the searching module, the blending module generates a blending object by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, respectively inserts the blending object and all non-overlapping areas of the target object and the overlapped object as new objects into the source chain, and removes the target object and the overlapped object in the source chain. The rendering module is connected to the blending module, and used for rendering the objects in the target chain on the electronic device when all of the objects in the source chain are moved to the target chain by the blending module.
- The invention provides a method for rendering overlapped object in a computer system which includes following steps. First, a plurality of windows to be displayed on the computer system are sorted according to a rendering property of each of the windows and the sorted windows are placed to a source chain. Then, a target window in the source chain is selected, and a next window in the source chain which is an overlapped window to the target window is successively searched. If no overlapped window is found, the target window is moved to a target chain and the target window is removed from the source chain. If the overlapped window is found, a blending object is generated by blending an overlapping area of the target window and the overlapped window according to an alpha-blending property of the target window and the overlapped window, the blending object and all non-overlapping areas of the target window and the overlapped window are respectively inserted as a new window into the source chain, and the target window and the overlapped window are removed form the source chain. The windows in the target chain are rendered on the electronic device when all of the windows in the source chain are moved to the target chain.
- Based on the above, the method and the apparatus for rendering overlapped objects of the present invention sorts the objects to be displayed according to rendering properties of the objects and performs searching to each object and blending of the overlapping area and merging of non-overlapping areas, in which the objects are then placed into the target chain to save the loading of repeatedly reading/writing memory.
- To make the aforementioned and other features and advantages of the invention more comprehensible, several embodiments accompanied with figures are described in detail below.
-
FIG. 1 is a block diagram of an apparatus for rendering overlapped objects according to an embodiment of the invention. -
FIG. 2 is a flowchart of a method for rendering overlapped objects according to an embodiment of the invention. -
FIG. 3 is a flowchart of a method for sorting overlapped objects according to an embodiment of the invention. -
FIG. 4 is an example of blending a target object and an overlapped object according to an embodiment of the invention. -
FIG. 5A toFIG. 5G are comparative examples of a method for rendering overlapped objects according to an embodiment of the invention. - In order to reduce occupations of memory bandwidth due to repeatedly reading/writing memory when the graphic processing unit (GPU) is rendering overlapped objects, the invention provides a method to blend overlapping area of objects according to the rendering properties of the objects before the objects are written into the memory. This allows the GPU to render the objects without repeatedly reading/writing the memory and perform an alpha-blending calculation, thereby reducing loading of calculation and memory being occupied.
-
FIG. 1 is a block diagram of an apparatus for rendering overlapped objects according to an embodiment of the invention.FIG. 2 is a flowchart of a method for rendering overlapped objects according to an embodiment of the invention.FIG. 3 is a flowchart of a method for sorting objects according to step 202 of the embodiment of the invention as shown inFIG. 2 . Referring toFIG. 1 , therendering apparatus 10 of the present embodiment is, for example, a graphic processing unit (GPU) or other types of processor disposed in an electronic device. Therendering apparatus 10 includes asorting module 11, a searchingmodule 12, ablending module 13 and arendering module 14. Detailed steps of the method for rendering of the present embodiment are described as below, with reference to each element of the rendering apparatus inFIG. 1 . - When the
rendering apparatus 10 receives a plurality of objects and rendering properties thereof, the sortingmodule 11 sorts the objects according a rendering property of each of the objects, and places the sorted objects into a source chain (Step S202). Said rendering property includes a rendering position of the object on 2-dimensional space and a rendering sequence of the object. The sortingmodule 11 respectively sorts the objects according to the rendering properties. - More specifically,
FIG. 3 is a flowchart of a method for sorting objects according to an embodiment of the invention, which can be used in Step S202. Referring toFIG. 3 , the sortingmodule 11, for example, sorts the objects according to a rendering position of each object on a first axial direction (e.g. the X-axis) (Step S302). The sortingmodule 11, for example, determines left borders of the objects and compares positions of left borders on the X-axis, and accordingly sorts the objects in a left-to-right order. Next, the sortingmodule 11 sorts the objects according to a rendering position of each object on a second axial direction (e.g. the Y-axis) (Step S304). The sortingmodule 11, for example, determines upper borders of the objects and compares positions of upper borders on the Y-axis, and accordingly sorts the objects in an up-to-down order. Finally, the sortingmodule 11 sorts the objects according to a rendering sequence of each of the objects (Step S306). The sortingmodule 11, for example, compares the rendering sequence of each object, and sorts the objects in a front-to-back order. By using the sorting method as described above, therendering apparatus 10 may find and place the objects having positions and rendering sequences closing to each other together, which is favorable to the subsequent step of searching for the overlapped objects. - Next, the searching
module 12 selects a target object from the plurality of objects in the source chain, and successively searches for a next object in the source chain which is an overlapped object to the target object (Step S204). Next, the searchingmodule 12 determines if the overlapped object is found (Step S206). More specifically, the searchingmodule 12, for example, sets a first object in the source chain as the target object and starts searching for the overlapped object. During the searching process, the searchingmodule 12 searches the overlapped object to the target object starting with a first object after target object in the source chain. If no overlapped object is found by the searchingmodule 12, the blendingmodule 13 directly moves the target object to a target chain and removes the target object from the source chain (Step S208). - If the overlapped object is found by the searching
module 12, the blendingmodule 13 generates a blending object by blending an overlapping area of the target object and the overlapped object according to an alpha-blending property of the target object and the overlapped object, respectively inserts the blending object and all non-overlapping areas of the target object and the overlapped object as new objects into the source chain, and removes the target object and the overlapped object from the source chain (Step S210). - More specifically, in an embodiment, the blending
module 13, for example, generates new objects by performing an alpha-blending calculation to the overlapping area of the target object and overlapped object according to an aspect ratio of the alpha-blending property of the target object and the overlapped object, and places the new objects into the target chain. In another embodiment, the blendingmodule 13 determines whether an alpha property of the target object or the overlapped object is equal to zero (i.e. opaque). If the alpha property of the target object or the overlapped object is equal to zero, this indicates that such object covers all its rear objects in the overlapping area. In this case, the blendingmodule 13 may skip the step of alpha-blending calculation, and directly select the overlapping area of the target object or the overlapped object having the alpha-blending property being zero as the blending object and insert the same back to the source chain again. - It should be noted that, while generating the blending object by blending the target object and the overlapped object, the blending module 1 also blends the rendering properties of the objects. That is, the blending
module 13 may provide the blending object with a new rendering position, a new rendering sequence and a new alpha parameter according to the rendering properties of the target object and the overlapped object. Such a new rendering property may be used as a reference for therendering module 14 to render objects in subsequent process. - For example,
FIG. 4 is an example of blending a target object and an overlapped object according to an embodiment of the invention. Referring toFIG. 4 , an overlapping area 43 (i.e. slashed area) is located between atarget object 41 and an overlappedobject 42. When blending thetarget object 41 and the overlappedobject 42, the rendering apparatus, for example, performs an alpha-blending calculation to an overlappingarea 43 of thetarget object 41 and the overlappedobject 42 according to the alpha parameters of thetarget object 41 and the overlappedobject 42 so as to obtain a blending object. Such blending object and all non-overlapped areas (i.e. non-slashed areas) of thetarget object 41 and overlappedobject 42 are selected as new objects and inserted back to the source chain for subsequent process. - It should be noted that, after the image of the overlapping area of the target object and overlapped object has been blended, since it is not clear if the target object and the overlapped object are still overlapping with other objects in the source chain, the target object and the overlapped object are required to be inserted back to the source chain for further determination. When placing the blending object and the non-overlapped areas back to the source chain, to save time for subsequent search, said sorting method may be used to insert those new objects back to proper positions in the source chain according to the rendering properties of the new objects. In addition, the target object, the overlapped object and the overlapping area of above embodiment are exemplified in rectangle-shapes. However, in practical applications, users may divide the areas of the target object and the overlapped object into other shapes based on the demand, instead of being limited by the method of the present embodiment.
- Whenever the
blending module 13 moves the target object into the target chain, or insert the new objects back into the source chain, the blendingmodule 13 determines whether the source chain has objects not being processed (Step S212). If the source chain has objects not being processed, the flow is back to the step S204, in which the searchingmodule 12 searches a next target object in the source chain again, and successively searches for a next object in the source chain which is an overlapped object to the next target object, so as to move the next target object into the target chain or successively insert the new object generated by the next target object and the overlapped object into the source chain, until all objects in the source chain are moved to the target chain. When theblending module 13 determines that all objects in the source chain are moved to the target chain,rendering module 14 renders all objects in the target chain on the electronic device though the rendering module 14 (Step S214). Therendering module 14 divides the objects in the target chain into a plurality of layers according to, for example, the rendering property of each object, in which the rendering property includes a source texture, a source texture coordinates and a transparency. - Based on the rendering properties of the said layers, in one embodiment, the
rendering module 14 may set a plurality of fixed function pipelines to respectively render the objects within the layers, in which each texture corresponds to one layer. It should be noted that, above-said method is a simplest and fastest rendering method. However, since the number of fixed function pipelines is limited, the upper limit of layers for processing is 8 layers. In another embodiment, therendering module 14 may generate a pixel shader or a fragment shader to respectively render the objects within the layers. Such method is more preferable yet more complicated, and the upper limit of layers for processing is depended on the version of the shader. Generally, the upper limit thereto is 128, which means that a rendering process of 128 layers is supported. -
FIG. 5A toFIG. 5G are comparative examples of a method for rendering overlapped objects according to an embodiment of the invention. Referring toFIG. 5A , objects A, B and C are rendered on a background BK, in which the object A is positioned above the background BK, the object B is positioned above the object A and the object C is positioned above the object B. The size of the background BK is 1920*1080 dpi. Assuming that the coordinates of the point on left-top end of the background BK is (0,0), the area covered by the background BK is a rectangle area formed by point (0,0) and point (1920,1080); the object A is a rectangle area formed by point (50,50) and point (1500,950); the object B is a rectangle area formed by point (950,100) and point (1700,900); the object C is a rectangle area formed by point (25,540) and point (1800,880). - The amount of data required for writing/reading memory using traditional method to render above background and objects are as listed below:
- 1. Rendering the background BK: writing 1920*1080=207360;
- 2. Rendering the object A: reading 1000*900 for twice and writing 1000*900 for once, which is a total of 3*1000*900=2700000;
- 3. Rendering the object B: reading 750*800 for twice and writing 750*800 for once, which is a total of 3*750*800=1800000;
- 4. Rendering the object C: reading 1775*340 for twice and writing 1775*340 for once, which is a total of 3*1775*340=1810500;
- As stated above, the amount of data for reading/writing memory is 8384100.
- In comparison to the traditional method, the invention adopts the method of sorting the objects in left-to-right, top-to-bottom, front-to-back orders, such that the objects in
FIG. 5A are sorted and placed into the source chain in the following sequence: BK, C, A, B. - Next, referring to
FIG. 5A andFIG. 5B together, the background BK which is at the first position of the source chain is selected as the target object, and the object C is found by successively searching for the object in the source chain which is an overlapped object to the background BK. An overlappingarea 52 and 54, 56, 58 and 60 are defined based on positions of the background BK and the object C. After an image of the overlapping area 52 (i.e. C+BK) is blended, the overlapping area 52 (the blending object) and thenon-overlapping areas 54, 56, 58 and 60 are inserted back into the source chain as new objects. At this time, the sequence of the objects in the source chain is: 54, 56, 52, 58, A, B, 60. Wherein, saidnon-overlapping areas 54, 56, 58, 60 are divided in a sequence of left-to-right and up-to-bottom, said new objects are also inserted back into the source chain in a sequence of left-to-right and up-to-bottom. However, the invention is not limited thereto. Those skilled in the art may divide or insert the objects in a sequence of up-to-bottom, left-to-right or other sequences according to actual requirement.non-overlapping areas - Next, selecting the
object 54 which is now at the first position of the source chain as the target object, and successively searching for the overlapped object of the target object in the source chain. Since no other objects are overlapped with theobject 54, theobject 54 may be moved to the target chain. At this time, the sequence of the objects in the source chain is: 56, 52, 58, A, B, 60; the sequence of the objects in the target chain is: 54. - Next, referring to
FIG. 5B andFIG. 5C together, theobject 56 which is now at the first position of the source chain is selected as the target object, and the object A is found by successively searching for the overlapped object of the target object in the source chain. An overlappingarea 62 and 64, 66, 68 and 70 are defined based on positions of thenon-overlapping areas object 56 and the object A. After the overlapping area 62 (i.e. A+BK) is blended, the overlapping area 62 (i.e. the blending object) and the 64, 66, 68 and 70 are inserted back into the source chain as new objects. At this time, the sequence of the objects in the source chain is: 64, 52, 58, 66, 62, 70, B, 68, 60; and the sequence of the objects in the target chain is: 54.non-overlapping areas - Next, the
object 64 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with theobject 64, theobject 64 may be moved to the target chain. At this time, the sequence of the objects in the source chain is: 52, 58, 66, 62, 70, B, 68, 60; and the sequence of the objects in the target chain is: 54, 64. - Next, referring to
FIG. 5C andFIG. 5D together, theobject 52 which is now at the first position of the source chain is selected as the target object, and theobject 70 is found by successively searching for the overlapped object of the target object in the source chain. An overlappingarea 72 and 74, 76 and 78 are defined based on positions of thenon-overlapping areas object 52 and the object 70 (divided in a left-to-right, up-to-down order). After the overlapping area 72 (i.e. A+C+BK) is blended, the overlapping area 72 (i.e. the blending object) and the 74, 76 and 78 are inserted back into the source chain as new objects. At this time, the sequence of the objects in the source chain is: 74, 58, 66, 62, 72, 76, B, 68, 78, 60; and the sequence of the objects in the target chain is: 54, 64.non-overlapping areas - Next, the
object 74 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with theobject 74, theobject 74 may be moved to the target chain. At this time, the sequence of the objects in the source chain is: 58, 66, 62, 72, 76, B, 68, 78, 60; and the sequence of the objects in the target chain is: 54, 64, 74. - Next, referring to
FIG. 5D andFIG. 5E together, theobject 58 which is now at the first position of the source chain is selected as the target object, theobject 76 is found by successively searching for the overlapped object of the target object in the source chain. An overlappingarea 76 and 78, 80 and 82 are defined based on positions of thenon-overlapping areas object 58 and theobject 76. After the overlapping area 76 (i.e. A+BK) is blended, the overlappingarea 76 and the 78, 80 and 82 are inserted back into the source chain as new objects. At this time, the sequence of the objects in the source chain is: 78, 66, 62, 72, 76, 80, B, 68, 78, 82, 60; and the sequence of the objects in the target chain is: 54, 64, 74.non-overlapping areas - Next, the
object 78 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. At this time, the sequence of the objects in the source chain is: 66, 62, 72, 76, 80, B, 68, 78, 82, 60; and the sequence of the objects in the target chain is: 54, 64, 74, 78. - Next, the
object 66 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with theobject 66, theobject 66 may be moved to the target chain. At this time, the sequence of the objects in the source chain is: 62, 72, 76, 80, B, 68, 78, 82, 60; and the sequence of the objects in the target chain is: 54, 64, 74, 78, 66. - Next, referring to
FIG. 5E andFIG. 5F together, theobject 62 which is now at the first position of the source chain is selected as the target object, the object B is found by successively searching for the overlapped object of the target object in the source chain. An overlapping area 84 and 86, 88, 90 and 92 are defined based on positions of thenon-overlapping areas object 62 and the object B. After the overlapping area 84 (i.e. A+B+BK) is blended, the overlapping area 84 and the 86, 88, 90 and 92 are inserted back into the source chain as new objects. At this time, the sequence of the objects in the source chain is: 86, 72, 76, 80, 88, 84, 90, 68, 92, 78, 82, 60; and the sequence of the objects in the target chain is: 54, 64, 74, 78, 66.non-overlapping areas - Next, the
object 86 which is now at the first position of the source chain is selected as the target object, and the overlapped object of the target object in the source chain is successively searched. Since no other objects are overlapped with theobject 86, theobject 86 may be moved to the target chain. At this time, the sequence of the objects in the source chain is: 72, 76, 80, 88, 84, 90, 68, 92, 78, 82, 60; and the sequence of the objects in the target chain is: 54, 64, 74, 78, 66, 86. The above steps are repeated until all objects in the source chain are moved to the target chain. As a result, a dividing result as shown inFIG. 5G may be obtained. - The objects of the target chain are placed into the memory after being sorted, divided and blended using the rendering method of the invention. Therefore, the electronic device does not need to repeatedly reading/writing the images of the overlapping area when rendering the entire image. The amount of data for reading/writing memory may be reduced to:
- 1. Rendering the background BK: writing 1920*1080=207360;
- 2. Rendering the object A: reading 1000*900 for once, which is a total of 1000*900=900000;
- 3. Rendering the object B: reading 750*800 for once, which is a total of 750*800=600000;
- 4. Rendering the object C: reading 1775*340 for once, which is a total of 1775*340=603500;
- As stated above, the amount of data for reading/writing memory is 4177100, which is only a half of the traditional method.
- It should be noted that, related functionalities of the
sorting module 11, searchingmodule 12, blendingmodule 13 andrendering module 14 may be achieved by using general programming languages (e.g. C or C++), hardware description languages (e.g. Verilog HDL and VHDL) or other suitable programming languages. The resulting software may be disposed to any known computer-accessible medias, such as magnetic tapes, semiconductors, magnetic disks or compact disks (e.g. CD-ROM and DVD-ROM), or may be transmitted through Internet, wired communication, wireless communication or other communication media, and used by the computer to gain an access to the programming codes. In addition, the apparatus and method of the invention may be implemented through the combination of hardware and software. Therefore, the invention is not limited by the embodiments disclosed above, and variations of this invention are defined within the scope of the following claims and their equivalents. - Based on the above, the method and the apparatus for rendering overlapped objects of the invention sorts a plurality of objects according to the rendering properties of the objects, searches for the overlapped objects, blends the overlapped objects found, and then places the same into the target chain. Therefore, the objects in the target chain do not require repeating of reading/writing memory, nor further alpha-blending calculation, which may save the calculating resource and the occupied memory bandwidth.
- Although the invention has been described with reference to the above embodiments, it is apparent to one of the ordinary skill in the art that modifications to the described embodiments may be made without departing from the spirit of the invention. Accordingly, the scope of the invention will be defined by the attached claims not by the above detailed descriptions.
Claims (19)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011103911402A CN102496169A (en) | 2011-11-30 | 2011-11-30 | Method and device for drawing overlapped object |
| CN201210405662.8 | 2012-10-23 | ||
| CN201210405662.8A CN102929621B (en) | 2011-11-30 | 2012-10-23 | Method and device for drawing overlapping objects |
| CN201210405662 | 2012-10-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20140115531A1 true US20140115531A1 (en) | 2014-04-24 |
| US8726185B1 US8726185B1 (en) | 2014-05-13 |
Family
ID=46187991
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/666,970 Active US8726185B1 (en) | 2011-11-30 | 2012-11-02 | Method and apparatus for rendering overlapped objects |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8726185B1 (en) |
| CN (2) | CN102496169A (en) |
| TW (1) | TWI470577B (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014159299A1 (en) * | 2013-03-14 | 2014-10-02 | Microsoft Corporation | Graphics processing using multiple primitives |
| US20160048364A1 (en) * | 2014-08-18 | 2016-02-18 | Lenovo (Singapore) Pte. Ltd. | Content visibility management |
| US20160307365A1 (en) * | 2015-04-15 | 2016-10-20 | Mediatek Singapore Pte. Ltd. | Optimizing shading process for mixed order-sensitive and order-insensitive shader operations |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI630498B (en) * | 2016-12-22 | 2018-07-21 | 和碩聯合科技股份有限公司 | Method and system for drawing circuit and computer program products capable of performing drawing circuit |
| CN106971411A (en) * | 2017-03-13 | 2017-07-21 | 广东南方数码科技股份有限公司 | A kind of method and system of drawing image |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5307086A (en) * | 1991-10-08 | 1994-04-26 | International Business Machines Corporation | Method of implementing a preview window in an object oriented programming system |
| US7168048B1 (en) * | 1999-03-24 | 2007-01-23 | Microsoft Corporation | Method and structure for implementing a layered object windows |
| CN1369863A (en) * | 2001-02-15 | 2002-09-18 | 矽统科技股份有限公司 | Method for Improving Effects of Three-Dimensional Space Computer Graphics by Pre-sorting |
| JP2003233809A (en) * | 2002-02-07 | 2003-08-22 | Matsushita Electric Ind Co Ltd | Image synthesizing apparatus and image synthesizing method |
| US7755629B2 (en) * | 2004-06-30 | 2010-07-13 | Canon Kabushiki Kaisha | Method of rendering graphic objects |
| US8111260B2 (en) * | 2006-06-28 | 2012-02-07 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
| US8091030B1 (en) * | 2006-12-14 | 2012-01-03 | Disney Enterprises, Inc. | Method and apparatus of graphical object selection in a web browser |
| US20080284798A1 (en) | 2007-05-07 | 2008-11-20 | Qualcomm Incorporated | Post-render graphics overlays |
| US7907151B2 (en) * | 2007-05-14 | 2011-03-15 | Business Objects Software Ltd. | Apparatus and method for associating non-overlapping visual objects with z-ordered panes |
| US7956869B1 (en) * | 2007-07-13 | 2011-06-07 | Adobe Systems Incorporated | Proximity based transparency of windows aiding in obscured window selection |
| US8327277B2 (en) * | 2008-01-14 | 2012-12-04 | Microsoft Corporation | Techniques to automatically manage overlapping objects |
| WO2011011024A1 (en) * | 2009-07-23 | 2011-01-27 | Hewlett-Packard Development Company, L.P. | Display with an optical sensor |
| US9069437B2 (en) * | 2009-12-18 | 2015-06-30 | Lenovo (Beijing) Limited | Window management method, apparatus and computing device |
-
2011
- 2011-11-30 CN CN2011103911402A patent/CN102496169A/en active Pending
-
2012
- 2012-05-21 TW TW101117993A patent/TWI470577B/en active
- 2012-10-23 CN CN201210405662.8A patent/CN102929621B/en active Active
- 2012-11-02 US US13/666,970 patent/US8726185B1/en active Active
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014159299A1 (en) * | 2013-03-14 | 2014-10-02 | Microsoft Corporation | Graphics processing using multiple primitives |
| US20160048364A1 (en) * | 2014-08-18 | 2016-02-18 | Lenovo (Singapore) Pte. Ltd. | Content visibility management |
| US9870188B2 (en) * | 2014-08-18 | 2018-01-16 | Lenovo (Singapore) Pte. Ltd. | Content visibility management |
| US20160307365A1 (en) * | 2015-04-15 | 2016-10-20 | Mediatek Singapore Pte. Ltd. | Optimizing shading process for mixed order-sensitive and order-insensitive shader operations |
| US10002404B2 (en) * | 2015-04-15 | 2018-06-19 | Mediatek Singapore Pte. Ltd. | Optimizing shading process for mixed order-sensitive and order-insensitive shader operations |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102496169A (en) | 2012-06-13 |
| TWI470577B (en) | 2015-01-21 |
| CN102929621B (en) | 2015-11-18 |
| CN102929621A (en) | 2013-02-13 |
| TW201322180A (en) | 2013-06-01 |
| US8726185B1 (en) | 2014-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12347116B2 (en) | Generating alpha mattes utilizing deep learning | |
| CN105723358B (en) | System and method for automatic conversion of interactive sites and applications | |
| US9142044B2 (en) | Apparatus, systems and methods for layout of scene graphs using node bounding areas | |
| JP5990180B2 (en) | Browsing related image search result sets | |
| US20230137901A1 (en) | Techniques to Modify Content and View Content on Mobile Devices | |
| US20190114308A1 (en) | Optimizing a document based on dynamically updating content | |
| US20060020899A1 (en) | Scaling icons for representing files | |
| US20110216975A1 (en) | Up-Sampling Binary Images for Segmentation | |
| US20050251758A1 (en) | Indicating file type on thumbnail preview icon | |
| US8726185B1 (en) | Method and apparatus for rendering overlapped objects | |
| US11461943B1 (en) | Mosaic display systems and methods for intelligent media search | |
| US20140298218A1 (en) | Automatic application of templates to content | |
| US7692652B2 (en) | Selectively transforming overlapping illustration artwork | |
| US20150199119A1 (en) | Optimizing web site images using a focal point | |
| JP4782105B2 (en) | Image processing apparatus and image processing method | |
| US20210019006A1 (en) | Adaptive user interface for a multimedia creative design system | |
| WO2013179560A1 (en) | Image processing device and image processing method | |
| US9405446B1 (en) | Efficient and interactive presentation of item images | |
| CN107430477A (en) | For the technology of the layout of the collection of display content items and transition layout in response to user's touch input | |
| US20120042268A1 (en) | Processing user interfaces | |
| JP2005235224A (en) | Image providing method, system for providing user with image and computer program product | |
| CN120492679B (en) | Optimization method, device and storage medium for large-scale graph data visualization rendering | |
| EP4535144A1 (en) | Systems and methods for arranging design elements | |
| TW509873B (en) | Generation method for dynamic user interface with arbitrary shape | |
| CN121532799A (en) | Image processing using scene graphs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: VIA TECHNOLOGIES, INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, GUO-FENG;ZHU, YI-FEI;REEL/FRAME:029230/0279 Effective date: 20121101 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |