WO2021248706A1 - 深度抗锯齿数据读取方法、装置、计算机程序和可读介质 - Google Patents

深度抗锯齿数据读取方法、装置、计算机程序和可读介质 Download PDF

Info

Publication number
WO2021248706A1
WO2021248706A1 PCT/CN2020/112578 CN2020112578W WO2021248706A1 WO 2021248706 A1 WO2021248706 A1 WO 2021248706A1 CN 2020112578 W CN2020112578 W CN 2020112578W WO 2021248706 A1 WO2021248706 A1 WO 2021248706A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pixel
sampling
depth
resource
Prior art date
Application number
PCT/CN2020/112578
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 WO2021248706A1 publication Critical patent/WO2021248706A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the technical field of image processing, in particular to a method, device, computer program and readable medium for reading deep anti-aliasing data.
  • anti-aliasing processing is performed in the process of rendering the image. After the rendered image is anti-aliased, the resulting anti-aliasing result will be automatically stored in a buffer of this type RenderBuffer. Due to the limitations of RenderBuffer on reading and writing, the anti-aliasing results stored in RenderBuffer cannot be read, and the anti-aliasing results stored in RenderBuffer cannot be used normally, which is not conducive to the realization of rendering effects.
  • the rendering methods in related technologies do not support the use of 32-bit high-precision depth Z-Buffer except RenderBuffer, which cannot meet the corresponding high-precision Z-Buffer requirements in the project. It is necessary to create a multi-sampling texture and consume memory. There are more resources, and it is necessary to use a shading language to mix the multi-sample results into a single-sample result. Compared with the GPU hardware mixing method, it takes more time. Finally, the OpenGLES 3.2 version is required. This version has a very low penetration rate on today's Android phones. , Most Android phones do not support this feature.
  • the eglChooseConfig function interface of OpenGLES is used to set multi-sampling parameters. After the scene is drawn, the deep anti-aliasing result is directly saved to the resource of type FrameBuffer. Writing the depth anti-aliasing result to the FrameBuffer resource causes the depth information to be unable to be used by subsequent rendering processes that need to read the depth information.
  • Embodiments of the present invention provide a method, device, device, and storage medium for reading deep anti-aliasing data, so as to make the calculated anti-aliasing result readable, and the anti-aliasing result can be used normally, and rendering efficiency is improved.
  • an embodiment of the present invention provides a method for reading deep anti-aliasing data, the method including:
  • a texture data resource is created in the memory, and the deep anti-aliasing data is stored in the texture data resource.
  • an embodiment of the present invention provides a deep anti-aliasing data reading device, including:
  • the rendering module is used to create deep multi-sampling resources, render the scene, obtain the deep multi-sampling data of the scene, and store it in the graphics processor cache;
  • the writing module is used to create a color resource in the memory, encode the depth multi-sampling data of the scene, and store it in the graphics processor cache corresponding to the color resource;
  • the conversion module is used to convert the deep multi-sampling data stored in the graphics processor cache corresponding to the color resource into single-sampling data in the process of invoking the drawing command, and store it in the memory of the color resource;
  • a decoding module for sampling and decoding the single-sample data to obtain deep anti-aliasing data
  • the writing module is also used to create a texture data resource in the memory, and store the deep anti-aliasing data in the texture data resource.
  • a computer program comprising computer readable code, when the computer readable code is run on an electronic device, causing the electronic device to execute according to claims 1-8 Any one of the deep anti-aliasing data reading methods.
  • the deep multi-sampling data can be efficiently processed through the graphics processor cache, and the obtained deep anti-aliasing data can be stored in the designated memory.
  • the deep anti-aliasing data can be read from the memory, and the subsequent rendering process can be performed based on the deep anti-aliasing data.
  • FIG. 1 is a schematic flowchart of a method for reading deep anti-aliasing data according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a deep anti-aliasing data reading device provided by an embodiment of the present invention
  • Fig. 3 is a block diagram of an electronic device for executing the method according to the present invention provided by an embodiment of the present invention.
  • Fig. 4 is a storage unit for holding or carrying program code for implementing the method according to the present invention provided by an embodiment of the present invention.
  • the words “if” and “if” as used herein can be interpreted as “when” or “when” or “in response to determination” or “in response to detection”.
  • the phrase “if determined” or “if detected (statement or event)” can be interpreted as “when determined” or “in response to determination” or “when detected (statement or event) )” or “in response to detection (statement or event)”.
  • FIG. 1 is a flowchart of a method for reading deep anti-aliasing data according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
  • the deep multi-sampling data stored in the graphics processor cache corresponding to the color resource is converted into single-sampling data and stored in the memory of the color resource.
  • storage resources can be created for these data, so that after the data is generated, the data can be stored in the corresponding storage resources .
  • the height of the rendering target is marked as SizeW
  • the width of the rendering target is marked as SizeH.
  • the extended function glFramebufferTexture2DMultisampleEXT or glFramebufferTexture2DMultisampleIMG of OpenGLES can be used to create storage resources for storing the deep multi-sample data of the scene.
  • the storage resource used to store the depth multi-sampling data of the scene may be a RenderBuffer resource, and the RenderBuffer resource may be represented by MultiSampleDepthRenderBuffer.
  • the data format stored in the RenderBuffer resource can be GL_DEPTH_COMPONENT32 or GL_DEPTH_COMPONENT16.
  • GL_DEPTH_COMPONENT32 corresponds to 32-bit high-precision deep multi-sampling data
  • GL_DEPTH_COMPONENT16 corresponds to 16-bit deep multi-sampling data.
  • Texture resource for storing deep multi-sampling data can be represented by MultiSampleDepthTexture.
  • the data format stored in the Texture resource used to store deep multi-sampling data can be GL_RGBA8.
  • the data format stored in the Texture resource used to store the deep anti-aliasing data is set to be the same as the RenderBuffer resource.
  • the above-mentioned storage resources can be created in the above-mentioned manner. After these storage resources are created, these storage resources can be reused during the running of the application program. By reusing storage resources, the use of memory resources can be reduced.
  • the MultiSampleDepthRenderBuffer can be used as the depth information rendering target to render the scene to obtain the depth multi-sampling data of the scene.
  • the depth multi-sampling data of the scene can be stored in the graphics processor cache.
  • the above-mentioned scene may be a scene in a game, and the scene may be a three-dimensional scene.
  • multi-sampling anti-aliasing (MSAA) technology Multisampling Anti-Aliasing, MSAA
  • MSAA Multisampling Anti-Aliasing
  • the data in the depth buffer (Z-Buffer) and the template buffer (Stencil Buffer) can be multi-sampled, and then the intermediate results of the multi-sampling can be mixed into the final result of the single-sampling.
  • Z-Buffer depth buffer
  • Stencil Buffer template buffer
  • the result is Only the edge of the polygon is anti-aliased, which consumes less memory and bandwidth resources of the computer.
  • each sub-sampling point can be individually colored.
  • a coverage and occlusion information can be calculated.
  • the color value of the pixel is written to each sub-sampling point through the coverage and occlusion information.
  • pass The reconstruction filter is used to down-sample to generate the target image.
  • a color resource can be created in the memory, and the deep multi-sampling data of the scene can be encoded and stored in the graphics processor cache corresponding to the color resource.
  • the deep multi-sampling data stored in the graphics processor cache corresponding to the color resource is converted into single-sampling data.
  • the process of determining the deep multi-sampling data is completed in a graphics processor (Graphics Processing Unit, abbreviated as GPU).
  • the GPU can be instructed to perform rendering operations through DrawCall.
  • DrawCall is a graphical programming interface for the GPU to call.
  • the created MultiSampleDepthTexture can be a memory resource.
  • the GPU will first put the data in the graphics processor's cache, and finally, when necessary, will the graphics processor's cache data be written into the MultiSampleDepthTexture.
  • a first rectangle can be drawn.
  • the first rectangle is in a plane and is a two-dimensional plane suitable for display on a display.
  • the first rectangle can be represented by RecTangle1.
  • the foregoing process of filling the depth multi-sampling data in RecTangle1 may include: for any pixel in RecTangle1, based on the position of any pixel in RecTangle1, determining a reference point corresponding to any pixel in the scene; The depth multi-sampling data determines the depth multi-sampling data corresponding to any pixel.
  • any pixel P in RecTangle1 determines the position of any pixel P in RecTangle1. Since the position of the pixel in RecTangle1 has a corresponding relationship with the position of the point in the scene, it can be based on the position of any pixel P in RecTangle1.
  • the position in RecTangle1 determines the reference point corresponding to any pixel P in the scene.
  • the scene includes multiple geometries.
  • the depth multi-sampling data corresponding to the scene can be stored in the graphics processor cache. Therefore, the reference points in the scene also correspond to the corresponding depth multi-sampling data, and the corresponding reference points can be obtained from the graphics processor cache. The depth of multi-sampling data. Finally, the depth multi-sampling data corresponding to any pixel P can be determined based on the depth multi-sampling data corresponding to the reference point.
  • the above process of determining the depth multi-sampling data corresponding to any pixel based on the deep multi-sampling data corresponding to the reference point can be implemented as follows: pre-encoding the deep multi-sampling data corresponding to the reference point to obtain the encoded data; The data of is determined as the depth multi-sampling data corresponding to any pixel.
  • the preset encoding may be RGBA8 encoding.
  • the data format of the deep multi-sampling data is RGBA8, and the deep multi-sampling data with the data format of RGBA8 can be written into the color information rendering target.
  • the GLES coloring language is a kind of programming language specially used for programming shaders. Due to the diversification of the target market for 3D calculator graphics, different target markets usually use different shader languages. OpenGLES uses the GLES shading language.
  • the deep multi-sampling data stored in the color resource can be converted into single-sampling data in the subsequent process of invoking the drawing command.
  • the foregoing process of determining the depth anti-aliasing data may be implemented as: in the process of invoking the drawing command, the graphics processor mixes the depth multi-sampling data stored in the texture resource into single-sampling data.
  • DepthTexture can be used as the depth information rendering target
  • MultiSampleDepthTexture can be used as the texture resource.
  • the GPU can mix the deep multi-sample data stored in the GPU's cache into single-sample data, and write the single-sample data into MultiSampleDepthTexture.
  • the process of determining the depth data can be implemented as follows: draw a second rectangle, the second rectangle includes multiple pixels; for any pixel in the multiple pixels, based on any pixel normalized in the second rectangle Position, determine the single-sample data corresponding to any pixel; perform data format conversion on the single-sample data corresponding to any pixel to obtain the depth anti-aliasing data corresponding to any pixel.
  • a second rectangle with a width of SizeW and a height of SizeH can be drawn, and the second rectangle can be denoted as RecTangle2. Since DepthTexture is introduced as the depth information rendering target, the single sampling data of RecTangle2 can be written into DepthTexture.
  • the single sampling data corresponding to any pixel P can be determined according to the normalized position of any pixel P in RecTangle2, and the single sampling data may also be called color data C.
  • the color data C can then be formatted to obtain the depth anti-aliasing data D.
  • the above format conversion process can be implemented as follows: if the data storage format of the texture data resource created in the memory is GL_DEPTH_COMPONENT32, the first format conversion algorithm is used to convert the data format of the single sample data corresponding to any pixel; if it is created in the memory The data storage format of the texture data resource is GL_DEPTH_COMPONENT16, and the data format conversion is performed on the single sampling data corresponding to any pixel through the second format conversion algorithm.
  • the single sample data corresponding to any pixel is data in RGBA8 format;
  • the first format conversion algorithm is an algorithm that converts RGBA8 format data into Float32 format data;
  • the second format conversion algorithm is an algorithm that converts RGBA8 format data Algorithm for data in Float16 format.
  • the data format that supports the storage of deep anti-aliasing data includes GL_DEPTH_COMPONENT32 and GL_DEPTH_COMPONENT16.
  • GL_DEPTH_COMPONENT32 is high-precision deep anti-aliasing data. Therefore, the method provided by the embodiment of the present invention can improve the accuracy of supported deep anti-aliasing data.
  • the obtained depth anti-aliasing data is stored in DepthTexture.
  • DepthTexture can be used as the depth information rendering target in the subsequent rendering process.
  • the depth anti-aliasing data in DepthTexture can be used as texture resources in the subsequent rendering process. To be read and used.
  • the deep multi-sampling data can be efficiently processed through the graphics processor cache, and the obtained deep anti-aliasing data can be stored in the designated memory.
  • the deep anti-aliasing data can be read from the memory, and the subsequent rendering process is performed based on the deep anti-aliasing data, and the multi-sampling data is calculated by hardware.
  • the deep anti-aliasing data reading device according to one or more embodiments of the present invention will be described in detail below. Those skilled in the art can understand that these deep anti-aliasing data reading devices can all be configured by using commercially available hardware components through the steps taught in this solution.
  • FIG. 2 is a schematic structural diagram of a deep anti-aliasing data reading device provided by an embodiment of the present invention.
  • the rendering module 21 is used to create a deep multi-sampling resource, render the scene, obtain the deep multi-sampling data of the scene, and store it in the graphics processor cache;
  • the writing module 22 is configured to create a color resource in the memory, encode the depth multi-sampling data of the scene, and store it in the graphics processor cache corresponding to the color resource;
  • the conversion module 23 is used to convert the deep multi-sampling data stored in the graphics processor cache corresponding to the color resource into single-sampling data in the process of invoking the drawing command, and store it in the memory of the color resource;
  • the decoding module 24 is configured to sample and decode the single-sample data to obtain deep anti-aliasing data
  • the writing module 22 is also configured to create a texture data resource in the memory, and store the deep anti-aliasing data in the texture data resource.
  • the writing module 22 is configured to:
  • any pixel in the plurality of pixels determine a reference point corresponding to the any pixel in the scene based on the position of the any pixel in the first rectangle;
  • the writing module 22 is configured to:
  • the encoded data is determined as deep multi-sampling data corresponding to any pixel.
  • the preset encoding is RGBA8 encoding.
  • the conversion module 23 is configured to:
  • the graphics processor mixes the deep multi-sampling data stored in the texture resource into single-sampling data.
  • the decoding module 24 is configured to:
  • Data format conversion is performed on the single sample data corresponding to any pixel to obtain the depth anti-aliasing data corresponding to any pixel.
  • the decoding module 24 is configured to:
  • the data format conversion is performed on the single sampling data corresponding to any pixel through the first format conversion algorithm
  • the second format conversion algorithm is used to perform data format conversion on the depth anti-aliasing data corresponding to any pixel.
  • the single sampling data corresponding to any pixel is data in RGBA8 format
  • the first format conversion algorithm is an algorithm for converting data in RGBA8 format into data in Float32 format
  • the second format conversion algorithm is an algorithm for converting RGBA8 format data into Float16 format data.
  • the device shown in FIG. 2 can execute the deep anti-aliasing data reading method provided in the embodiment shown in FIG.
  • the various component embodiments of the present invention may be implemented by hardware, or by software modules running on one or more processors, or by a combination of them.
  • a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in the electronic device according to the embodiments of the present invention.
  • DSP digital signal processor
  • the present invention can also be implemented as a device or device program (for example, a computer program and a computer program product) for executing part or all of the methods described herein.
  • Such a program for realizing the present invention may be stored on a computer-readable medium, or may have the form of one or more signals.
  • Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
  • FIG. 3 shows an electronic device that can be implemented to perform the method according to the present invention.
  • the electronic device traditionally includes a processor 410 and a computer program product in the form of a memory 420 or a computer-readable medium.
  • the memory 420 may be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk, or ROM.
  • the memory 420 has a storage space 430 for executing the program code 431 of any method step in the foregoing method.
  • the storage space 430 for storing program codes may include various program codes 431 respectively used to implement various steps in the above method. These program codes can be read from or written into one or more computer program products.
  • These computer program products include program code carriers such as hard disks, laser disks (CDs), memory cards, or floppy disks.
  • Such a computer program product is usually a portable or fixed storage unit as described with reference to FIG. 4.
  • the storage unit may have storage segments, storage spaces, etc., arranged similarly to the storage 420 in the electronic device of FIG. 3.
  • the program code can be compressed in a suitable form, for example.
  • the storage unit includes computer-readable codes 431', that is, codes that can be read by, for example, a processor such as 410. These codes, when run by an electronic device, cause the electronic device to execute each of the methods described above. step.

Landscapes

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

Abstract

一种深度抗锯齿数据读取方法、装置、计算机程序和可读介质,该方法包括:创建深度多采样资源,对场景进行渲染,得到场景的深度多采样数据,存到图形处理器缓存中(101);在内存中创建颜色资源,将场景的深度多采样数据进行编码,并存储到颜色资源对应的图形处理器缓存中(102);在调用绘制命令的过程中,将颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存储到颜色资源的内存中(103);对单采样数据进行采样以及解码处理,得到深度抗锯齿数据(104);在内存中创建纹理数据资源,将深度抗锯齿数据存储到纹理数据资源中(105)。采用上述方法所得的深度数据存储在了指定内存中,存在指定内存中的深度数据可以正常被读取与使用。

Description

深度抗锯齿数据读取方法、装置、计算机程序和可读介质
本申请要求于2020年6月12日提交的申请号为202010535942.5、发明名称为“深度抗锯齿数据读取方法、装置、设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及图像处理技术领域,尤其涉及一种深度抗锯齿数据读取方法、装置、计算机程序和可读介质。
背景技术
相关技术中,为了提高渲染图像的精度,去除渲染图像中锯齿现象,会在渲染图像的过程中进行抗锯齿处理。这对渲染图像进行抗锯齿处理之后,所得的抗锯齿结果会自动保存在RenderBuffer这种类型的缓存器中。由于RenderBuffer本身对读写的限制,导致无法读取RenderBuffer中存储的抗锯齿结果,进而也就无法正常使用RenderBuffer中存储的抗锯齿结果,不利于渲染效果的实现。
此外,相关技术中的渲染方式除了RenderBuffer之外都不支持32位的高精度深度Z-Buffer的使用,无法满足项目中相应的高精度Z-Buffer需求,需要创建多采样的Texture,消耗的内存资源比较多,且需要人为使用着色语言将多采样结果混合成单采样结果,相比GPU硬件混合方法耗时更多,最后要求使用OpenGLES 3.2版本,此版本在当今安卓手机上的普及率很低,大多数安卓手机不支持此功能。
除此以外,相关技术中使用OpenGLES的eglChooseConfig函数接口设置多采样参数,在绘制完场景后,直接将深度抗锯齿结果保存到类型为FrameBuffer的资源中。将深度抗锯齿结果写到FrameBuffer资源中,导致深度信息无法被后 续需要读取深度信息的渲染流程使用。
发明内容
本发明实施例提供一种深度抗锯齿数据读取方法、装置、设备和存储介质,用以使得计算出的抗锯齿结果可读,可以正常使用抗锯齿结果,提高渲染效率。
第一方面,本发明实施例提供一种深度抗锯齿数据读取方法,该方法包括:
创建深度多采样资源,对场景进行渲染,得到所述场景的深度多采样数据,存到图形处理器缓存中;
在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中;
在调用绘制命令的过程中,将所述颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中;
对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据;
在内存中创建纹理数据资源,将所述深度抗锯齿数据存储到所述纹理数据资源中。
第二方面,本发明实施例提供一种深度抗锯齿数据读取装置,包括:
渲染模块,用于创建深度多采样资源,对场景进行渲染,得到所述场景的深度多采样数据,存到图形处理器缓存中;
写入模块,用于在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中;
转换模块,用于在调用绘制命令的过程中,将所述颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中;
解码模块,用于对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据;
所述写入模块,还用于在所述内存中创建纹理数据资源,将所述深度抗锯齿数据存储到所述纹理数据资源中。
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据权利要求1-8中的任一个所述的深度抗锯齿数据读取方法。
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了如权利要求17所述的计算机程序。
通过本发明实施例提供的方法,可以通过图形处理器缓存来高效地处理深度多采样数据,并将所得的深度抗锯齿数据存储在指定内存中。通过将深度抗锯齿数据存储在指定内存中的方式,使得能够从内存中读取深度抗锯齿数据,并基于深度抗锯齿数据进行后续的渲染流程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种深度抗锯齿数据读取方法的流程图示意图;
图2为本发明实施例提供的一种深度抗锯齿数据读取装置的结构示意图;
图3为本发明实施例提供的一种用于执行根据本发明的方法的电子设备的框图;以及
图4为本发明实施例提供的一种用于保持或者携带实现根据本发明的方法的程序代码的存储单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种深度抗锯齿数据读取方法的流程图,如图1所示,该方法包括如下步骤:
101、创建深度多采样资源,对场景进行渲染,得到场景的深度多采样数据,存到图形处理器缓存中。
102、在内存中创建颜色资源,将场景的深度多采样数据进行编码,并存储到颜色资源对应的图形处理器缓存中。
103、在调用绘制命令的过程中,将颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中。
104、对单采样数据进行采样以及解码处理,得到深度抗锯齿数据。
105、在内存中创建纹理数据资源,将深度抗锯齿数据存储到纹理数据资源中。
在实际应用中,为了存储在执行本发明实施例提供的方法的过程中所生成的数据,可以为这些数据创建存储资源,这样在生成这些数据之后,可以将这些数据存储到对应的存储资源中。下面将介绍可以创建的存储资源。
假设当前需要对渲染目标进行渲染,该渲染目标的高记为SizeW,该渲染目标的宽记为SizeH,在创建所有存储资源时,这些存储资源的宽和高都可以依次 设置为SizeW和SizeH。
可以通过OpenGLES(OpenGL for Embedded Systems,OpenGLES是OpenGL三维图形应用程序接口的子集)的拓展功能glFramebufferTexture2DMultisampleEXT或者glFramebufferTexture2DMultisampleIMG,创建用于存储场景的深度多采样数据的存储资源。该用于存储场景的深度多采样数据的存储资源可以是RenderBuffer资源,可以通过MultiSampleDepthRenderBuffer来表示该RenderBuffer资源。此外,还可以指定MultiSampleDepthRenderBuffer对应的多采样的采样数量,该采样数量可以是2、4、8或者其他数值,其他数值可以是硬件能够支持的多采样的采样数量。RenderBuffer资源中存储的数据格式可以是GL_DEPTH_COMPONENT32或者GL_DEPTH_COMPONENT16。GL_DEPTH_COMPONENT32对应32位高精度的深度多采样数据,GL_DEPTH_COMPONENT16对应16位的深度多采样数据。
还可以通过OpenGLES的上述拓展功能,创建用于存储深度多采样数据的Texture资源,可以通过MultiSampleDepthTexture来表示该用于存储深度多采样数据的Texture资源。此外,还可以指定MultiSampleDepthTexture对应的多采样的采样数量,该采样数量与MultiSampleDepthRenderBuffer设置的采样数量相同。用于存储深度多采样数据的Texture资源中存储的数据格式可以是GL_RGBA8。
还可以创建用于存储深度抗锯齿数据的Texture资源,可以通过DepthTexture来表示该用于存储深度抗锯齿数据的Texture资源。用于存储深度抗锯齿数据的Texture资源中存储的数据格式设置为与RenderBuffer资源相同。
需要说明的是,在应用程序启动之后,可以通过上述方式创建上述存储资源,在创建这些存储资源之后,在应用程序运行的过程中,可以重复使用这些存储资源。通过重复使用存储资源的方式,可以减少内存资源的使用。
在创建MultiSampleDepthRenderBuffer之后,可以以MultiSampleDepthRenderBuffer作为深度信息渲染目标,对场景进行渲染,得到场景的深度多采样数据,这样得到的场景的深度多采样数据可以存储在图形处理器缓存中。
需要说明的是,上述场景可以是游戏中的场景,该场景可以是三维场景。在在显示器上显示游戏画面之前,可以先渲染游戏的场景,由于游戏的场景是三维的,而在显示器上显示的游戏画面是二维的,因此在得到游戏的场景之后,可以将游戏的场景转换成适用于在显示器上显示的游戏画面。
为了提高游戏画面的图像质量,避免游戏画面中出现锯齿影响观看体验,可以通过多重采样抗锯齿技术(Multisampling Anti-Aliasing,MSAA)进行多采样处理,这样可以避免游戏画面中出现锯齿。通过多重采样抗锯齿技术,可以对深度缓存(Z-Buffer)和模板缓存(Stencil Buffer)中的数据进行多采样处理,再将多采样的中间结果混合成单采样的最终结果,得到的效果是只对多边形的边缘进行了抗锯齿处理,对计算机的内存和带宽资源消耗较小。
在多重采样抗锯齿的过程中,每个子采样点都可以进行单独的着色。对于每个子采样点可以计算一个覆盖信息(coverage)和遮挡信息(occlusion),通过覆盖信息和遮挡信息把像素的颜色值写到每个子采样点里,最终根据子采样点里的颜色值,通过重建过滤器来降采样生成目标图像。
在对场景进行渲染得到场景的深度多采样数据之后,可以在内存中创建颜色资源,将场景的深度多采样数据进行编码,并存储到颜色资源对应的图形处理器缓存中。在后续调用的过程中,将颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据。
在实际应用中,基于场景的深度多采样数据,确定深度多采样数据的过程是在图形处理器(Graphics Processing Unit,简写为GPU)中完成的。可以通过Draw Call来命令GPU进行渲染操作,Draw Call是GPU调用图形编程接口。
创建的MultiSampleDepthTexture可以是内存资源,绘制过程中GPU会先把数据放在图形处理器的缓存中,最后在必要的时候才会将图形处理器的缓存数据写入MultiSampleDepthTexture中。可以将MultiSampleDepthTexture设置为颜色信息渲染目标,将MultiSampleDepthRenderBuffer设置为深度信息渲染目标。
可以绘制第一矩形,该第一矩形是在平面中的,是适用于在显示器上显示 的二维平面,可以通过RecTangle1来表示该第一矩形。可以将RecTangle1的宽设置为SizeW,将RecTangle1的高设置为SizeH。在绘制RecTangle1时,RecTangle1中没有填充,下面可以通过Shader FrameBuffer Fetch Extensions,根据场景中的深度多采样数据,来填充RecTangle1中的深度多采样数据。
上述填充RecTangle1中的深度多采样数据的过程可以包括:对于RecTangle1中的任一像素,基于任一像素在RecTangle1中的位置,确定场景中与任一像素相对应的参考点;基于参考点对应的深度多采样数据,确定任一像素对应的深度多采样数据。
在实际应用中,对于RecTangle1中任一像素P,确定任一像素P在RecTangle1中的位置,由于RecTangle1中的像素的位置与场景中的点的位置具有对应关系,因此可以基于任一像素P在RecTangle1中的位置,确定场景中与任一像素P相对应的参考点。场景中包括多个几何体,场景对应的深度多采样数据可以存储在图形处理器缓存中,因此场景中的参考点也对应有相应的深度多采样数据,可以从图形处理器缓存中获取参考点对应的深度多采样数据。最后可以基于参考点对应的深度多采样数据,确定任一像素P对应的深度多采样数据。
上述基于参考点对应的深度多采样数据,确定任一像素对应的深度多采样数据的过程可以实现为:对参考点对应的深度多采样数据进行预设编码,得到编码后的数据;将编码后的数据,确定为任一像素对应的深度多采样数据。其中,预设编码可以是RGBA8编码。
在实际应用中,在对深度多采样数据进行RGBA8编码后,深度多采样数据的数据格式为RGBA8,可以将数据格式为RGBA8的深度多采样数据写入到颜色信息渲染目标中。
可以使用GLES着色语言,重复对RecTangle1中的每个像素都执行一遍上述过程,直到得到RecTangle1中所有像素分别对应的深度多采样数据。其中,GLES着色语言是一类专门用来为着色器编程的编程语言,由于三维计算器图形目标市场的多元化,不同的目标市场通常使用不同的着色器语言。OpenGLES使用的是GLES着色语言。
在计算出RecTangle1中的深度多采样数据并将深度多采样数据存储到GPU中的缓存之后,可以在后续调用绘制命令的过程中,将颜色资源中存储的深度多采样数据转换为单采样数据。
上述确定深度抗锯齿数据的过程可以实现为:在调用绘制命令的过程中,图形处理器将纹理资源中存储的深度多采样数据,混合为单采样数据。
在实际应用中,可以调用Draw Call命令实现确定深度抗锯齿数据的过程。具体可以以DepthTexture作为深度信息渲染目标,以MultiSampleDepthTexture作为纹理资源。当把MultiSampleDepthTexture作为纹理资源时,GPU可以将GPU的缓存中存储的深度多采样数据混合为单采样数据,并将单采样数据写入到MultiSampleDepthTexture中。通过使用GPU硬件自动将深度多采样数据混合成单采样数据,可以提高数据处理时间效率。
可选地,确定深度数据的过程可以实现为:绘制第二矩形,第二矩形中包括多个像素;对于多个像素中的任一像素,基于任一像素在第二矩形中归一化的位置,确定任一像素对应的单采样数据;对任一像素对应的单采样数据进行数据格式转换,得到任一像素对应的深度抗锯齿数据。
在实际应用中,可以绘制一个宽为SizeW、高为SizeH的第二矩形,可以将第二矩形记为RecTangle2。由于前面介绍到以DepthTexture作为深度信息渲染目标,因此可以将RecTangle2的单采样数据写入到DepthTexture中。
对于RecTangle2的任一像素P,可以根据任一像素P在RecTangle2中归一化的位置,确定任一像素P对应的单采样数据,该单采样数据也可以称为颜色数据C。随后可以对颜色数据C进行格式转换得到深度抗锯齿数据D。
上述格式转换的过程可以实现为:若内存中创建的纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT32,则通过第一格式转换算法,对任一像素对应的单采样数据进行数据格式转换;若内存中创建的纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT16,则通过第二格式转换算法,对任一像素对应的单采样数据进行数据格式转换。
可选地,任一像素对应的单采样数据为RGBA8格式的数据;第一格式转换 算法为将RGBA8格式的数据转换为Float32格式的数据的算法;第二格式转换算法为将RGBA8格式的数据转换为Float16格式的数据的算法。
本发明实施例提供的方法中,支持存储深度抗锯齿数据的数据格式包括GL_DEPTH_COMPONENT32和GL_DEPTH_COMPONENT16。GL_DEPTH_COMPONENT32为高精度的深度抗锯齿数据,因此通过本发明实施例提供的方法,可以提高支持的深度抗锯齿数据的精度。
可以使用GLES着色语言,重复对RecTangle2中的每个像素都执行一遍上述过程,直到得到RecTangle2中所有像素分别对应的深度抗锯齿数据。通过本发明实施例提供的方法,可以适用于不同的搭载安卓系统的移动平台,提高了本发明的利用率。
通过上面的描述可知,所得的深度抗锯齿数据存储在了DepthTexture中,DepthTexture可以作为后续渲染流程中的深度信息渲染目标,此外存在DepthTexture中的深度抗锯齿数据在后续渲染流程中可以作为纹理资源正常被读取与使用。
通过本发明实施例提供的方法,可以通过图形处理器缓存来高效地处理深度多采样数据,并将所得的深度抗锯齿数据存储在指定内存中。通过将深度抗锯齿数据存储在指定内存中的方式,使得能够从内存中读取深度抗锯齿数据,并基于深度抗锯齿数据进行后续的渲染流程,通过硬件计算多采样数据。
以下将详细描述本发明的一个或多个实施例的深度抗锯齿数据读取装置。本领域技术人员可以理解,这些深度抗锯齿数据读取装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图2为本发明实施例提供的一种深度抗锯齿数据读取装置的结构示意图。
渲染模块21,用于创建深度多采样资源,对场景进行渲染,得到所述场景的深度多采样数据,存到图形处理器缓存中;
写入模块22,用于在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中;
转换模块23,用于在调用绘制命令的过程中,将所述颜色资源对应的图形 处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中;
解码模块24,用于对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据;
所述写入模块22,还用于在所述内存中创建纹理数据资源,将所述深度抗锯齿数据存储到所述纹理数据资源中。
可选地,所述写入模块22,用于:
绘制第一矩形,所述第一矩形中包括多个像素;
对于所述多个像素中的任一像素,基于所述任一像素在所述第一矩形中的位置,确定所述场景中与所述任一像素相对应的参考点;
基于所述参考点对应的深度多采样数据,确定所述任一像素对应的深度多采样数据。
可选地,所述写入模块22,用于:
对所述参考点对应的深度多采样数据进行预设编码,得到编码后的数据;
将所述编码后的数据,确定为所述任一像素对应的深度多采样数据。
可选地,所述预设编码为RGBA8编码。
可选地,所述转换模块23,用于:
在调用绘制命令的过程中,图形处理器将所述纹理资源中存储的深度多采样数据,混合为单采样数据。
可选地,所述解码模块24,用于:
绘制第二矩形,所述第二矩形中包括多个像素;
对于所述多个像素中的任一像素,基于所述任一像素在所述第二矩形中归一化的位置,确定所述任一像素对应的单采样数据;
对所述任一像素对应的单采样数据进行数据格式转换,得到所述任一像素对应的深度抗锯齿数据。
可选地,所述解码模块24,用于:
若所述内存中创建的所述纹理数据资源的数据存储格式为 GL_DEPTH_COMPONENT32,则通过第一格式转换算法,对所述任一像素对应的单采样数据进行数据格式转换;
若所述内存中创建的所述纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT16,则通过第二格式转换算法,对所述任一像素对应的深度抗锯齿数据进行数据格式转换。
可选地,所述任一像素对应的单采样数据为RGBA8格式的数据;
所述第一格式转换算法为将RGBA8格式的数据转换为Float32格式的数据的算法;
所述第二格式转换算法为将RGBA8格式的数据转换为Float16格式的数据的算法。
图2所示装置可以执行前述图1所示实施例中提供的深度抗锯齿数据读取方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的电子设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图3示出了可以实现用于执行根据本发明的方法的电子设备。该电子设备传统上包括处理器410和以存储器420形式的计算机程序产品或者计算机可读介质。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有用于执行上述方法中的任何方法步骤的程序代码431的存储空间430。例如,用于存储程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码431。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到 这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,激光盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图4所述的便携式或者固定存储单元。该存储单元可以具有与图3的电子设备中的存储器420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码431’,即可以由例如诸如410之类的处理器读取的代码,这些代码当由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开 是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (18)

  1. 一种深度抗锯齿数据读取方法,其特征在于,包括:
    创建深度多采样资源,对场景进行渲染,得到所述场景的深度多采样数据,存到图形处理器缓存中;
    在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中;
    在调用绘制命令的过程中,将所述颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中;
    对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据;
    在所述内存中创建纹理数据资源,将所述深度抗锯齿数据存储到所述纹理数据资源中。
  2. 根据权利要求1所述的方法,其特征在于,所述在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中,还包括:
    绘制第一矩形,所述第一矩形中包括多个像素;
    对于所述多个像素中的任一像素,基于所述任一像素在所述第一矩形中的位置,确定所述场景中与所述任一像素相对应的参考点;
    基于所述参考点对应的深度多采样数据,确定所述任一像素对应的深度多采样数据。
  3. 根据权利要求2所述的方法,其特征在于,所述基于所述参考点对应的深度多采样数据,确定所述任一像素对应的深度多采样数据,包括:
    对所述参考点对应的深度多采样数据进行预设编码,得到编码后的数据;
    将所述编码后的数据,确定为所述任一像素对应的深度多采样数据。
  4. 根据权利要求3所述的方法,其特征在于,所述预设编码为RGBA8编码。
  5. 根据权利要求1所述的方法,其特征在于,所述在调用绘制命令的过程中,将所述颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单 采样数据,包括:
    在调用绘制命令的过程中,图形处理器将所述纹理资源中存储的深度多采样数据,混合为单采样数据。
  6. 根据权利要求5所述的方法,其特征在于,所述对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据,包括:
    绘制第二矩形,所述第二矩形中包括多个像素;
    对于所述多个像素中的任一像素,基于所述任一像素在所述第二矩形中归一化的位置,确定所述任一像素对应的单采样数据;
    对所述任一像素对应的单采样数据进行数据格式转换,得到所述任一像素对应的深度抗锯齿数据。
  7. 根据权利要求6所述的方法,其特征在于,所述对所述任一像素对应的单采样数据进行数据格式转换,包括:
    若所述内存中创建的所述纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT32,则通过第一格式转换算法,对所述任一像素对应的单采样数据进行数据格式转换;
    若所述内存中创建的所述纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT16,则通过第二格式转换算法,对所述任一像素对应的单采样数据进行数据格式转换。
  8. 根据权利要求7所述的方法,其特征在于,所述任一像素对应的单采样数据为RGBA8格式的数据;
    所述第一格式转换算法为将RGBA8格式的数据转换为Float32格式的数据的算法;
    所述第二格式转换算法为将RGBA8格式的数据转换为Float16格式的数据的算法。
  9. 一种深度抗锯齿数据读取装置,其特征在于,包括:
    渲染模块,用于创建深度多采样资源,对场景进行渲染,得到所述场景的深度多采样数据,存到图形处理器缓存中;
    写入模块,用于在内存中创建颜色资源,将所述场景的深度多采样数据进行编码,并存储到所述颜色资源对应的图形处理器缓存中;
    转换模块,用于在调用绘制命令的过程中,将所述颜色资源对应的图形处理器缓存中存储的深度多采样数据转换为单采样数据,并存到颜色资源的内存中;
    解码模块,用于对所述单采样数据进行采样以及解码处理,得到深度抗锯齿数据;
    所述写入模块,还用于在所述内存中创建纹理数据资源,将所述深度抗锯齿数据存储到所述纹理数据资源中。
  10. 根据权利要求9所述的装置,其特征在于,所述写入模块,用于:
    绘制第一矩形,所述第一矩形中包括多个像素;
    对于所述多个像素中的任一像素,基于所述任一像素在所述第一矩形中的位置,确定所述场景中与所述任一像素相对应的参考点;
    基于所述参考点对应的深度多采样数据,确定所述任一像素对应的深度多采样数据。
  11. 根据权利要求10所述的装置,其特征在于,所述写入模块,用于:
    对所述参考点对应的深度多采样数据进行预设编码,得到编码后的数据;
    将所述编码后的数据,确定为所述任一像素对应的深度多采样数据。
  12. 根据权利要求11所述的装置,其特征在于,所述预设编码为RGBA8编码。
  13. 根据权利要求9所述的装置,其特征在于,所述转换模块,用于:
    在调用绘制命令的过程中,图形处理器将所述纹理资源中存储的深度多采样数据,混合为单采样数据。
  14. 根据权利要求13所述的装置,其特征在于,所述解码模块,用于:
    绘制第二矩形,所述第二矩形中包括多个像素;
    对于所述多个像素中的任一像素,基于所述任一像素在所述第二矩形中归一化的位置,确定所述任一像素对应的单采样数据;
    对所述任一像素对应的单采样数据进行数据格式转换,得到所述任一像素对应的深度抗锯齿数据。
  15. 根据权利要求14所述的装置,其特征在于,所述解码模块,用于:
    若所述内存中创建的所述纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT32,则通过第一格式转换算法,对所述任一像素对应的单采样数据进行数据格式转换;
    若所述内存中创建的所述纹理数据资源的数据存储格式为GL_DEPTH_COMPONENT16,则通过第二格式转换算法,对所述任一像素对应的深度抗锯齿数据进行数据格式转换。
  16. 根据权利要求15所述的装置,其特征在于,所述任一像素对应的单采样数据为RGBA8格式的数据;
    所述第一格式转换算法为将RGBA8格式的数据转换为Float32格式的数据的算法;
    所述第二格式转换算法为将RGBA8格式的数据转换为Float16格式的数据的算法。
  17. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据权利要求1-8中的任一个所述的深度抗锯齿数据读取方法。
  18. 一种计算机可读介质,其中存储了如权利要求17所述的计算机程序。
PCT/CN2020/112578 2020-06-12 2020-08-31 深度抗锯齿数据读取方法、装置、计算机程序和可读介质 WO2021248706A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010535942.5 2020-06-12
CN202010535942.5A CN111798365B (zh) 2020-06-12 2020-06-12 深度抗锯齿数据读取方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
WO2021248706A1 true WO2021248706A1 (zh) 2021-12-16

Family

ID=72804411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/112578 WO2021248706A1 (zh) 2020-06-12 2020-08-31 深度抗锯齿数据读取方法、装置、计算机程序和可读介质

Country Status (2)

Country Link
CN (1) CN111798365B (zh)
WO (1) WO2021248706A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114612579A (zh) * 2020-12-18 2022-06-10 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、计算机设备及可读存储介质
CN113012026B (zh) * 2021-03-23 2023-09-05 格兰菲智能科技有限公司 图形处理器及其操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967663B1 (en) * 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
CN101620725A (zh) * 2008-07-03 2010-01-06 辉达公司 混合多重采样/超采样抗锯齿
CN108846815A (zh) * 2018-06-19 2018-11-20 腾讯科技(深圳)有限公司 图像抗锯齿处理方法、装置和计算机设备
CN111192351A (zh) * 2018-11-14 2020-05-22 芯原微电子(上海)股份有限公司 边缘抗锯齿的图形处理方法、系统、存储介质及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120013624A1 (en) * 2010-07-19 2012-01-19 Advanced Micro Devices, Inc. Split Storage of Anti-Aliased Samples
US9235926B2 (en) * 2012-12-24 2016-01-12 Intel Corporation Techniques for improving MSAA rendering efficiency
CN105096370B (zh) * 2015-07-15 2017-08-01 西安邮电大学 光线追踪的等价划分反锯齿方法
CN106952328B (zh) * 2016-12-28 2019-11-19 北京大学 一种大规模宏观虚拟场景的绘制方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967663B1 (en) * 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
CN101620725A (zh) * 2008-07-03 2010-01-06 辉达公司 混合多重采样/超采样抗锯齿
CN108846815A (zh) * 2018-06-19 2018-11-20 腾讯科技(深圳)有限公司 图像抗锯齿处理方法、装置和计算机设备
CN111192351A (zh) * 2018-11-14 2020-05-22 芯原微电子(上海)股份有限公司 边缘抗锯齿的图形处理方法、系统、存储介质及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU ZEHUA, LI SHENG, WANG GUOPING: "Design and Implementation of Map Rendering Engine Using Open GL", GEOMATICS WORLD, NEW YORK, vol. 22, no. 6, 25 December 2015 (2015-12-25), New York, XP055878700, ISSN: 1672-1586 *

Also Published As

Publication number Publication date
CN111798365B (zh) 2023-09-01
CN111798365A (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
US9165399B2 (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US9715750B2 (en) System and method for layering using tile-based renderers
US9928637B1 (en) Managing rendering targets for graphics processing units
TWI633447B (zh) 最大化圖形處理器中之平行處理之技術
US10346941B2 (en) System and method for unified application programming interface and model
CN110415161B (zh) 图形处理方法、装置、设备及存储介质
WO2021248706A1 (zh) 深度抗锯齿数据读取方法、装置、计算机程序和可读介质
KR102006584B1 (ko) 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭
CN109472852B (zh) 点云图像的显示方法及装置、设备及存储介质
CN111882634B (zh) 一种图像渲染方法、装置、设备及存储介质
US10319068B2 (en) Texture not backed by real mapping
JP2018514855A (ja) ハイブリッド2d/3dグラフィックスレンダリング
CN116185743B (zh) OpenGL接口的双显卡对比调试方法、装置及介质
US8810587B2 (en) Conversion of contiguous interleaved image data for CPU readback
US9153193B2 (en) Primitive rendering using a single primitive type
US20200027189A1 (en) Efficient dependency detection for concurrent binning gpu workloads
US9563930B2 (en) Techniques for clearing a shared surface
US10445902B2 (en) Fetch reduction for fixed color and pattern sub-frames
US8818092B1 (en) Multi-threaded text rendering
WO2023202367A1 (zh) 图形处理器、系统、装置、设备及方法
US8823715B2 (en) Efficient writing of pixels to tiled planar pixel arrays
US10269168B2 (en) Graphics processing systems
EP4379647A1 (en) Render format selection method and device related thereto
KR102645239B1 (ko) Gpu 캐시를 활용한 다운스케일링을 위한 simo 접근 방식으로의 gpu 커널 최적화

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: 20939757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20939757

Country of ref document: EP

Kind code of ref document: A1