Patent classifications
G06T15/40
SYSTEM AND METHOD FOR PROVIDING AUGMENTED VIRTUALITY
A system and method for providing an augmented virtuality solution. A real environment video frame of a human and background is captured. The human is removed from the real environment frame using an RGBA array, a depth array, and a stencil array and composited onto a virtual environment frame using occlusion depth array and refined depth mask array.
HIDDEN SURFACE REMOVAL FOR LAYERED CLOTHING FOR AN AVATAR BODY
An automated cage-to-cage fitting technique is used to fit three-dimensional (3D) geometry to target 3D geometry for 3D avatars in a 3D environment, such as an online game. Each graphical representation of items of clothing is provided with an inner cage and an outer cage. The inner cage of a clothing item (a current layer) is mapped to the outer cage of another clothing item (a previous/underlying layer) that has been fitted on the 3D avatar. This mapping enables the current layer to conform to the shape of the previous layer. The technique allows any body geometry to be fitted with any clothing geometry, including enabling layers of clothing to be fitted over underlying layer(s). Hidden surface removal (HSR) operations may be performed to identify surfaces of an underlying layer that are hidden by an overlying layer, and such hidden surfaces are not rendered.
IMAGE REPROJECTION METHOD, AND AN IMAGING SYSTEM
Disocclusion in a VR/AR system may be handled by obtaining depth and color data for the disoccluded area from a 3D model of the imaged environment. The data may be obtained by raytracing and included in the image stream by the reprojecting subsystem.
Transformed geometry data cache for graphics processing systems
A cache for use in a tile-based rendering graphics processing system for storing transformed primitive blocks, the graphics processing system having a rendering space sub-divided into a plurality of tiles to which primitives can be associated, the graphics processing system comprising rasterization logic that rasterizes primitives on a per tile basis in a plurality of stages, the cache comprising: memory configured to store a plurality of transformed primitive blocks in the cache, each transformed primitive block comprising transformed geometry data for one or more primitives; control logic configured to: maintain a counter for each of the plurality of transformed primitive blocks stored in the cache that indicates a number of tiles of the plurality of tiles that are currently being processed by the rasterization logic and require access to that transformed primitive block, the counter being updated when any stage of the rasterization logic indicates a tile no longer requires access to the transformed primitive block; in response to receiving a request to add a new transformed primitive block to the cache when the cache is full, select a transformed primitive block to evict from the cache based on the counters associated therewith; and evict the selected transformed primitive block from the cache.
Transformed geometry data cache for graphics processing systems
A cache for use in a tile-based rendering graphics processing system for storing transformed primitive blocks, the graphics processing system having a rendering space sub-divided into a plurality of tiles to which primitives can be associated, the graphics processing system comprising rasterization logic that rasterizes primitives on a per tile basis in a plurality of stages, the cache comprising: memory configured to store a plurality of transformed primitive blocks in the cache, each transformed primitive block comprising transformed geometry data for one or more primitives; control logic configured to: maintain a counter for each of the plurality of transformed primitive blocks stored in the cache that indicates a number of tiles of the plurality of tiles that are currently being processed by the rasterization logic and require access to that transformed primitive block, the counter being updated when any stage of the rasterization logic indicates a tile no longer requires access to the transformed primitive block; in response to receiving a request to add a new transformed primitive block to the cache when the cache is full, select a transformed primitive block to evict from the cache based on the counters associated therewith; and evict the selected transformed primitive block from the cache.
Occluder generation for structures in digital applications
A method is performed at a computing system for automatically generating an occluder, the method includes receiving an input model of the visual three-dimensional structure, the input model having a plurality of faces. The method includes generating an initial occluder by simplifying the input model into a plurality of candidate patches in a patch-based coarse mesh. The method includes comparing a first two-dimensional area occluded by the input model of the visual three-dimensional structure and a second two-dimensional area occluded by the initial occluder along the first view direction to determine a first quality metric based on a first number of pixels that are blocked by the input model that is also blocked by the initial occluder. The method includes removing a plurality of faces from the initial occluder while maintaining the first quality metric above a first threshold to form the occluder for the visual three-dimensional structure.
Occluder generation for structures in digital applications
A method is performed at a computing system for automatically generating an occluder, the method includes receiving an input model of the visual three-dimensional structure, the input model having a plurality of faces. The method includes generating an initial occluder by simplifying the input model into a plurality of candidate patches in a patch-based coarse mesh. The method includes comparing a first two-dimensional area occluded by the input model of the visual three-dimensional structure and a second two-dimensional area occluded by the initial occluder along the first view direction to determine a first quality metric based on a first number of pixels that are blocked by the input model that is also blocked by the initial occluder. The method includes removing a plurality of faces from the initial occluder while maintaining the first quality metric above a first threshold to form the occluder for the visual three-dimensional structure.
GENERATING AND MODIFYING AN ARTIFICIAL REALITY ENVIRONMENT USING OCCLUSION SURFACES AT PREDETERMINED DISTANCES
A method includes generating a depth map of a real environment as seen from a viewpoint that comprises pixels having corresponding depth values of one or more physical objects. A first two-dimensional occlusion surface is generated representing at least a visible portion of the one or more physical objects located within a first predetermined depth range defined relative to the viewpoint. A second two-dimensional occlusion surface is generated such that a minimum depth of a second predetermined depth range is greater than a maximum depth of the first predetermined depth range. The first and second occlusion surfaces are posed in a three-dimensional coordinate system. The visibility of a virtual object is determined relative to the one or more physical objects by comparing a model of the virtual object with the first and second occlusion surfaces, and an output image is generated based on the visibility of the virtual object.
Hidden culling in tile-based computer generated images
A method and system is provided for culling hidden objects in a tile-based graphics system before they are indicated in a display list for a tile. A rendering space is divided into a plurality of regions which may for example be a plurality of tiles or a plurality of areas into which one or more tiles are divided. Depth thresholds for the regions, which are used to identify hidden objects for culling, are updated when an object entirely covers a region and in dependence on a comparison between a depth value for the object and the depth threshold for the region. For example, if the depth threshold is a maximum depth threshold, the depth threshold may be updated if an object entirely covers the tile and the maximum depth value of the object is less than the maximum depth threshold.
CONTENT GENERATION SYSTEM AND METHOD
A system for improving a discovery process for a virtual environment, the system comprising an environment discovery unit operable to perform a discovery process comprising navigation of the virtual environment and identification of one or more aspects of the virtual environment, a performance analysis unit operable to evaluate the effectiveness of the discovery process, and a discovery update unit operable to modify future operation of the environment discovery unit in dependence upon the evaluation.