WO2023202365A1 - 图形处理器、系统、装置、设备及方法 - Google Patents

图形处理器、系统、装置、设备及方法 Download PDF

Info

Publication number
WO2023202365A1
WO2023202365A1 PCT/CN2023/085906 CN2023085906W WO2023202365A1 WO 2023202365 A1 WO2023202365 A1 WO 2023202365A1 CN 2023085906 W CN2023085906 W CN 2023085906W WO 2023202365 A1 WO2023202365 A1 WO 2023202365A1
Authority
WO
WIPO (PCT)
Prior art keywords
texture
level
progressive
area
level progressive
Prior art date
Application number
PCT/CN2023/085906
Other languages
English (en)
French (fr)
Inventor
唐志敏
姜莹
王海洋
Original Assignee
象帝先计算技术(重庆)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 象帝先计算技术(重庆)有限公司 filed Critical 象帝先计算技术(重庆)有限公司
Publication of WO2023202365A1 publication Critical patent/WO2023202365A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Definitions

  • the present disclosure relates to the field of image rendering technology, and in particular to a GPU (Graphics Processing Unit, graphics processor), system, electronic device, electronic equipment and graphics processing method.
  • GPU Graphics Processing Unit, graphics processor
  • the texture map is processed into a file composed of a series of pre-calculated and optimized pictures.
  • This set of files includes multi-level precision texture maps, and the accuracy (i.e. resolution) of each level of texture map is half of the texture map of the previous level.
  • the texture map processed in this way is called a multi-level progressive (Mipmap) texture.
  • Mipmap textures texture maps with different precisions will be selected according to the distance of the camera when mapping.
  • the traditional approach is for the software to obtain the Miplevel (Mipmap level) calculated by the hardware during texture sampling. Since some areas in a frame of image are close to the camera and some areas are far away from the camera, the Miplevel obtained after hardware calculation is usually within an interval, that is, the software obtains a minlevel (minimum level) and a maxlevel (maximum level). And load the MipMap texture between minlevel and maxlevel into video memory.
  • the Miplevel Mipmap level
  • the purpose of this disclosure is to provide a graphics processor, a graphics processing system, an electronic device, an electronic equipment and a graphics processing method to reduce the waste of video memory space.
  • a graphics processor which at least includes:
  • the multi-level progressive level determination module is configured to: determine the multi-level progressive level corresponding to each texture coordinate according to the input pixel coordinates and texture coordinates;
  • the texture block determination module is configured to: determine the multi-level progressive texture area to which each texture coordinate belongs, wherein the multi-level progressive texture is divided into multiple areas;
  • the multi-level progressive level information and the multi-level progressive texture area information are output to the texture loading software, so that the texture loading software determines each multi-level progressive texture area based on the multi-level progressive level information and the multi-level progressive texture area information.
  • the corresponding multi-level progressive level and loads the multi-level progressive texture area of the corresponding multi-level progressive level
  • the multi-level progressive level information indicates the multi-level progressive level corresponding to each texture coordinate
  • the multi-level progressive texture area information Indicates the multi-level progressive texture region to which each texture coordinate belongs.
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple areas according to the distance to the camera.
  • the above-mentioned graphics processor may also include a region dividing module configured to: divide the multi-level progressively distant texture areas according to each texture coordinate and the multi-level progressively further away levels corresponding to the texture coordinates.
  • the target texture coordinate ratio reaches the set threshold, and the target texture coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • the multi-level asymptotic level corresponding to each texture coordinate is determined based on the input pixel coordinates and texture coordinates.
  • the specific implementation method may include: respectively based on the input pixel coordinates and texture coordinates of each layer in the three-dimensional space.
  • the texture coordinates determine the multi-level asymptotic level corresponding to each texture coordinate in each layer.
  • the specific implementation method of determining the multi-level progressive texture area to which each texture coordinate belongs may include: respectively determining the multi-level progressive texture area to which each texture coordinate in each layer belongs.
  • a graphics processing system includes the graphics processor described in any embodiment of the first aspect.
  • the graphics processing system may further include a processor configured to execute the above texture loading software.
  • an electronic device including the graphics processing system described in the embodiment of the second aspect.
  • an electronic device including the electronic device described in the embodiment of the third aspect.
  • a graphics processor including:
  • the multi-level progressive level determination module is configured to: determine the multi-level progressive level corresponding to each texture coordinate according to the input pixel coordinates and texture coordinates;
  • the multi-level progressive level information is output to the texture loading software, so that the texture loading software determines the multi-level progressive texture area to which each texture coordinate belongs, and determines each level based on the multi-level progressive level information and the multi-level progressive texture area information.
  • the multi-level gradual distance corresponding to the multi-level gradual distance texture area loads the corresponding multi-level gradual distance texture area;
  • the multi-level gradual distance level information indicates the multi-level gradually distant level corresponding to each texture coordinate.
  • the progressively distant texture area information indicates the multi-level progressively distant texture area to which each texture coordinate belongs.
  • the specific implementation of the above-mentioned determination of the multi-level progressive texture area to which each texture coordinate belongs may include:
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple areas according to the distance to the camera.
  • the texture loading software can divide the multi-level progressive texture area according to each texture coordinate and the multi-level progressive level corresponding to the texture coordinate.
  • the target texture The coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • the multi-level asymptotic level corresponding to each texture coordinate is determined based on the input pixel coordinates and texture coordinates.
  • the specific implementation method may include: respectively based on the input three-dimensional space The pixel coordinates and texture coordinates of each layer determine the multi-level asymptotic level corresponding to each texture coordinate in each layer.
  • the specific implementation method of determining the multi-level progressive texture area to which each texture coordinate belongs may include: respectively determining the multi-level progressive texture area to which each texture coordinate in each layer belongs.
  • a graphics processing system includes the graphics processor described in any embodiment of the fifth aspect.
  • the graphics processing system may further include a processor configured to execute the above texture loading software.
  • an electronic device including the graphics processing system described in the embodiment of the sixth aspect.
  • an electronic device including the electronic device described in the embodiment of the seventh aspect.
  • a graphics processing method which method at least includes the following steps:
  • the graphics processor determines the multi-level asymptotic level corresponding to each texture coordinate based on the input pixel coordinates and texture coordinates;
  • the graphics processor determines the multi-level progressive texture area to which each texture coordinate belongs, wherein the multi-level progressive texture is divided into multiple areas;
  • the graphics processor outputs multi-level asymptotic level information and multi-level asymptotic texture area information.
  • the multi-level asymptotic level information indicates the multi-level asymptotic level corresponding to each texture coordinate.
  • the multi-level asymptotic texture area information indicates the multi-level asymptotic level to which each texture coordinate belongs. Multi-level progressive texture area;
  • the texture loading software determines the multi-level fading level corresponding to each multi-level fading texture area based on the multi-level fading layer information and the multi-level fading texture area information, and loads the multi-level fading texture area of the corresponding multi-level fading layer. .
  • the specific implementation of the above-mentioned determination of the multi-level progressive texture area to which each texture coordinate belongs may include:
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple areas according to the distance to the camera.
  • the above method may also include: the graphics processor divides the multi-level progressively distant texture area according to each texture coordinate and the multi-level progressively further away level corresponding to the texture coordinate, and the target texture coordinate ratio in the same multi-level progressively further away texture area reaches the set value.
  • the target texture coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • the multi-level asymptotic level corresponding to each texture coordinate is determined based on the input pixel coordinates and texture coordinates.
  • the specific implementation method may include: respectively based on the input three-dimensional space The pixel coordinates and texture coordinates of each layer determine the multi-level asymptotic level corresponding to each texture coordinate in each layer.
  • the specific implementation method of determining the multi-level progressive texture area to which each texture coordinate belongs may include: respectively determining the multi-level progressive texture area to which each texture coordinate in each layer belongs.
  • a graphics processing method which method at least includes the following steps:
  • the graphics processor determines the multi-level asymptotic level corresponding to each texture coordinate based on the input pixel coordinates and texture coordinates;
  • the graphics processor outputs multi-level asymptotic level information, and the multi-level asymptotic level information indicates the multi-level asymptotic level corresponding to each texture coordinate;
  • the texture loading software determines the multi-level progressive texture area to which each texture coordinate belongs, where the multi-level progressive texture is divided into multiple areas;
  • the texture loading software determines the multi-level fading level corresponding to each multi-level fading texture area based on the multi-level fading layer information and the multi-level fading texture area information, and loads the multi-level fading texture area of the corresponding multi-level fading layer.
  • the multi-level progressive texture area information indicates the multi-level progressive texture area to which each texture coordinate belongs.
  • the specific implementation of the above-mentioned determination of the multi-level progressive texture area to which each texture coordinate belongs may include:
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple areas according to the distance to the camera.
  • the above method may also include: the texture loading software divides the multi-level progressive texture area according to each texture coordinate and the multi-level progressive level corresponding to the texture coordinate, and the target texture coordinate ratio in the same multi-level progressive texture area reaches the set value.
  • the target texture coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • the multi-level asymptotic level corresponding to each texture coordinate is determined based on the input pixel coordinates and texture coordinates.
  • the specific implementation method may include: respectively based on the input three-dimensional space The pixel coordinates and texture coordinates of each layer determine the multi-level asymptotic level corresponding to each texture coordinate in each layer.
  • the specific implementation method of determining the multi-level progressive texture area to which each texture coordinate belongs may include: respectively determining the multi-level progressive texture area to which each texture coordinate in each layer belongs.
  • a graphics processing method which method at least includes the following operations:
  • the multi-level progressive level information indicates the multi-level progressive level corresponding to each texture coordinate.
  • the multi-level progressive texture area information indicates the multi-level progressive level to which each texture coordinate belongs. Far texture area;
  • the multi-level progressive level corresponding to each multi-level progressive texture area is determined based on the multi-level progressive level information and the multi-level progressive texture area information, and the multi-level progressive texture area of the corresponding multi-level progressive level is loaded.
  • the above method may also include:
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple regions according to the distance to the camera.
  • the above method may also include: dividing the multi-level progressively distant texture area according to each texture coordinate and the multi-level progressively further away level corresponding to the texture coordinate, and the target texture coordinate ratio in the same multi-level progressively further away texture area reaches the set threshold,
  • the target texture coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • a graphics processing method which method at least includes the following operations:
  • the multi-level progressive level information indicates the multi-level progressive level corresponding to each texture coordinate
  • the progressive texture area information indicates the multi-level progressive texture area to which each texture coordinate belongs.
  • the specific implementation of the above-mentioned determination of the multi-level progressive texture area to which each texture coordinate belongs may include:
  • the multi-level progressive texture area whose texture coordinates fall within the texture coordinate range is determined as the multi-level progressive texture area to which the texture coordinates belong.
  • the multi-level progressive texture is divided into multiple regions according to the distance to the camera.
  • the above method may also include: dividing the multi-level progressively distant texture area according to each texture coordinate and the multi-level progressively further away level corresponding to the texture coordinate, and the target texture coordinate ratio in the same multi-level progressively further away texture area reaches the set threshold,
  • the target texture coordinates include texture coordinates corresponding to the same multi-level asymptotic level.
  • Figure 1 is a schematic diagram of Mipmap texture blocking according to an embodiment of the present disclosure
  • Figure 2 is a schematic diagram of loading Mipmap textures in blocks according to an embodiment of the present disclosure
  • Figure 3 is a schematic structural diagram of a graphics processing system according to an embodiment of the present disclosure.
  • Figure 4 is a schematic flowchart of a graphics processing method according to an embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart of a graphics processing method according to another embodiment of the present disclosure.
  • the terms “first”, “second”, etc. may be used to describe various features, but these features should not be limited by these terms. These terms are used solely to distinguish one characteristic from another.
  • connection or communication between the two components may be understood as a direct connection or communication, or a direct connection or communication between the two components. It can be understood as indirect connection or communication through intermediate components.
  • the present disclosure provides a GPU that loads Mipmap textures in blocks based on Mipmap feedback. Divide the Mipmap texture into regions (i.e., into blocks), and load the Mipmap texture corresponding to the Miplevel in blocks by counting the Mipmap feedback (including Miplevel) in each area.
  • the embodiment of the present disclosure can load partial textures of this level instead of complete textures according to Miplevel, saving video memory space.
  • the communication delay and bandwidth between the CPU (Central Processing Unit) and the GPU are also effectively reduced.
  • GPU refers to a processor with computing functions implemented through hardware, which includes computing units, caches and other components. It can be a GPGPU (general-purpose graphics processing unit, general-purpose graphics processor) or a GPU.
  • GPGPU general-purpose graphics processing unit, general-purpose graphics processor
  • GPU GPU
  • the graphics processor provided by the embodiment of the present disclosure is suitable for tile-based rendering architecture, such as TBR (Tile Based Render, tile-based rendering), TBDR (Tile Based Deferred Rendering, tile-based delayed rendering), etc., and also Applicable to IMR (Immediate Mode Rendering, immediate mode rendering) architecture.
  • TBR Tile Based Render, tile-based rendering
  • TBDR Tile Based Deferred Rendering, tile-based delayed rendering
  • IMR Immediate Mode Rendering, immediate mode rendering
  • One embodiment of the present disclosure provides a graphics processor, which at least includes a multi-level asymptotic level (ie, Miplevel) determination module and a texture tile determination module.
  • a graphics processor which at least includes a multi-level asymptotic level (ie, Miplevel) determination module and a texture tile determination module.
  • the multi-level asymptotic level determination module is configured to: determine the Miplevel corresponding to each texture coordinate according to the input pixel coordinates and texture coordinates.
  • the embodiments of this disclosure do not limit the specific implementation method of determining Miplevel by the multi-level asymptotic level determination module, which can be implemented using existing implementation means or existing implementation principles.
  • the texture block determination module is configured to determine the Mipmap texture area to which each texture coordinate belongs.
  • the Mipmap texture is divided into multiple areas.
  • Mipmap textures include four levels of texture maps: Miplevel1, Miplevel2, Miplevel3, and Miplevel4.
  • the texture map of Miplevel1 is the original resolution texture map.
  • the Mipmap texture is divided into three areas, and the texture maps at each level are divided in the same way.
  • the three Mipmap texture areas are Mipmap texture area 1, Mipmap texture area 2 and Mipmap texture area 3 respectively.
  • the texture coordinate range of Mipmap texture area 1 is (U0min, V0min), (U0max, V0max), the texture coordinate range of Mipmap texture area 2 is (U1min, V1min), (U1max, V1max), and the texture coordinate range of Mipmap texture area 3 is are (U2min, V2min), (U2max, V2max).
  • the Mipmap texture area is divided in the same way as in Mipmap level 1, but because the resolution is halved, the area size is also halved.
  • Miplevel information is generated, and the Miplevel information indicates the Miplevel corresponding to each texture coordinate.
  • Miplevel information may be generated and output by a multi-level asymptotic level determination module, or may be generated and output by other hardware modules in the GPU, which is not limited in the embodiments of the present disclosure.
  • determining the Mipmap texture area to which each texture coordinate belongs will generate Mipmap texture area information, and the Mipmap texture area information indicates the Mipmap texture area to which each texture coordinate belongs.
  • Mipmap texture area information can be determined by texture tiles.
  • the block generation and output may also be generated and output by other hardware modules in the GPU, which is not limited in the embodiments of the present disclosure.
  • the functions of the multi-level asymptotic level determination module and the texture block determination module can be implemented through existing hardware, for example, using existing ALU.
  • the functions of the multi-level asymptotic level determination module and the texture block determination module can also be realized by developing new hardware.
  • the texture loading software obtains Miplevel information and Mipmap texture area information, determines the Miplevel corresponding to each Mipmap texture area based on the Miplevel information and Mipmap texture area information, and loads the multi-level progressive texture area of the corresponding Miplevel.
  • the texture loading software can determine the Mipmap texture area to which each texture coordinate belongs based on the Mipmap texture area, that is, it can determine the texture coordinates covered by each Mipmap texture area.
  • the texture loading software can determine the Miplevel corresponding to each texture coordinate based on the Miplevel information. That is to say, for each Mipmap texture area, the Miplevel corresponding to the texture coordinates covered by it can be determined.
  • the Miplevel corresponding to the texture coordinates covered by the Mipmap texture area is the Miplevel corresponding to the Mipmap texture area. Assume that the texture coordinates covered by a certain Mipmap texture area correspond to three Miplevels, then the Miplevel corresponding to the Mipmap texture area is these three Miplevels.
  • the maximum level and the minimum level corresponding to the texture coordinates covered by the Mipmap texture area and the Miplevel between them are the Miplevel corresponding to the Mipmap texture area. Assume that the texture coordinates covered by a certain Mipmap texture area correspond to three Miplevels. Then, the Miplevel corresponding to the Mipmap texture area is the maximum level, the minimum level, and all Miplevels between the maximum level and the minimum level among the three Miplevels.
  • Mipmap texture area 1 corresponds to Miplevel1 and Miplevel2
  • Mipmap texture area 2 corresponds to Miplevel2 and Miplevel3
  • Mipmap texture area 3 corresponds to Miplevel1.
  • Mipmap texture area 1 in Miplevel1 and Miplevel2 is loaded
  • Mipmap texture area 2 in Miplevel2 and Miplevel3 is loaded
  • Mipmap texture area 3 in Miplevel1 is loaded.
  • the above-mentioned determination of the Mipmap area to which each texture coordinate belongs is implemented by: comparing each texture coordinate with the texture coordinate range of the Mipmap texture area; The range's Mipmap texture area is determined to be the Mipmap texture area to which the texture coordinates belong.
  • the texture coordinate range of the Mipmap texture area is determined based on the original resolution in the Mipmap texture. Assume that the texture coordinate range of a certain Mipmap texture area is as follows: (U0min, V0min), (U0max, V0max). For a certain texture coordinate (U, V), if U0min ⁇ U ⁇ U0max, and V0min ⁇ V ⁇ V0max, then The texture coordinate falls into the Mipmap texture area (that is, the Mipmap texture area covers the texture coordinate, that is, the Mipmap texture area is the Mipmap texture area to which the texture coordinate belongs). Otherwise, the texture coordinate does not fall into the Mipmap texture area.
  • (U0min, V0min), (U0max, V0max) are the texture coordinates on the texture map of the original resolution in the Mipmap texture.
  • the embodiments of the present disclosure do not limit the division of Mipmap texture areas.
  • zoning is performed by software, and in other embodiments, zoning is performed by hardware in the GPU.
  • the mipmap texture is divided into several mipmap texture areas.
  • a division strategy is formulated based on requirements, actual rendering characteristics, etc., and the Mipmap texture is divided into several Mipmap texture areas according to the formulated division strategy.
  • a mipmap texture is divided into regions based on distance from the camera.
  • the above-mentioned graphics processor may also include an area division module configured to: divide the Mipmap texture area according to each texture coordinate and the Miplevel corresponding to the texture coordinate, and the target texture coordinate ratio in the same Mipmap texture area reaches a set threshold.
  • the target texture coordinates include texture coordinates corresponding to the same Miplevel.
  • the texture coordinates of the original resolution texture map in the Mipmap texture are grouped.
  • the same group of texture coordinates corresponds to the same Miplevel in the image frame, and any texture coordinate in the same group of texture coordinates Adjacent to at least one texture coordinate in this group, each group of texture coordinates constitutes a Mipmap texture area.
  • the texture coordinates of the original resolution texture map in the Mipmap texture are traversed, and each time a texture coordinate is traversed, it is determined whether the texture coordinate can be classified into an existing group.
  • the texture coordinate is consistent with the majority of a certain group, If the texture coordinate corresponds to the same Miplevel in the image frame and is adjacent to at least one texture coordinate in the group, then the texture coordinate is classified into the group. Otherwise, determine whether the texture coordinate falls into the texture coordinate range of the existing group ( Umin, Vmin), (Umax, Vmax), if it falls within, the texture coordinate is classified into the group, otherwise, a new group is created and the texture coordinate is classified into the new group.
  • the texture coordinates in each group constitute a Mipmap texture area. In a group, there are n texture coordinates corresponding to one Miplevel, m texture coordinates corresponding to another Miplevel, and p texture coordinates corresponding to another Miplevel. Among them, the number of n is the largest. Then, these n texture coordinates are called the majority. Texture coordinates.
  • the Miplevel corresponding to each texture coordinate is determined based on the input pixel coordinates and texture coordinates.
  • the specific implementation method may include: determining each layer based on the input pixel coordinates and texture coordinates of each layer in the three-dimensional space. layer The Miplevel corresponding to each texture coordinate in .
  • the specific implementation method of determining the Mipmap texture area to which each texture coordinate belongs may include: respectively determining the Mipmap texture area to which each texture coordinate in each layer belongs.
  • the Miplevel information and Mipmap texture area information in each layer are output to the texture loading software, so that the texture loading software determines the Miplevel corresponding to each Mipmap texture area in each layer based on the Miplevel information and Mipmap texture area information of each layer, and loads it. Corresponding Miplevel Mipmap texture area.
  • embodiments of the present disclosure can be applied to three-dimensional texture processing.
  • the Mipmap texture area division method of each layer can be different.
  • the GPU may not include a texture tiling determination module, and the functions implemented by the texture tiling determination module are implemented by texture loading software.
  • the implementation principle for the texture loading software to determine the Mipmap texture area to which each texture coordinate belongs can refer to the description of the above embodiment, and will not be described again here.
  • An embodiment of the present disclosure also provides a graphics processing system, which includes the graphics processor described in any of the above embodiments.
  • the graphics processing system may further include a processor configured to execute the above texture loading software.
  • the product form of the graphics processing system may be a SOC (System on Chip) chip.
  • the SOC chip may include the above-mentioned processor.
  • the graphics processor system in the embodiment of the present disclosure may be a single-die (wafer) SOC chip or a multi-die interconnected SOC chip.
  • a single-die graphics processing system includes a GPU core, which is the above-mentioned graphics processor.
  • the GPU core is used to process drawing instructions. According to the drawing instructions, it executes the pipeline of image rendering and can also be used to execute other computing instructions.
  • the GPU core further includes: a computing unit, which is used to execute compiled instructions of the shader. It is a programmable module and consists of a large number of ALUs; a cache (Cache), which is used to cache GPU core data to reduce access to memory; Rasterization module, a fixed stage of the 3D rendering pipeline; Tilling module, which divides a frame into tiles in the TBR and TBDR GPU architecture; Cropping module, a fixed stage of the 3D rendering pipeline, crops out Graph elements that are outside the observation range or are not displayed on the back; the post-processing module is used to perform operations such as scaling, cropping, rotating, etc. on the finished drawing; the Micro core is used between various pipeline hardware modules on the GPU core Scheduling, or task scheduling for multiple GPU cores.
  • the GPU cores are connected to the on-chip network.
  • the on-chip network is used for data exchange between masters and slaves on the graphics processing system.
  • the on-chip network includes a configuration bus, a data communication network, a communication bus, and so on.
  • the graphics processing system can also include:
  • Universal DMA Direct Memory Access
  • DMA is used to move the vertex data of 3D drawings from the host. to graphics processing system memory;
  • PCIe controller an interface used to communicate with the host, implements the PCIe protocol, so that the graphics processing system is connected to the host through the PCIe interface, and the graphics API and graphics card driver and other programs are run on the host;
  • the application processor is used to schedule the tasks of each module on the graphics processing system. For example, after the GPU has finished rendering a frame, it notifies the application processor, and the application processor then starts the display controller to display the picture drawn by the GPU on the screen;
  • Memory controller used to connect memory devices and save data on the SOC
  • the display controller controls the output of the frame buffer in the memory to the display through the display interface (HDMI, DP, etc.);
  • Video decoding can decode the encoded video on the host hard disk into a displayable picture
  • Video encoding can encode the original video stream on the host hard disk into a specified format and return it to the host.
  • the graphics rendering process is as follows:
  • the graphics API of the host computer sends drawing instructions to the SOC chip, requiring rendering of image frames.
  • the drawing instructions can carry Mipmap texture area division information.
  • the mipmap texture is divided into three areas as shown in Figure 1.
  • the general DMA transfers the vertex data of each object in the image frame (vertex data includes the 3D coordinates of the object's vertices) from the host to the graphics processing system memory.
  • the computing unit of the GPU core decodes the drawing instruction.
  • the vertex shader of the GPU core (its function is implemented by the computing unit) obtains the vertex data of each object in the image frame from the system memory, and transmits the vertex data of the object to the geometry shader (its function is implemented by the computing unit).
  • Geometry shading The converter converts the 3D coordinates of the object's vertices into unfolded texture coordinates (i.e. (u, v) coordinates).
  • the tile division module in the GPU core performs tile division processing on the objects in the image frame, and saves the tile division processing results to the tile buffer.
  • the tile division processing results include images covering the tiles.
  • the primitive index of the primitive is the
  • the rasterization module After the tile division is completed, the rasterization module performs rasterization processing.
  • the rasterization module processes it tile by tile, each time from the tile buffer Read the primitive index of the primitive covering the current tile; the rasterization module reads the primitive information of the primitive through the primitive index, and uses the primitive information of the primitive to perform a pixel coverage test to determine the primitive
  • the covered pixels are then subjected to pixel interpolation calculation and at least one pixel test (as an example and not a limitation, the pixel test may include a depth test, a template test, etc.).
  • the fragment shader of the GPU core (its function is implemented by the computing unit) performs the shading calculation (such as lighting calculation) of the corresponding pixel.
  • the multi-level asymptotic level determination module determines the Miplevel corresponding to each texture coordinate based on the input pixel coordinates and texture coordinates, and outputs Miplevel information indicating the Miplevel corresponding to each texture coordinate.
  • the texture tile determination module (its function is implemented by the computing unit) determines the Mipmap texture area to which each texture coordinate belongs by comparing each texture coordinate with the coordinate range of each Mipmap texture area, and outputs an indication of the Mipmap texture area to which each texture coordinate belongs. Mipmap texture area information.
  • the graphics API determines the texture coordinates covered by each Mipmap texture area based on the Mipmap texture area information, and determines each Mipmap texture based on the Mipmap texture information.
  • the Miplevel corresponding to the texture coordinates of the area coverage.
  • Mipmap texture area 1 corresponds to Miplevel1 and Miplevel2
  • Mipmap texture area 2 corresponds to Miplevel2 and Miplevel3
  • Mipmap texture area 3 corresponds to Miplevel1.
  • the graphics API loads the corresponding Miplevel multi-level progressive texture area. As shown in Figure 2, Mipmap texture area 1 in Miplevel1 and Miplevel2 is loaded, Mipmap texture area 2 in Miplevel2 and Miplevel3 is loaded, and Mipmap texture area 3 in Miplevel1 is loaded.
  • An embodiment of the present disclosure also provides an electronic device, which includes the graphics processing system described in any of the above embodiments.
  • the product form of the electronic device is a graphics card; in other usage scenarios, the product form of the electronic device is a CPU motherboard.
  • An embodiment of the present disclosure also provides an electronic device, which includes the above-mentioned electronic device.
  • the product form of the electronic device is a portable electronic device, such as a smartphone, tablet, VR device, etc.; in some usage scenarios, the product form of the electronic device is a personal computer, game console, workstation, server wait.
  • embodiments of the present disclosure also provide a graphics processing method, as shown in Figure 4.
  • the method at least includes the following steps:
  • Step 401 The graphics processor determines the Miplevel corresponding to each texture coordinate based on the input pixel coordinates and texture coordinates;
  • Step 402 The graphics processor determines the Mipmap texture area to which each texture coordinate belongs, where the Mipmap texture is divided into multiple areas;
  • Step 403 The graphics processor outputs Miplevel information and Mipmap texture area information.
  • the Miplevel information indicates the Miplevel corresponding to each texture coordinate
  • the Mipmap texture area information indicates the Mipmap texture area to which each texture coordinate belongs;
  • Step 404 The texture loading software determines the Miplevel corresponding to each Mipmap texture area based on the Miplevel information and the Mipmap texture area information, and loads the Mipmap texture area of the corresponding Miplevel.
  • the above texture loading software runs on the processor of the graphics processing system. If the method shown in Figure 4 is applied to the above-mentioned electronic device, then the above-mentioned texture loading software can run on either the CPU of the electronic device or the processor of the graphics processing system of the electronic device.
  • step 402 is performed by the texture loading software rather than by the graphics processor.
  • step 403 the graphics processor does not need to output the Mipmap texture area information.
  • embodiments of the present disclosure also provide a graphics processing method, which is implemented by texture loading software. As shown in Figure 5, the method at least includes the following steps:
  • Step 501 Obtain Miplevel information and Mipmap texture area information.
  • Miplevel information indicates the Miplevel corresponding to each texture coordinate
  • Mipmap texture area information indicates the Mipmap texture area to which each texture coordinate belongs;
  • Step 502 Determine the Miplevel corresponding to each Mipmap texture area according to the Miplevel information and the Mipmap texture area information, and load the Mipmap texture area of the corresponding Miplevel.
  • the texture loading software determines the Mipmap texture area to which each texture coordinate belongs, where the Mipmap texture is divided into multiple areas. Then, in step 501, the texture loading software only needs to obtain the Miplevel information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本公开提供一种图形处理器、系统、方法、电子装置及电子设备。该图形处理器包括多级渐远层级确定模块:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;纹理分块确定模块:确定各个纹理坐标所属的多级渐远纹理区域;其中,多级渐远层级信息和多级渐远纹理区域信息被输出给纹理加载软件,以便纹理加载软件根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域。

Description

图形处理器、系统、装置、设备及方法
相关申请的交叉引用
本申请基于申请号为202210410246.0、申请日为2022年4月19日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本公开涉及图像渲染技术领域,尤其涉及一种GPU(Graphics Processing Unit,图形处理器)、系统、电子装置、电子设备及图形处理方法。
背景技术
在图像的纹理贴图过程中,为了加快渲染速度和减少纹理锯齿,纹理贴图被处理成由一系列被预先计算和优化过的图片组成的文件。这组文件包括多级精度纹理贴图,每级纹理贴图的精度(即分辨率)是其上一级纹理贴图的一半。这样处理的纹理贴图被称为多级渐远(Mipmap)纹理。使用Mipmap纹理后,在进行贴图时会根据摄像机距离的远近,选择使用不同精度的纹理贴图。
因为根据摄像机举例远近不同而加载对应的多个精度的纹理贴图,所以使用Mipmap纹理必然占用更多的显存。
为了减少Mipmap纹理占用的GPU内存,传统的做法是,软件获取硬件在纹理采样时计算的Miplevel(Mipmap层级)。由于一帧图像中有的区域离相机近,有的区域离相机远,所以硬件计算后得到的Miplevel通常是在一个区间范围,即软件得到一个minlevel(最小层级)和一个maxlevel(最大层级),并将minlevel和maxlevel之间的MipMap纹理加载到显存。
传统的做法虽然缩小了加载的MipMap纹理的范围,但在一定程度上仍然会造成显存空间的浪费。
发明内容
本公开的目的是提供一种图形处理器、图形处理系统、电子装置、电子设备及图形处理方法,以减少显存空间浪费。
根据本公开的第一方面,提供一种图形处理器,该图形处理器至少包括:
多级渐远层级确定模块,被配置为:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
纹理分块确定模块,被配置为:确定各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
其中,多级渐远层级信息和多级渐远纹理区域信息被输出给纹理加载软件,以便纹理加载软件根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域。
可选地,确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在上述任意实施例的基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,上述图形处理器还可以包括区域划分模块,被配置为:根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
在上述任意实施例的基础上,上述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,其具体实现方式可以包括:分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级。相应的,确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
根据本公开的第二方面,提供一种图形处理系统,该图形处理系统包括上述第一方面任意实施例中所述的图形处理器。
可选地,图形处理系统还可以包括处理器,该处理器被配置为:执行上述纹理加载软件。
根据本公开的第三方面,提供一种电子装置,包括上述第二方面实施例中所述的图形处理系统。
根据本公开的第四方面,提供一种电子设备,包括上述第三方面实施例所述的电子装置。
根据本公开的第五方面,提供一种图形处理器,该图形处理器包括:
多级渐远层级确定模块,被配置为:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
其中,多级渐远层级信息被输出给纹理加载软件,以便纹理加载软件确定各个纹理坐标所属的多级渐远纹理区域,并根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,加载对应的多级渐远层级的多级渐远纹理区域;多级渐远层级信息指示各个纹理坐标对应的多级渐远层级,多级渐远纹理区域信息指示所述各个纹理坐标所属的多级渐远纹理区域。
可选地,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在上述第五方面任意实施例的基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,纹理加载软件可以根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
在上述第五方面任意实施例的基础上,可选地,上述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,其具体实现方式可以包括:分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级。
相应的,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
根据本公开的第六方面,提供一种图形处理系统,该图形处理系统包括上述第五方面任意实施例中所述的图形处理器。
可选地,图形处理系统还可以包括处理器,该处理器被配置为:执行上述纹理加载软件。
根据本公开的第七方面,提供一种电子装置,包括上述第六方面实施例中所述的图形处理系统。
根据本公开的第八方面,提供一种电子设备,包括上述第七方面实施例所述的电子装置。
根据本公开的第九方面,提供一种图形处理方法,该方法至少包括如下步骤:
图形处理器根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
图形处理器确定各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
图形处理器输出多级渐远层级信息和多级渐远纹理区域信息,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域;
纹理加载软件根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域。
可选地,上述确定所述各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在上述第九方面任意实施例的基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,上述方法还可以包括:图形处理器根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
在第九方面任意实施例的基础上,可选地,上述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,其具体实现方式可以包括:分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级。相应的,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
根据本公开的第十方面,提供一种图形处理方法,该方法至少包括如下步骤:
图形处理器根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
图形处理器输出多级渐远层级信息,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级;
纹理加载软件确定各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
纹理加载软件根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域。
可选地,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在上述第十方面任意实施例的基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,上述方法还可以包括:纹理加载软件根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
在第十方面任意实施例的基础上,可选地,上述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,其具体实现方式可以包括:分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级。相应的,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
根据本公开的第十一方面,提供一种图形处理方法,该方法至少包括如下操作:
获取多级渐远层级信息和多级渐远纹理区域信息,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域;
根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域。
可选地,上述方法还可以包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在此基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,上述方法还可以包括:根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
根据本公开的第十二方面,提供一种图形处理方法,该方法至少包括如下操作:
获取多级渐远层级信息,多级渐远层级信息指示各个纹理坐标对应的多级渐远层级;
确定各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
根据多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域,多级渐远纹理区域信息指示各个纹理坐标所属的多级渐远纹理区域。
可选地,上述确定各个纹理坐标所属的多级渐远纹理区域,其具体实现方式可以包括:
将各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为纹理坐标所属的多级渐远纹理区域。
在此基础上,可选地,多级渐远纹理被根据到摄像机的距离划分为多个区域。
进一步的,上述方法还可以包括:根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本公开一个实施例的Mipmap纹理分块示意图;
图2为本公开一个实施例的分块加载Mipmap纹理的示意图;
图3为本公开一个实施例的图形处理系统结构示意图;
图4为本公开一个实施例的图形处理方法流程示意图;
图5为本公开另一个实施例的图形处理方法流程示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:
本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
为了进一步减小MipMap纹理占用的显存空间,本公开提供一种GPU,该GPU基于Mipmap feedback(反馈)分块加载Mipmap纹理。将Mipmap纹理划分区域(即分块),通过统计每个区域内的Mipmap feedback(包括Miplevel),从而按块加载对应Miplevel的Mipmap纹理。传统方案中,哪怕只使用一个Miplevel的Mipmap纹理中的一小部分,也不得不将该Miplevel的Mipmap纹理完整加载到显存。与传统方案相比,本公开实施例可以根据Miplevel加载该层级的部分纹理而非完整纹理,节省了显存空间。另外,由于Mipmap纹理数据量减少,也有效降低了CPU(Central Processing Unit,中央处理器)和GPU之间的通信延时和带宽。
其中,GPU是指通过硬件实现、具有计算功能的处理器,其包括计算单元、缓存等等组成部件,可以是GPGPU(general-purpose graphics processing unit,通用图形处理器),也可以是GPU。
本公开实施例提供的图形处理器适用于基于图块的渲染架构,例如,TBR(Tile Based Render,基于图块的渲染)、TBDR(Tile Based Deferred Rendering,基于图块的延迟渲染)等,也适用于IMR(Immediate Mode Rendering,立即模式渲染)架构。
本公开的一个实施例提供一种图形处理器,其至少包括多级渐远层级(即Miplevel)确定模块和纹理分块确定模块。
其中,多级渐远层级层级确定模块被配置为:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的Miplevel。
本公开实施例不对多级渐远层级确定模块确定Miplevel的具体实现方式进行限定,其可以采用现有实现手段或现有实现原理实现。
其中,纹理分块确定模块被配置为:确定各个纹理坐标所属的Mipmap纹理区域。
本公开实施例中,Mipmap纹理被划分为多个区域。作为举例而非限定,如图1所示,Mipmap纹理包括Miplevel1、Miplevel2、Miplevel3和Miplevel4这四个层级的纹理贴图,其中,Miplevel1的纹理贴图为原始分辨率纹理贴图。Mipmap纹理被划分为三个区域,各层级纹理贴图的划分方式相同。这三个Mipmap纹理区域分别为Mipmap纹理区域1、Mipmap纹理区域2和Mipmap纹理区域3。Mipmap纹理区域1的纹理坐标范围为(U0min,V0min),(U0max,V0max),Mipmap纹理区域2的纹理坐标范围为(U1min,V1min),(U1max,V1max),Mipmap纹理区域3的纹理坐标范围为(U2min,V2min),(U2max,V2max)。以Miplevel2为例,在Miplevel2的纹理贴图中,Mipmap纹理区域的划分方式与Mipmap层级1中的划分方式相同,但由于分辨率减半,因此区域大小也减半。
本公开实施例中,确定各个纹理坐标对应的Miplevel后会生成Miplevel信息,Miplevel信息指示各个纹理坐标对应的Miplevel。Miplevel信息可以由多级渐远层级确定模块生成并输出,也可以由GPU中的其他硬件模块生成并输出,本公开实施例对此不作限定。
本公开实施例中,确定各个纹理坐标所属的Mipmap纹理区域会生成Mipmap纹理区域信息,Mipmap纹理区域信息指示各个纹理坐标所属的Mipmap纹理区域。Mipmap纹理区域信息可以由纹理分块确定模 块生成并输出,也可以由GPU中的其他硬件模块生成并输出,本公开实施例对此不作限定。
本公开实施例中,可以通过现有硬件实现多级渐远层级确定模块和纹理分块确定模块的功能,例如利用现有ALU实现。也可以通过开发新的硬件实现多级渐远层级确定模块和纹理分块确定模块的功能。
本公开实施例中,纹理加载软件获取Miplevel信息和Mipmap纹理区域信息,根据Miplevel信息和Mipmap纹理区域信息确定各个Mipmap纹理区域对应的Miplevel,并加载对应的Miplevel的多级渐远纹理区域。
纹理加载软件根据Mipmap纹理区域可以确定各个纹理坐标所属的Mipmap纹理区域,也就是说,可以确定各个Mipmap纹理区域分别覆盖的纹理坐标。纹理加载软件根据Miplevel信息可以确定各个纹理坐标对应的Miplevel,也就是说,针对每个Mipmap纹理区域,可以确定其覆盖的纹理坐标对应的Miplevel。
在一些实施例中,Mipmap纹理区域覆盖的纹理坐标对应的Miplevel即Mipmap纹理区域对应的Miplevel。假设某个Mipmap纹理区域覆盖的纹理坐标对应三个Miplevel,那么,该Mipmap纹理区域对应的Miplevel为这三个Miplevel。
在一些实施例中,Mipmap纹理区域覆盖的纹理坐标对应的最大层级和最小层级及这之间的Miplevel即Mipmap纹理区域对应的Miplevel。假设某个Mipmap纹理区域覆盖的纹理坐标对应三个Miplevel,那么,该Mipmap纹理区域对应的Miplevel为这三个Miplevel中的最大层级、最小层级和最大层级与最小层级之间的所有Miplevel。
以图1所示的Mipmap纹理区域划分为例,假设Mipmap纹理区域1对应Miplevel1和Miplevel2,Mipmap纹理区域2对应Miplevel2和Miplevel3,Mipmap纹理区域3对应Miplevel1。如图2所示,加载Miplevel1和Miplevel2中的Mipmap纹理区域1,加载Miplevel2和Miplevel3中的Mipmap纹理区域2,加载Miplevel1中的Mipmap纹理区域3。
本公开实施例中,作为举例而非限定,上述确定各个纹理坐标所属的Mipmap区域,其具体实现方式包括:将各个纹理坐标与Mipmap纹理区域的纹理坐标范围进行比较;将纹理坐标落入纹理坐标范围的Mipmap纹理区域确定为纹理坐标所属的Mipmap纹理区域。
其中,Mipmap纹理区域的纹理坐标范围根据Mipmap纹理中的原始分辨率确定。假设某个Mipmap纹理区域的纹理坐标范围如下:(U0min,V0min),(U0max,V0max),对于某个纹理坐标(U,V),如果U0min<U<U0max,且V0min<V<V0max,则该纹理坐标落入该Mipmap纹理区域(即该Mipmap纹理区域覆盖该纹理坐标,即该Mipmap纹理区域为该纹理坐标所属的Mipmap纹理区域),否则,该纹理坐标未落入该Mipmap纹理区域。
其中,(U0min,V0min),(U0max,V0max)是Mipmap纹理中原始分辨率的纹理贴图上的纹理坐标。
本公开实施例不对Mipmap纹理区域的划分进行限定。在一些实施例中,由软件进行区域划分,在另一些实施例中,由GPU中的硬件进行区域划分。在一些实施例中,Mipmap纹理被均分为若干个Mipmap纹理区域。在另一些实施例中,根据需求、实际渲染特点等制定划分策略,并按照制定的划分策略将Mipmap纹理划分为若干个Mipmap纹理区域。作为举例而非限定,Mipmap纹理被根据到摄像机的距离划分为多个区域。
若由GPU硬件根据到摄像机的距离将Mipmap纹理划分为多个区域。在一些实施例中,上述图形处理器还可以包括区域划分模块,被配置为:根据各个纹理坐标及纹理坐标对应的Miplevel划分Mipmap纹理区域,同一Mipmap纹理区域内的目标纹理坐标比例达到设定阈值,目标纹理坐标包括对应相同Miplevel的纹理坐标。
其具体划分策略有多种,实际应用中,可以根据实际渲染情况或者渲染需求确定。作为举例而非限定,在一些实施例中,对Mipmap纹理中原始分辨率的纹理贴图的纹理坐标进行分组,同组纹理坐标在图像帧中对应相同Miplevel,且同组纹理坐标中任一纹理坐标与本组中的至少一个纹理坐标相邻,每组纹理坐标构成一个Mipmap纹理区域。在另一些实施例中,遍历Mipmap纹理中原始分辨率的纹理贴图的纹理坐标,每遍历到一个纹理坐标,判断该纹理坐标是否可归入现有分组,若纹理坐标与某个分组中的多数纹理坐标在图像帧中对应相同Miplevel,且与该组中的至少一个纹理坐标相邻,则该纹理坐标被归入该分组,否则,判断该纹理坐标是否落入现有分组的纹理坐标范围(Umin,Vmin),(Umax,Vmax),如果落入,则该纹理坐标被归入该分组,否则,创建新的分组,将该纹理坐标归入该新的分组。遍历完成后,每个分组中的纹理坐标构成一个Mipmap纹理区域。一个分组中,有n个纹理坐标对应一个Miplevel,有m个纹理坐标对应另一个Miplevel,有p个纹理坐标对应另一个Miplevel,其中,n的数量最大,那么,这n个纹理坐标称为多数纹理坐标。
在上述任意实施例的基础上,上述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的Miplevel,其具体实现方式可以包括:分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层 中各个纹理坐标对应的Miplevel。相应的,确定各个纹理坐标所属的Mipmap纹理区域,其具体实现方式可以包括:分别确定各层中各个纹理坐标所属的Mipmap纹理区域。相应的,各层中的Miplevel信息和Mipmap纹理区域信息被输出给纹理加载软件,以便纹理加载软件根据每层Miplevel信息和Mipmap纹理区域信息分别确定每层中各个Mipmap纹理区域对应的Miplevel,并加载对应的Miplevel的Mipmap纹理区域。
也就是说,本公开实施例可以应用于三维纹理处理。其中,每层的Mipmap纹理区域划分方式可以不同。
在一些实施例中,GPU可以不包括纹理分块确定模块,纹理分块确定模块所实现的功能由纹理加载软件实现。纹理加载软件确定各个纹理坐标所属的Mipmap纹理区域的实现原理可以参照上述实施例的描述,此处不再赘述。
本公开实施例还提供一种图形处理系统,该图形处理系统包括上述任意实施例中所述的图形处理器。
可选地,图形处理系统中还可以包括处理器,该处理器被配置为:执行上述纹理加载软件。
本公开实施例中,图形处理系统的产品形态可以为SOC(System on Chip,片上系统)芯片。
作为举例而非限定,对于移动端产品,其SOC芯片中可以包括上述处理器。
本公开实施例中的图形处理器系统可以是单die(晶片)SOC芯片,也可以是多die互联的SOC芯片。
下面以一个die为例,对本公开提供的图形处理系统的架构及工作原理进行说明。
在图3所示的一个实施例中,单die的图形处理系统包括GPU核,该GPU核即上述的图形处理器。
GPU核用来处理绘图的指令,根据绘图指令,执行图像渲染的Pipeline,还可以用来执行其他运算指令。GPU核中进一步包括:计算单元,用于执行着色器编译后的指令,属于可编程模块,由大量的ALU组成;缓存(Cache),用于GPU核数据的缓存,以减少对内存的访问;光栅化模块,3D渲染管线的一个固定的阶段;图块划分(Tilling)模块,TBR和TBDR GPU架构中对一帧进行图块划分处理;裁剪模块,3D渲染管线的一个固定的阶段,裁剪掉观察范围外,或者背面不显示的图元;后处理模块,用于对画完的图进行缩放,裁剪,旋转等操作;微核(Micro core),用于GPU核上各个管线硬件模块之间的调度,或者用于多GPU核的任务调度。
GPU核连接到片上网络。其中,片上网络用于图形处理系统上各个主(master)和从(salve)之间的数据交换,本实施例中,片上网络包括配置总线、数据通信网络、通信总线等等。
如图3所示,图形处理系统还可以包括:
通用DMA(Direct Memory Access,直接存储器访问),用于执行主机端到图形处理系统内存(例如显卡内存)之间的数据搬移,例如,通过DMA将3D画图的顶点(vertex)数据从主机端搬到图形处理系统内存;
PCIe控制器,用于和主机通信的接口,实现PCIe协议,使图形处理系统通过PCIe接口连接到主机上,主机上运行了图形API以及显卡的驱动等程序;
应用处理器,用于图形处理系统上各个模块任务的调度,例如GPU渲染完一帧图后通知应用处理器,应用处理器再启动显示控制器将GPU画完的图显示到屏幕上;
内存控制器,用于连接内存设备,用于保存SOC上的数据;
显示控制器,控制将内存里的frame buffer以显示接口(HDMI,DP等)输出到显示器上;
视频解码,可以将主机硬盘上的编码的视频解码成能显示的画面;
视频编码,可以将主机硬盘上原始的视频码流编码成指定的格式返回给主机。
基于图3所示的图形处理系统架构,在一个实施例中,图形渲染过程如下:
主机的图形API向SOC芯片发送绘图指令,要求对图像帧进行渲染,该绘图指令中可以携带Mipmap纹理区域划分信息。
在该实施例中,Mipmap纹理被划分为图1所示的三个区域。
通用DMA将图像帧中各个物体的顶点数据(顶点数据包括物体顶点的3D坐标)从主机端搬运至图形处理系统内存。
GPU核的计算单元获取上述绘图指令后,对该绘图指令进行译码。
GPU核的顶点着色器(由计算单元实现其功能)从系统内存中获取图像帧中各个物体的顶点数据,并将物体的顶点数据传输给几何着色器(由计算单元实现其功能),几何着色器将物体顶点的3D坐标转换为展开的纹理坐标(即(u,v)坐标)。
几何处理结束后,GPU核中的图块划分模块对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引。
图块划分结束后,光栅化模块进行光栅化处理。光栅化模块逐个图块进行处理,每次从图块缓冲区 读取覆盖当前图块的图元的图元索引;光栅化模块通过图元索引读取该图元的图元信息,并利用该图元的图元信息进行像素覆盖测试,以确定该图元覆盖的像素,然后进行像素插值计算及至少一项像素测试(作为举例而非限定,像素测试可以包括深度测试、模板测试等)。
本公开中,采用现有技术实现像素覆盖测试、像素插值计算及像素测试。
光栅化处理结束后,GPU核的片段着色器(由计算单元实现其功能)执行对应像素的着色计算(例如光照计算)。
在贴图处理阶段,多级渐远层级确定模块(由计算单元实现其功能)根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的Miplevel,并输出指示各个纹理坐标对应的Miplevel的Miplevel信息。纹理分块确定模块(由计算单元实现其功能)通过将各个纹理坐标与各个Mipmap纹理区域的坐标范围进行比较来确定各个纹理坐标所属的Mipmap纹理区域,并输出指示各个纹理坐标所属的Mipmap纹理区域的Mipmap纹理区域信息。
图形API(实际应用中,对于移动端的图形处理系统,也可以由应用处理器上的纹理加载软件)根据Mipmap纹理区域信息确定各个Mipmap纹理区域分别覆盖的纹理坐标,根据Mipmap纹理信息确定各个Mipmap纹理区域覆盖的纹理坐标对应的Miplevel。
在该实施例中,Mipmap纹理区域1对应Miplevel1和Miplevel2,Mipmap纹理区域2对应Miplevel2和Miplevel3,Mipmap纹理区域3对应Miplevel1。
图形API加载对应的Miplevel的多级渐远纹理区域。如图2所示,加载Miplevel1和Miplevel2中的Mipmap纹理区域1,加载Miplevel2和Miplevel3中的Mipmap纹理区域2,加载Miplevel1中的Mipmap纹理区域3。
应当指出的是,上述以单GPU核为例对本公开实施例进行说明。但本公开实施例不仅适用于单GPU核的图形处理系统,还适用于多GPU核的图形处理系统。
本公开实施例还提供一种电子装置,该电子装置包括上述任意实施例中所述的图形处理系统。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为CPU主板。
本公开实施例还提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机、工作站、服务器等。
基于相同的发明构思,本公开实施例还提供一种图形处理方法,如图4所示,该方法至少包括如下步骤:
步骤401、图形处理器根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的Miplevel;
步骤402、图形处理器确定各个纹理坐标所属的Mipmap纹理区域,其中,Mipmap纹理被划分为多个区域;
步骤403、图形处理器输出Miplevel信息和Mipmap纹理区域信息,Miplevel信息指示各个纹理坐标对应的Miplevel,Mipmap纹理区域信息指示各个纹理坐标所属的Mipmap纹理区域;
步骤404、纹理加载软件根据Miplevel信息和Mipmap纹理区域信息确定各个Mipmap纹理区域对应的Miplevel,并加载对应的Miplevel的Mipmap纹理区域。
上述各个步骤的具体实现方式及名词解释可以参照上述实施例,此处不再赘述。
若图4所示的方法应用在图形处理系统上,那么,上述纹理加载软件运行在图形处理系统的处理器上。如图4所示的方法应用在上述电子设备上,那么,上述纹理加载软件既可以运行在电子设备的CPU上,也可以运行在电子设备的图形处理系统的处理器上。
在一些实施例中,上述步骤402由纹理加载软件执行,而不是由图形处理器执行,相应的,步骤403中,图形处理器不需要输出Mipmap纹理区域信息。
基于相同的发明构思,本公开实施例还提供一种图形处理方法,该方法由纹理加载软件实现,如图5所示,该方法至少包括如下步骤:
步骤501、获取Miplevel信息和Mipmap纹理区域信息,Miplevel信息指示各个纹理坐标对应的Miplevel,Mipmap纹理区域信息指示各个纹理坐标所属的Mipmap纹理区域;
步骤502、根据Miplevel信息和Mipmap纹理区域信息确定各个Mipmap纹理区域对应的Miplevel,并加载对应的Miplevel的Mipmap纹理区域。
上述各个步骤的具体实现方式及名词解释可以参照上述实施例的描述,此处不再赘述。
在一些实施例中,由纹理加载软件确定各个纹理坐标所属的Mipmap纹理区域,其中,Mipmap纹理被划分为多个区域。那么,在步骤501中,纹理加载软件仅需要获取Miplevel信息。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这 些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (21)

  1. 一种图形处理器,所述图形处理器包括:
    多级渐远层级确定模块,被配置为:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
    纹理分块确定模块,被配置为:确定所述各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
    其中,多级渐远层级信息和多级渐远纹理区域信息被输出给纹理加载软件,以便所述纹理加载软件根据所述多级渐远层级信息和所述多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域,所述多级渐远层级信息指示所述各个纹理坐标对应的多级渐远层级,所述多级渐远纹理区域信息指示所述各个纹理坐标所属的多级渐远纹理区域。
  2. 根据权利要求1所述的图形处理器,所述确定所述各个纹理坐标所属的多级渐远纹理区域,包括:
    将所述各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,所述多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
    将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为所述纹理坐标所属的多级渐远纹理区域。
  3. 根据权利要求1所述的图形处理器,所述多级渐远纹理被根据到摄像机的距离划分为多个区域。
  4. 根据权利要求3所述的图形处理器,所述图形处理器还包括区域划分模块,被配置为:根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,所述目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
  5. 根据权利要求1所述的图形处理器,所述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,包括:
    分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级;
    所述确定所述各个纹理坐标所属的多级渐远纹理区域,包括:
    分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
  6. 一种图形处理器,所述图形处理器包括:
    多级渐远层级确定模块,被配置为:根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
    其中,多级渐远层级信息被输出给纹理加载软件,以便所述纹理加载软件确定所述各个纹理坐标所属的多级渐远纹理区域,并根据所述多级渐远层级信息和多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,加载对应的多级渐远层级的多级渐远纹理区域;所述多级渐远层级信息指示所述各个纹理坐标对应的多级渐远层级,所述多级渐远纹理区域信息指示所述各个纹理坐标所属的多级渐远纹理区域。
  7. 根据权利要求6所述的图形处理器,所述多级渐远纹理被根据到摄像机的距离划分为多个区域。
  8. 根据权利要求6所述的图形处理器,所述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应 的多级渐远层级,包括:
    分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级;
    所述确定所述各个纹理坐标所属的多级渐远纹理区域,包括:
    分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
  9. 一种图形处理系统,包括权利要求1至8任一项所述的图形处理器。
  10. 根据权利要求9所述的图形处理系统,所述图形处理系统还包括处理器,所述处理器被配置为:执行所述纹理加载软件。
  11. 一种电子装置,包括权利要求10所述的系统。
  12. 一种电子设备,包括权利要求11所述的电子装置。
  13. 一种图形处理方法,所述方法包括:
    图形处理器根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级;
    所述图形处理器确定所述各个纹理坐标所属的多级渐远纹理区域,其中,多级渐远纹理被划分为多个区域;
    所述图形处理器输出多级渐远层级信息和多级渐远纹理区域信息,所述多级渐远层级信息指示所述各个纹理坐标对应的多级渐远层级,所述多级渐远纹理区域信息指示所述各个纹理坐标所属的多级渐远纹理区域;
    纹理加载软件根据所述多级渐远层级信息和所述多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域。
  14. 根据权利要求13所述的方法,所述确定所述各个纹理坐标所属的多级渐远纹理区域,包括:
    将所述各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,所述多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
    将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为所述纹理坐标所属的多级渐远纹理区域。
  15. 根据权利要求13所述的方法,所述多级渐远纹理被根据到摄像机的距离划分为多个区域。
  16. 根据权利要求15所述的方法,所述方法还包括:
    根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,所述目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
  17. 根据权利要求13所述的方法,所述根据输入的像素坐标和纹理坐标确定各个纹理坐标对应的多级渐远层级,包括:
    分别根据输入的三维空间中各层的像素坐标和纹理坐标确定各层中各个纹理坐标对应的多级渐远层级;
    所述确定所述各个纹理坐标所属的多级渐远纹理区域,包括:
    分别确定各层中各个纹理坐标所属的多级渐远纹理区域。
  18. 一种图形处理方法,所述方法包括:
    获取多级渐远层级信息和多级渐远纹理区域信息,所述多级渐远层级信息指示各个纹理坐标对应的 多级渐远层级,所述多级渐远纹理区域信息指示所述各个纹理坐标所属的多级渐远纹理区域;
    根据所述多级渐远层级信息和所述多级渐远纹理区域信息确定各个多级渐远纹理区域对应的多级渐远层级,并加载对应的多级渐远层级的多级渐远纹理区域。
  19. 根据权利要求18所述的方法,所述方法还包括:
    将所述各个纹理坐标与多级渐远纹理区域的纹理坐标范围进行比较,所述多级渐远纹理区域的纹理坐标范围根据多级渐远纹理中的原始分辨率确定;
    将纹理坐标落入纹理坐标范围的多级渐远纹理区域确定为所述纹理坐标所属的多级渐远纹理区域。
  20. 根据权利要求19所述的方法,所述多级渐远纹理被根据到摄像机的距离划分为多个区域。
  21. 根据权利要求20所述的方法,所述方法还包括:
    根据各个纹理坐标及纹理坐标对应的多级渐远层级划分多级渐远纹理区域,同一多级渐远纹理区域内的目标纹理坐标比例达到设定阈值,所述目标纹理坐标包括对应相同多级渐远层级的纹理坐标。
PCT/CN2023/085906 2022-04-19 2023-04-03 图形处理器、系统、装置、设备及方法 WO2023202365A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210410246.0A CN116957899A (zh) 2022-04-19 2022-04-19 图形处理器、系统、装置、设备及方法
CN202210410246.0 2022-04-19

Publications (1)

Publication Number Publication Date
WO2023202365A1 true WO2023202365A1 (zh) 2023-10-26

Family

ID=88419068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/085906 WO2023202365A1 (zh) 2022-04-19 2023-04-03 图形处理器、系统、装置、设备及方法

Country Status (2)

Country Link
CN (1) CN116957899A (zh)
WO (1) WO2023202365A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109448094A (zh) * 2018-09-21 2019-03-08 苏州蜗牛数字科技股份有限公司 一种纹理图集调度方法
EP3504685A1 (en) * 2016-12-14 2019-07-03 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
CN111494944A (zh) * 2020-04-22 2020-08-07 浙江无端科技股份有限公司 一种地形纹理加载方法及相关装置
CN111508051A (zh) * 2020-04-22 2020-08-07 浙江无端科技股份有限公司 一种纹理加载方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3504685A1 (en) * 2016-12-14 2019-07-03 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
CN109448094A (zh) * 2018-09-21 2019-03-08 苏州蜗牛数字科技股份有限公司 一种纹理图集调度方法
CN111494944A (zh) * 2020-04-22 2020-08-07 浙江无端科技股份有限公司 一种地形纹理加载方法及相关装置
CN111508051A (zh) * 2020-04-22 2020-08-07 浙江无端科技股份有限公司 一种纹理加载方法及相关装置

Also Published As

Publication number Publication date
CN116957899A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
US10008034B2 (en) System, method, and computer program product for computing indirect lighting in a cloud network
US10217183B2 (en) System, method, and computer program product for simultaneous execution of compute and graphics workloads
JP4938850B2 (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
US8009172B2 (en) Graphics processing unit with shared arithmetic logic unit
US8195882B2 (en) Shader complex with distributed level one cache system and centralized level two cache
US8836700B2 (en) System, method, and computer program product for a tessellation engine using a geometry shader
US20070268289A1 (en) Graphics system with dynamic reposition of depth engine
TWI715581B (zh) 用於虛擬機之間的效率通訊之裝置與方法
US20190325638A1 (en) Smart point cloud reconstruction of objects in visual scenes in computing environments
WO2020192608A1 (zh) 图形渲染方法、装置和计算机可读存储介质
US10825129B2 (en) Eliminating off screen passes using memoryless render target
CN117058288A (zh) 图形处理器及方法、多核图形处理系统、电子装置及设备
US10192348B2 (en) Method and apparatus for processing texture
WO2017105595A1 (en) Graphics processor logic for encoding increasing or decreasing values
WO2023202367A1 (zh) 图形处理器、系统、装置、设备及方法
US10192349B2 (en) Texture sampling techniques
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
CN116263982B (zh) 图形处理器、系统、方法、电子装置及设备
WO2023202365A1 (zh) 图形处理器、系统、装置、设备及方法
US11972518B2 (en) Hybrid binning
WO2023202366A1 (zh) 图形处理器、系统、电子装置、设备及图形处理方法
US20170178276A1 (en) Clustered color compression for efficient processing of graphics data at computing devices
CN116263981B (zh) 图形处理器、系统、装置、设备及方法
CN116957898A (zh) 图形处理器、系统、方法、电子装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23791021

Country of ref document: EP

Kind code of ref document: A1