CN112017101A - 可变光栅化率 - Google Patents

可变光栅化率 Download PDF

Info

Publication number
CN112017101A
CN112017101A CN202010451724.3A CN202010451724A CN112017101A CN 112017101 A CN112017101 A CN 112017101A CN 202010451724 A CN202010451724 A CN 202010451724A CN 112017101 A CN112017101 A CN 112017101A
Authority
CN
China
Prior art keywords
tile
function
rate
rasterization
coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010451724.3A
Other languages
English (en)
Inventor
M·瓦利恩特
M·伊姆布罗格诺
R·赛加尔
K·C·皮丁顿
M·L·范德梅德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN112017101A publication Critical patent/CN112017101A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

一个所公开的实施方案包括图形处理的方法。该方法包括接收第一函数,其中第一函数指示用于图像内容的期望采样率,其中期望采样率在沿第一轴向方向的第一位置和沿第一轴向方向的第二位置中是不同的,并且其中图像内容被分成多个图块;至少部分地基于由对应于每个相应图块的第一函数指示的期望采样率来确定所述多个图块中的每个图块的第一光栅化率;接收与用于显示的内容相关联的一个或多个基元;至少部分地基于相应图块的所确定的第一光栅化率对与该相应图块相关联的基元的至少一部分进行光栅化;以及显示基于基元的经光栅化部分的图像。

Description

可变光栅化率
背景技术
本文所公开的主题涉及图形处理领域。更具体地但非限制性地,本文所公开的主题涉及在显示计算机图形时使用可变光栅化率。
计算机和其他计算设备通常具有至少一个可编程处理元件,通常称为中央处理单元(CPU)。它们通常还具有其他用于各种类型的专门化处理的可编程处理器,诸如图形处理操作,其可由图形处理单元(GPU)执行。GPU通常包括被设计用于在并行数据流上执行相同指令的多个核心或处理元件,从而使得GPU对于其中并行地进行大数据块处理的算法比通用CPU更有效。一般来讲,CPU充当主机并且将专业化并行任务交给GPU。
为了在显示器上渲染帧,GPU和CPU通常一起工作。每秒显示的帧(FPS)的数量被称为帧速率。在较低帧速率下,人眼可以辨识快速连续显示的静止帧。然而,在较高帧速率下,各个帧对于人来说是不可察觉的,而是看起来是无缝运动。因此,在其他一切相同(例如分辨率)的情况下,具有较高帧速率的显示器提供较高的图形质量。
一般来讲,随着计算机显示器改进,这些计算机显示器的分辨率也增大。显示器的分辨率是指在垂直和水平轴线上包含在显示器中的像素的数量。为了利用较高分辨率显示器,GPU和CPU必须以较高分辨率提供帧。另外,为了显示三维(3-D)图形或虚拟现实(VR)图形,可渲染两个单独的帧(例如,一个用于右眼,一个用于左眼)以用于显示,而不是单个图像。这个较高的分辨率和帧数量通常要求提高CPU和GPU用于渲染帧的效率。否则,由于例如跳过的帧、不匹配的右/左图像、较低的空间分辨率、失去3-D效果等,图像可被人类用户感知为较低质量的图像。
发明内容
一个所公开的实施方案包括图形处理的方法。该方法包括接收第一函数,其中第一函数指示图像内容的期望采样率,其中期望采样率在沿第一轴向方向的第一位置和沿第一轴向方向的第二位置中是不同的,并且其中图像内容被分成多个图块。该方法还包括基于由对应于每个相应图块的第一函数指示的期望采样率来确定所述多个图块中的每个图块的第一光栅化率。如下文详细讨论的,光栅化率是为了投影到视点而对对象空间的对象进行采样的速率。该方法还包括接收与用于显示的内容相关联的一个或多个基元。该方法还包括基于所确定的相应图块的第一光栅化率对与该相应图块相关联的基元的至少一部分进行光栅化。该方法还包括显示基于基元的经光栅化部分的图像。
本公开的另一方面涉及一种非暂态程序存储设备,该非暂态程序存储设备包括存储在其上的用于使得一个或多个图形处理器执行以下操作的指令:接收第一函数,其中第一函数指示用于图像内容的期望采样率,其中期望采样率在沿第一轴向方向的第一位置和沿第一轴向方向的第二位置中是不同的,并且其中图像内容被分成多个图块;基于由对应于每个相应图块的第一函数指示的期望采样率来确定所述多个图块中的每个图块的第一光栅化率;接收与用于显示的内容相关联的一个或多个基元;基于相应图块的所确定的第一光栅化率对与该相应图块相关联的基元的至少一部分进行光栅化;以及显示基于基元的经光栅化部分的图像。
本公开的另一方面涉及一种电子设备,该电子设备包括存储器、显示器、用户界面、以及操作地耦接到存储器的一个或多个图形处理器,其中所述一个或多个图形处理器被配置为执行指令,所述指令使得所述一个或多个图形处理器:接收第一函数,其中第一函数指示用于图像内容的期望采样率,其中期望采样率在沿第一轴向方向的第一位置和沿第一轴向方向的第二位置中是不同的,并且其中图像内容被分成多个图块;基于由对应于每个相应图块的第一函数指示的期望采样率来确定所述多个图块中的每个图块的第一光栅化率;接收与用于显示的内容相关联的一个或多个基元;基于相应图块的所确定的第一光栅化率对与该相应图块相关联的基元的至少一部分进行光栅化;以及显示基于基元的经光栅化部分的图像。
在其他实施方案中,上述的每一个方法及其变型形式都可被实施为一系列计算机可执行指令。此类指令可以使用任何一种或多种方便的编程语言。此类指令可以被收集到引擎和/或程序中,并且可以被存储在计算机系统或其他可编程控制设备可读和可执行的任何介质中。
附图说明
图1是根据本公开的一个实施方案示出可例如用作最终用户或开发者计算机系统的计算机系统的框图。
图2是根据本公开的一个实施方案示出可与所公开主题的一个或多个实施方案相关联的网络环境的框图。
图3是根据本公开的一个实施方案示出根据所公开主题的一个或多个实施方案的例示性软件架构图的框图。
图4是根据本公开的一个实施方案示出用于实现所公开主题的一个或多个方面的计算机系统的框图。
图5A和图5B示出根据本公开的方面的光栅化的概念示例。
图6A和图6B示出根据本公开的方面的透镜的效果。
图7是示出根据本公开的方面的示例性采样率函数的图表。
图8A和图8B是示出根据本公开的方面的描述显示器的期望采样率的函数的图表。
图9示出了根据本公开的方面的对象空间和屏幕空间中的视图的坐标之间的示例性映射。
图10示出了根据本公开的方面的对象空间和屏幕空间中的视图的坐标之间的示例性映射。
图11是示出根据本公开的方面的用于图形处理的技术的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了很多具体细节以便提供对本发明的彻底理解。然而,对本领域的技术人员而言显而易见的是,可以在不存在这些具体细节的情况下实践所公开的示例。在其他实例中,结构和设备被以框图的形式示出,以便避免模糊本发明。对没有下标或后缀的数字的引用应当理解为引用对应于附图标记的所有下标和后缀情况。此外,本公开中所使用的语言已主要被选择用于可读性和指导性目的,并且可能没有被选择为划定或限定本发明的主题,从而诉诸于所必需的权利要求以确定此类发明主题。在说明书中提到“一个实施方案”或“一种实施方案”意指在至少一个实施方案中包括结合该实施方案描述的特定特征、结构或特性,并且多次提到“一个实施方案”或“一种实施方案”不应被理解为必然全部都参考相同的实施方案。
如本文所用,术语“计算机系统”是指单个计算机系统或共同工作以执行被描述为在计算机系统上执行或被计算机系统执行的功能的多个计算机系统。类似地,机器可读介质可指代单个物理介质或可一起包含存储在其上的指定信息的多个介质。提到处理器可以是指在单个芯片上或在多个处理芯片上实施的单个处理元件或多个处理元件。
应当理解,在任何实际具体实施的开发中(如在任何开发项目中那样),必须要作出许多决策以实现开发者的特定目标(如,符合与系统和商务相关的约束条件),并且这些目标可在不同具体实施之间变化。还应当理解,此类开发努力可能是复杂且耗时的,但是尽管如此,对于受益于本公开并且具有在设计和实施计算系统和/或图形系统中的普通技能的系统设计和实施的普通技术人员而言会是一项常规任务。
参见图1,所公开实施方案可由代表性计算机系统100来执行。例如,代表性计算机系统100可充当软件开发平台或最终用户设备。虽然图1示出了计算机系统的各种部件,但是其并不旨在表示使这些部件互连的任何特定架构或方式,因为此类细节与本公开并无密切关系。具有更少部件或也许更多部件的网络计算机和其他数据处理系统(例如,手持式计算机、个人数字助理(PDA)、蜂窝电话、娱乐系统、和其他消费电子设备等)也可用于实施一个或多个实施方案。
如图1所示,计算机系统100包括总线122,该总线耦接到一个或多个处理器116(可以是CPU和/或数字信号处理器(DSP))、存储器112(可以包括易失性读/写随机存取存储器(RAM)和只读存储器(ROM)中的一者或两者)、以及非易失性存储设备114(例如,固态存储驱动器)。处理器116可以从存储器112和/或存储设备114检索指令并执行指令以执行本文所述操作。总线122将这些各种部件互连在一起,并且还将处理器116、存储器112和存储设备114互连到显示器120、I/O端口102和外围设备诸如输入/输出(I/O)设备104。I/O设备104可为指向设备诸如鼠标或触笔、键盘、触摸屏(例如,显示器120和I/O设备104可被实现为单个触敏显示器)、调制解调器、网络接口、打印机和其他设备。通常,输入/输出设备104通过输入/输出控制器耦接到系统。
计算机系统100还可包括或耦接到设备传感器124。设备传感器124可包括以下中的一者或多者:深度传感器(诸如深度相机)、三维(3D)深度传感器、成像设备(诸如固定和/或支持视频的图像捕获单元)、红绿蓝(RGB)传感器、接近传感器、环境光传感器、加速度计、陀螺仪、任何类型的静止或视频相机、光探测和测距(LIDAR)设备、全球定位系统(GPS)、麦克风、电荷耦合器件(CCD)(或其他图像传感器)、红外传感器、温度计等。这些以及其他传感器可与一个或多个GPU、数字信号处理器(DSP)或常规微处理器结合与适当的编程一起工作,从而传感器输出可被正确地解释和/或组合并解释。
如果易失性RAM被包括在存储器112中,那么RAM可被实施为需要连续供电以刷新或保持存储器中的数据的动态RAM(DRAM)。图形硬件106可为用于处理图形和/或辅助处理器116执行计算任务的专用计算硬件。在一些实施方案中,图形硬件106可包括CPU集成的图形和/或一个或多个可编程GPU。
存储设备114可以是磁性硬盘驱动器、光驱、非易失性固态存储驱动器、或即使在系统断电后也保持数据(例如,大量数据)(即,非易失性)的其他类型的存储系统。虽然图1示出了存储设备114是直接耦接至计算机系统100中的其余部件的本地设备,但实施方案可利用远离计算机系统100的非易失性存储设备,诸如通过网络接口110耦接至计算机系统100的网络存储设备。网络接口可以是有线或无线网络接口。总线122可包括通过本领域熟知的各种桥接器、控制器和/或适配器相互连接的一个或多个链路。虽然为了清楚起见在图1中仅示出了每种类型的单个元件,但根据需要可以使用各种元件类型中任何一者或全部的多个元件。
现在转到图2,框图示出了互连可编程设备的网络200,包括服务器230和相关联的数据存储库240、以及台式计算机系统210、笔记本计算机系统212、平板计算机系统214和移动电话216。也可包括其他类型的计算机设备。这些可编程设备中的任一者可为被图示成图1的计算系统100的开发者系统或目标系统。使可编程设备互连的网络220可以是使用任何所需的网络通信协议用于将数据从一个系统传输到另一个系统的任何类型的网络,其为有线或无线、局域或广域、公共或专用的。虽然被例示成单个网络220,但可以使用任意数量的互连网络来连接各个可编程设备,并且每一者可以采用不同的网络技术。
在一个示例中,台式系统210可以是开发者系统,其将图形应用分发给服务器230,该服务器继而可将图形应用分发给多个设备,诸如系统212、214和216,每个设备可采用单独的GPU。在启动图形应用时,由该应用执行的一个动作可以是创建可包括状态信息、片元着色器和顶点着色器的管线对象的集合。
如上所述,本文所公开主题的实施方案包括使用和执行软件。就此,在图3中的层图中提供计算软件架构的例示性描述。与硬件示例类似,本文讨论的图3的示例中的软件架构并不旨在以任何方式是排他性的,相反是例示性的。这对于层类型图尤其如此,软件开发者往往会以略微不同的方式对层类型图进行表述。在这种情况下,描述开始于层从对硬件340进行例示的基底硬件层395开始,该硬件可包括上文所述的CPU和GPU或其他处理和/或计算机硬件。在硬件层上方是操作系统(O/S)内核层390,其将一个示例示为O/S内核345,该O/S内核是可执行存储器管理、设备管理和系统调用(常常是硬件驱动器的权限)的内核软件。这里采用的标记一般性地旨在说明层中所示的软件元素使用来自下面的层的资源并为上面的层提供服务。然而,特定软件元素的所有部件可能并不完全按该方式作用。
返回图3,层385是由O/S服务350举例说明的O/S服务层。O/S服务350可提供受保护环境中的核心O/S功能。此外,层385中所示的O/S服务350可包括用于
Figure BDA0002507777800000061
351、
Figure BDA0002507777800000062
352、软件光线跟踪器353和纯软件光栅化器354的框架(OpenGL是SiliconGraphic,Inc.的注册商标,并且Metal是Apple,Inc.的注册商标)。这些具体示例都与图形和/或图形库相关,它们全部都与图形处理相关。这些具体示例还表示可在框架的较低等级中操作的图形框架/库,使得开发者可使用着色和图形基元和/或获得对图形硬件的相当紧密耦接的控制。此外,层385中所述的具体示例可将其工作产品直接传递给硬件或硬件驱动器,该硬件驱动器可以是紧密耦接到硬件的软件。
再次参考图3,
Figure BDA0002507777800000063
351表示用于图形渲染(包括二维(2D)和3D图形)的熟知的库和应用编程接口(API)的示例。
Figure BDA0002507777800000064
352也表示所发布的图形库和框架,但其是比
Figure BDA0002507777800000065
351低的层级,从而支持组织、处理和提交图形和计算命令以及管理那些命令的相关联数据和资源的细粒度低层级控制。软件光线跟踪器353是用于基于跟踪图像平面中穿过像素的光路径的过程来生成图像信息的软件。纯软件光栅化器354一般是指用于在没有专门的图形硬件(例如,只使用CPU)的情况下生成图形信息诸如像素的软件。O/S服务层385内示出的这些库或框架仅仅是例示性的,并且旨在示出该层的一般层级以及其在样本布置中如何与其他软件相关(例如,较低层级内核操作和较高层级应用服务360)。此外,
Figure BDA0002507777800000071
352表示图形应用的开发者能够使用的Apple Inc.的已发布框架/库。
O/S服务层385上方是应用服务层380,其包括游戏引擎361、3D渲染引擎362、动画引擎363和渲染引擎364。O/S服务层385表示被应用程序直接访问的较高层级框架。在一些实施方案中,O/S服务层385包括图形相关的框架,其是高层级,因为其对下面的图形库(诸如参考层385讨论的那些)是不可知的。在此类实施方案中,这些较高层级图形框架意在以用户和开发者更加友好的方式为开发者提供对图形功能性的访问并允许开发者免除与着色和图形基元的工作。以举例的方式,游戏引擎361可为图形渲染和动画基础结构,并且可用于以动画方式显示二维(2D)纹理图像。3D渲染引擎362可以是帮助以比具有类似能力的框架诸如
Figure BDA0002507777800000072
高的层级导入、操纵和渲染3D资产的3D渲染框架。动画引擎363可以是图形渲染和动画基础结构,并且可用于以动画方式显示应用的视图和其他视觉元素。渲染引擎364可以是用于为应用提供2D渲染的二维绘图引擎。
应用层375位于应用服务层380上方。应用层375包括任何数量和类型的应用程序。以举例的方式,图3示出了三个特定应用:照片371(照片管理、编辑和分享程序)、财务管理应用372和电影应用373(电影制作和分享程序)。应用层375还示出了两个通用应用A 370和B 374,其表示可与所公开实施方案交互或可作为所公开实施方案的一部分的任何其他应用。一般来讲,所公开主题的实施方案采用产生可显示/可查看内容的应用和/或与该应用交互。
在评估O/S服务层385和应用服务层380时,可能有用的是认识到不同框架具有较高或较低层级应用程序接口,即使框架被表示在图3示意图的相同层中也是如此。图3的例示用于提供一般性指导以及提出本文可能要讨论的例示性框架。此外,在一些示例中,层380中的框架利用层385中表示的库。因此,图3提供用于这些示例的知识强化。图3并非意图限制可以任何特定方式或在任何特定实施方案中使用的框架或库的类型。一般来讲,本公开的多个实施方案提出硬件340和应用375层之间的层中的软件活动和架构。
再次参考图3,一些实施方案包括使用较高层级框架,诸如应用服务层380中所示的那些。高层级框架可对来自应用程序的特定图形请求进行智能分析。高层级框架然后可选择特定硬件和/或特定库或低层级框架来帮助处理请求。在这些实施方案中,智能分析可提供关于对于图形请求向下沿循到硬件的最佳路径的运行时决断。
现在参见图4,计算系统400的框图另外详细地示出了根据一个实施方案的计算机系统。计算系统400包括CPU 401、图形处理系统403、显示器402、电力管理单元(PMU)404和系统存储器430。在一个实施方案中,CPU 401和图形处理系统403被包括在单独的集成电路(IC)或IC封装上。然而在其他实施方案中,CPU 401和图形处理系统403或它们的集体功能可以被包括在单个IC或封装中。
代表性图形处理系统403可用于处理应用数据并将虚拟对象的图形表示渲染给显示器402。例如,CPU 401可接收来自应用代码(未示出)的渲染图形的请求。该请求可经由内部或第三方图形库和框架。图形可是包括一个或多个多边形(诸如三角形)的虚拟对象的模型的一部分。该请求可参考例如存储在系统存储器430或视频存储器425中的数据。
数据总线405连接计算系统400的不同元件,包括CPU 401、系统存储器430和图形处理系统403。在一个实施方案中,系统存储器430包括使CPU 401和/或图形处理系统403执行本公开中赋予它们的功能的指令。更具体地讲,图形处理系统403可接收CPU 401所传输的指令,并处理这些指令以在显示器402上渲染和显示图形图像。
系统存储器430可包括应用程序431和GPU驱动器432。在该示例中,图形处理系统403包括帧缓冲器424、GPU 420和视频存储器425。GPU 420可包括包含一个或多个顶点着色器421、一个或多个光栅化器422、一个或多个片元着色器423和一个或多个几何着色器426的图形管线。在一些实施方案中,可支持统一存储器模型,其中系统存储器430和视频存储器425包括由GPU 420和CPU 401两者利用的单个存储器,而不是分立的存储器系统。如本文所用,应用代码可以是指在应用运行时间期间在CPU 401上执行的代码,与可在GPU 420上执行的图形函数分开。图形函数可在GPU上执行,例如,由于GPU 420的硬件组件(诸如着色器)可以是可编程的,从而允许图形函数在GPU 420上执行。在CPU 401上执行的应用编程接口(API)和驱动程序软件可促进应用代码和图形函数之间的交互,诸如通过在应用代码与GPU 420之间提供接口并允许应用代码在GPU 420上设置并执行图形函数。
在某些情况下,帧缓冲器424可位于系统存储器430中。在一些实施方案中,帧缓冲器424可位于视频存储器425中或作为专用存储器。在一个实施方案中,应用程序431包括使用API编写的代码。API包括由相关联硬件执行的预先确定的标准化的一组命令。应用程序431生成API命令以由GPU 420的一个或多个着色引擎和/或光栅化器渲染图像以用于显示。GPU驱动器432将高层级API命令转换成能够由GPU 420执行的机器代码程序。
在一个实施方案中,CPU 401将API命令传输给GPU 420以渲染图形数据并将所渲染的图像存储在帧缓冲器424中以在显示器402上显示。可通过将图像分成网格的多个区段来渲染图像,其中每个区段被称为图块。每个图块可由GPU 420分别渲染到视频存储器425。渲染单个图块而不是一次渲染整个帧有助于减少渲染所需的存储器和带宽的量。在某些情况下,多个图块可独立地渲染,例如在并行图形管线中渲染。在帧的所有图块完成时,帧缓冲器424可将图像输出给显示器402。常见的图块尺寸包括16×16像素和32×32像素,但也可使用任意尺寸的图块。
GPU 420可包括被配置为并行执行多个线程的多个多处理器。在某些情况下,多处理器可被配置为着色器和光栅化器。一般来讲,GPU 420可使用虚拟对象的模型坐标系渲染虚拟对象的视图。虚拟对象可从指定位置处的相机的视角呈现。顶点着色器421对特定多边形的坐标执行矩阵运算,以基于模型坐标确定从相机的视角渲染多边形的坐标。与在单个顶点上操作的顶点着色器421不同,几何着色器426所接收的输入是完整基元的顶点,例如线的两个顶点、三角形的三个顶点、或点的单个顶点。光栅化器422然后确定显示器的哪些像素与多边形相交。片元着色器423然后将色值分配给与多边形相交的每个像素。该色值可基于例如从存储器读取的特定纹理的内容。该纹理可存储在存储器430或视频存储器425中。着色器可使用着色器函数被编程为可编程GPU管线的一部分,以允许着色器的增加的灵活性和功能。该可编程性还允许GPU执行非图形化的数据并行任务。在某些实施方案中,光栅化器422可以是GPU管线的固定函数以允许提高的性能。光栅化器422的功能可通过例如由API或GPU驱动器432传递到光栅化器422中的参数或命令来调节。在多边形被着色之后,该多边形可被写到视频存储器424中的帧缓冲器以供显示器402使用。如下面将进一步详细描述的,通过智能地改变光栅化率,可以提高图形渲染效率,同时仍然实施最低质量标准。
PMU 404负责在计算系统400的不同部件之间分配功率。对GPU 420上电是使GPU420准备用于执行图形命令的初始化操作的一部分。在一个实施方案中,PMU 404可访问关于CPU 401和GPU 420的功率消耗的功率管理策略。例如,工作负荷可被分配给CPU 401、GPU420或这两者的组合。然后,考虑到每个部件所需的工作量,PMU 404可优化功率分配以节省大多数能量。在一个示例中,当没有工作负荷被分配给GPU 420用于执行时或者当GPU 420正在等待下一工作负荷的空闲时,PMU 404可将GPU 420置于休眠模式,并且可使GPU 420消耗的功率最小(如果有的话)。
图5A和图5B示出根据本公开的方面的光栅化的概念示例。一般来讲,使用由基元诸如线、点、三角形、四边形等构成的一组多边形来构建三维(3D)虚拟对象。3D虚拟对象占据包括存储器中的虚拟空间的对象空间,该虚拟空间由3D虚拟对象如何彼此相关及其虚拟环境限定。光栅化将基元诸如线和三角形转换成可例如在显示屏502上显示的二维图像。显示屏502限定屏幕空间。光栅化投影对象空间522的视图520,其可包括三维形状,诸如显示屏502上用于视点506的形状504。视点表示眼睛可位于的假想点。显示屏502可被认为是进入对象空间的窗口。显示屏502的尺寸和形状有助于限定进入对象空间的视图。该视图由平截锥体界定,该平截锥体是具有从视点506延伸到显示屏502的角部并进入对象空间的侧面508的假想棱锥。沿形状504的边界的点可以光栅化率采样,并且经由从对象空间中的点延伸到视点506的假想线510从对象空间投影到显示屏502。相应假想线510穿过显示屏502的地方限定显示屏502上的形状504的投影点512。显示网格514是包括像素网格的显示屏502的表示。投影点512限定片元516,并且这个片元516可由片元着色器着色。
一般来讲,为了为用户提供更沉浸式体验,可使用具有更宽视场的显示器。在某些情况下,大显示器可用于提供宽视场。大显示器的一个缺点是大显示器通常不易移动,并且可能例如在虚拟现实(VR)和/或增强现实(AR)头戴式显示器(HMD)中不适合。HMD通常被佩戴在用户的头部上,并且包括佩戴在用户眼睛附近的显示器。然而,人眼具有宽视场,并且大到足以填充该视场的显示器可能体积太大而不容易穿戴。另外,此类大显示器可以是用户能够感觉的很近,从而潜在地降低HMD的沉浸性。在某些情况下,透镜可用于允许使用较小的显示器并使HMD显示器感觉更远离用户。然而,将透镜放置在用户与能够填充视场的显示器之间可在显示器的视图中引入一定量的失真。
如图6A所示,一般来讲,将透镜602放置在用户和显示器604之间会在用户看到的显示器中产生缩紧图像606(例如,表现出枕形失真的图像)。为了校正这种效果,HMD常常显示图像610的桶形失真图像608,如图6B所示。该桶形失真图像608帮助校正由透镜612引入的枕形失真,从而帮助用户感知未失真图像614。该桶形失真被感知为扩展图像610的中心部分的尺寸,同时减小图像610的周边部分的尺寸。与桶形失真图像608中的中心部分相比,减小周边部分的尺寸就降低周边部分的有效分辨率。
即,整个显示器604具有某个固定分辨率(例如,原生或设定分辨率)。一般来讲,以固定分辨率渲染失真图像608的中心部分,以允许显示最高质量图像。显示器604的中心部分中的每个像素表示进入对象空间的视图的特定部分,并且显示器604的每个像素的尺寸限定由像素表示的进入对象空间的视图的量。在某些情况下,显示器604的固定或设定分辨率可足够高,使得增大显示器的分辨率对于大多数用户来说将是不可察觉的。在桶形失真图像608中,失真图像608的周边部分的尺寸与中心部分相比减小。这种失真有效地将图像的周边部分挤压到较小空间中。概念性地,如果要在这些周边部分中保持与中心部分相同的细节水平(例如,通过以相同速率从对象空间采样而获得),则显示器604的像素也将必须被挤压到所述较小空间中。即,将必须增大周边部分中的分辨率以保持相同的细节水平。然而,由于显示器604具有固定的分辨率,所以无法执行增大周边部分中的分辨率。相反,失真图像608的周边部分的每个像素与失真图像608的中心部分中的像素相比表示进入对象空间的视图的更大部分,从而与中心部分相比降低周边部分中的有效分辨率。
降低周边部分中的有效分辨率可以任何期望的方式执行。例如,在一些实施方案中,通过在显示器的中心部分上以恒定速率从对象空间采样,然后在周边部分中基本上丢弃一些样本,诸如通过将多个样本的值平均化或以其他方式组合在一起,可实现周边部分中降低的有效分辨率。根据本公开的某些方面,并非是采样并对一些样本进行丢弃,而是可在失真图像608的部分中动态地调节采样率。
图7示出了根据本公开的方面的示例性采样率函数700。在图7中,X轴表示在单个维度上跨初始图像的屏幕的像素坐标。虽然被示为一维图,诸如水平的像素坐标组,但应当理解,另一维度上的类似表示诸如垂直的像素坐标组可结合图7存在。Y轴将有效采样率表示为一旦应用桶形失真时所显示图像的全分辨率的乘子。如图所示,Y轴上的最大值为1,这表示以显示器或待显示图像的分辨率所要求的全或最高速率进行采样。在该示例中,在应用桶形失真之后,以全分辨率对图像的中心部分进行采样和渲染,而以较低的有效分辨率对周边部分进行采样和渲染。采样率702包括以全分辨率(x1.0)显示的中心部分,而有效分辨率在所显示的周边部分中下降(即,x0.75、x0.5等)。
可以理解,在这种情况下,采样率702是基于由透镜引起的枕形失真,并且指示可应用以校正枕形失真的桶形失真的量。采样率应与透镜参数匹配,以对应于并校正透镜使所显示图像扭转的方式。由于采样率702是基于透镜的失真,因此采样率702的特定曲线在不同透镜或透镜组之间可以不同。随着有效分辨率下降,以与应用于全分辨率的区域相同的有效分辨率对周边部分中的对象进行渲染和应用着色是不必要的,因为在失真的情况下,有效分辨率因失真效应而降低。应当注意,虽然基于由透镜引起的枕形失真来进行描述,但采样率702也可用于描述其他分辨率下降场景,诸如与其他类型的失真、阴影映射、扩展绘图距离以及中央凹成像相关的那些场景。对于中央凹成像,由人眼的中央凹观察的区域和由中央凹周观察的区域与人眼的周边区域之间的灵敏度差异减小。随着眼睛灵敏度下降,可显示较低分辨率图像,而没有分辨率或沉浸性的感知降低。在其他使用情况下,诸如中央凹成像,中央凹视图之外的区域提供比中央凹更小的视敏度,因此可减少那些区域中的图形细节的量而不影响用户感知的图像质量。
一般来讲,随着有效分辨率下降,光栅化率可降低。降低光栅化率就减少投影到显示空间中的给定区域(诸如图块)的3D对象的点的数量。这个减少数量的点减少了需要由片元着色器着色的片元的数量。这个减少数量的片元和分辨率也帮助降低存储经着色片元和纹理所需的存储器占用。例如,在片元数量减少的区域中,可使用较低质量纹理。这些较低质量纹理通常比较高质量纹理小并且具有较小的存储器占用。
根据本公开的方面,可变光栅化率(VRR)可用于基于基元位于何处来改变基元(并且因此还有片元和那些片元的纹理)的光栅化率。图8A和图8B是示出描述跨显示器的轴线使用的期望采样率的函数(诸如分段限定的线性函数)的图表800和850。根据本公开的方面,该函数可用于应对给定失真效应,例如桶形失真。与图7类似,图8A和图8B中的X轴表示在单个维度上跨初始图像的屏幕的像素坐标,并且Y轴表示有效采样率,该有效采样率可表述为所显示图像的全分辨率采样率的乘子。期望采样率802可通过一个维度上的一个或多个函数804A-804C(统称804)来表征。例如,函数804可以是用于近似X轴中的期望采样率802的单个函数或多个函数,并且另一个或多个函数(未示出)可用于近似Y轴的有效采样率。在某些情况下,函数804可为限定多个线段的分段线性函数。例如,函数804可被表述为具有三个区段(具有正斜率的第一区段804A、具有零斜率的第二区段804B和具有负斜率的第三区段804C)的单个分段线性函数。由于失真效应可能不是沿轴线对称的,因此第一区段804A的斜率可以不是第三区段804C的斜率的倒数。线性函数804可用于在应用了桶形失真的屏幕空间的坐标系与对象空间的坐标系之间进行映射,反之亦然。虽然线性函数804如图所示有助于对经历有桶形失真的分辨率下降建模,但线性函数804也可用于对可使用分辨率改变的其他情况进行建模,诸如用于中央凹成像或其他失真效应。线性函数804可以是用户定义的,诸如由编程者经由应用编程接口(API)定义,以类似于期望采样率。在某些情况下,线性函数804可以每个图像或每个层为基础来定义。例如,在执行立体渲染时,其中针对右眼渲染图像并且针对左眼渲染另一图像,可为在右眼中渲染的图像和在左眼中渲染的图像指定单独的线性函数组。在将图像渲染为层的情况下,可为层指定单独的线性函数。
某些图形处理系统可通过将屏幕空间有效地分成图块网格并分别渲染每个图块来生成图像以用于显示。一般来讲,图块的尺寸被设定成显著小于屏幕的尺寸,以便降低用于处理每个图块的存储器和带宽要求。一般来讲,这些图块尺寸可在显示图像之前设定并且在图像上是固定的。示例图块尺寸包括16×16像素和32×32像素图块,但也可使用任意尺寸的图块。一般来讲,在渲染图块时,整个图块在一遍扫描中渲染,并且多个图块可并行渲染。在渲染之后,图块然后可被组合以形成用于显示的最终图像。
在某些情况下,能够以图块级调节光栅化率806,使得图块内的光栅化率是恒定的,但可跨多个图块进行调节。例如,光栅化率能够以每个图块为基础来设定,使得给定图块中的所有像素具有相同的光栅化率。跨图块设定单个光栅化率有助于允许由图形管线有效地处理图块,同时仍然近似线性函数804。如图所示,可基于线性函数804确定光栅化率806,使得光栅化率806近似线性函数。可在阶跃808中调节光栅化率806,其中针对每个阶跃808改变光栅化率806。每个阶跃808可表示特定轴(此处为x轴)上的一个或多个图块。在某些情况下,可使用图块的对应于线性函数804的最高光栅化率(即,最高采样质量)。例如,线性函数804所定义的图块中任何点的最高光栅化率可用作整个图块的光栅化率。这确保图块的最低质量至少匹配线性函数804所指定的质量。
图9示出了根据本公开的方面的其中应用均匀光栅化率的对象空间902和屏幕空间904中的视图坐标之间的示例性映射900。沿着x轴和y轴的数字(在该示例中的所有数字一(“1”))表示相应行或列的图块的采样率。在该示例中,在x轴和y轴两者上存在从模型空间902中的图块中的每个像素到屏幕空间904中的相应图块中的每个像素的一对一映射。例如,对于图块906,给定模型空间902中32×32像素的图块尺寸,光栅化将沿每个轴线在模型空间902中的模型的32个点处执行,以绘制沿每个轴线在屏幕空间904中的图块907的32个像素。
图10示出了根据本公开的方面的已应用可变光栅化率的对象空间1002和屏幕空间1004中的视图坐标之间的示例性映射1000。应当指出的是,为了清楚起见,示例性映射1000例示例如基于线性函数(如上文参考图8B所述)对于仅小的图块子集(例如,x轴方向上两个图块和y轴方向上一个图块)变化光栅化率,而不是在给定轴向方向上在整个图块集上改变光栅化率。由于对象空间中的对象可以按每个图块为基础以不同速率光栅化到屏幕空间中,因此可以例如经由API向用户提供对象空间和屏幕空间之间的映射。对象空间1002的沿Y轴的数字1006和沿X轴的数字1008表示应用于图块的光栅化率的乘法倒数。例如,模型空间1002的图块1010具有沿X轴的列值‘5’和沿Y轴的行值‘4’。这指示图块1010中的模型空间的每个点将沿X轴以图块1011的速率的1/5被采样(即,在x轴方向和y轴方向上具有“正常”或“1”光栅化率的示例性图块)。类似地,图块1010中的模型空间的每个点将沿Y轴以图块1011的速率的1/4被采样。即,如果图块1011在X轴和Y轴上的32个点处被采样,则图块1010将在X轴上的6个点处被采样(例如,与图块1011中的点相比,每6个点被采样),并且在Y轴上的8个点处被采样(例如,与图块1011中的点相比,每8个点被采样)。然后,每个点被光栅化到屏幕空间中,并且扩展到与沿对象空间1002的Y轴的数字1006和沿X轴的数字1008相关的多个像素中。例如,X轴上来自图块1010的6个采样点可扩展到屏幕空间中的图块1012的X轴上的32个像素。类似地,Y轴上来自图块1010的8个采样点可扩展到屏幕空间中的图块1012的Y轴上的32个像素。换句话讲,在光栅化期间,在X轴上从对象空间1002中的图块1010有效地仅采样屏幕空间1004中的图块1012的每第五个像素,并且在Y轴上从对象空间1002中的图块1010仅采样屏幕空间1004中的图块1012的每第四个像素。在一些实施方案中,屏幕空间1004中的像素可简单地从所采样像素复制以填充屏幕空间1004中的图块1012。由于例如桶形失真降低图块1012的有效分辨率,因此所复制的像素可以是不可察觉的。类似地,对于其他具体实施,诸如具有中央凹成像的那些具体实施,包括所复制像素的图块应位于眼睛的灵敏度降低并且所复制像素可以不可察觉的区域中。
图11是示出根据本公开的方面的用于图形处理的技术的流程图。在步骤1102处,该技术通过接收第一函数来进行。第一函数指示图像内容的期望采样率,并且该期望采样率对于沿轴线的位置是不同的。例如,用户(诸如经由API的编程者)可基于反映透镜在一个或多个轴向方向上的失真效应的透镜参数来提供一个或多个分段线性函数。在步骤1104处,通过对分段线性函数的对应部分进行采样来确定所述多个图块中的每个图块的第一光栅化率。例如,能够以期望的粒度程度对分段线性函数进行采样,从而得到指示跨给定轴线的图像的各个部分(例如,图块或图块集)的相应光栅化率的一组数字。因此,该组数字可表示具有用于图像的相应部分的分段线性函数的各个区段的光栅化率。在某些情况下,可对分段线性函数进行采样,使得分配给任何给定图块的所选光栅化率至少与对应于该给定图块的分段线性函数的最高值一样高。在框1106处,接收与用于显示的内容相关联的一个或多个基元。例如,内容可包括具有一个或多个基元的一个或多个虚拟对象。这些一个或多个基元的部分位于图块内。在框1108处,基于相应图块的所确定的光栅化率,对与该相应图块相关联的基元的至少一部分进行光栅化。例如,光栅化器可以确定显示器的哪些像素以所确定的光栅化率与基元相交。作为更具体的示例,以(例如,如上文结合图10讨论的示例中所定义的)速率‘5’光栅化的图块可以将显示器的每五个像素映射到图块中的单个点。然后可基于所映射的像素来复制显示器的像素。在框1110处,显示基于基元的经光栅化部分的图像。例如,片元着色器可将色值分配给经光栅化像素和/或纹理可被映射到经着色片元。与在图像的其他部分中使用的全分辨率纹理相比,所映射的纹理可处于降低的分辨率。然后可输出所得像素以用于显示。
应当理解,以上描述旨在是示例性的而非限制性的。例如,可彼此结合地使用上述实施方案。在回顾以上描述时,许多其他实施方案对于本领域的技术人员而言将是显而易见的。因此,应当参考所附权利要求以及赋予此类权利要求的等同形式的完整范围来确定本发明的范围。

Claims (20)

1.一种图形处理的方法,包括:
接收第一函数,其中所述第一函数指示图像内容的期望采样率,其中所述期望采样率在沿第一轴向方向的第一位置和沿所述第一轴向方向的第二位置之间不同,并且其中所述图像内容被分成多个图块;
基于由对应于每个相应图块的所述第一函数指示的所述期望采样率来确定所述多个图块中的每个图块的第一光栅化率;
接收与用于显示的内容相关联的一个或多个基元;
基于相应图块的所确定的第一光栅化率对与所述相应图块相关联的基元的至少一部分进行光栅化;以及
显示基于所述基元的经光栅化部分的图像。
2.根据权利要求1所述的方法,其中基于对应于所述图块的所述第一函数的最高值来确定所述光栅化率。
3.根据权利要求1所述的方法,其中所述第一函数对应于透镜的透镜参数。
4.根据权利要求1所述的方法,还包括:
接收第二函数,所述第二函数指示第二轴向方向的期望采样率,所述第二轴向方向正交于所述第一轴向方向;
基于由对应于每个相应图块的所述第二函数指示的所述期望采样率来确定每个图块的第二光栅化率;以及
基于所述相应图块的所确定的第二光栅化率对与所述相应图块相关联的所述基元的至少一部分进行光栅化。
5.根据权利要求4所述的方法,其中所述第一函数和所述第二函数包括分段线性函数。
6.根据权利要求5所述的方法,还包括:
提供与所述图像内容相关联的模型空间中的坐标和与显示器相关联的屏幕空间中的坐标之间的映射;
接收一组坐标;以及
在所述模型空间中的所述坐标和所述屏幕空间中的所述坐标之间映射所述一组坐标。
7.根据权利要求1所述的方法,还包括基于所确定的光栅化率对基元的所述部分进行采样。
8.一种非暂态程序存储设备,所述非暂态程序存储设备包括被存储在其上的指令,所述指令使得一个或多个图形处理器:
接收第一函数,其中所述第一函数指示图像内容的期望采样率,其中所述期望采样率在沿第一轴向方向的第一位置和沿所述第一轴向方向的第二位置之间不同,并且其中所述图像内容被分成多个图块;
基于由对应于每个相应图块的所述第一函数指示的所述期望采样率来确定所述多个图块中的每个图块的第一光栅化率;
接收与用于显示的内容相关联的一个或多个基元;
基于相应图块的所确定的第一光栅化率对与所述相应图块相关联的基元的至少一部分进行光栅化;以及
显示基于所述基元的经光栅化部分的图像。
9.根据权利要求8所述的非暂态程序存储设备,其中基于对应于所述图块的所述第一函数的最高值来确定所述光栅化率。
10.根据权利要求8所述的非暂态程序存储设备,其中所述第一函数对应于透镜的透镜参数。
11.根据权利要求8所述的非暂态程序存储设备,其中存储在其上的所述指令还使得一个或多个图形处理器:
接收第二函数,所述第二函数指示第二轴向方向的期望采样率,所述第二轴向方向正交于所述第一轴向方向;
基于由对应于每个相应图块的所述第二函数指示的所述期望采样率来确定每个图块的第二光栅化率;以及
基于所述相应图块的所确定的第二光栅化率对与所述相应图块相关联的所述基元的至少一部分进行光栅化。
12.根据权利要求11所述的非暂态程序存储设备,其中所述第一函数和所述第二函数包括分段线性函数。
13.根据权利要求12所述的非暂态程序存储设备,其中所述程序存储设备还包括使得所述一个或多个图形处理器进行以下操作的指令:
提供与所述图像内容相关联的模型空间中的坐标和与显示器相关联的屏幕空间中的坐标之间的映射;
接收一组坐标;以及
在所述模型空间中的所述坐标和所述屏幕空间中的所述坐标之间映射所述一组坐标。
14.根据权利要求8所述的非暂态程序存储设备,其中所述程序存储设备还包括用于使得所述一个或多个图形处理器基于所确定的光栅化率对基元的所述部分进行采样的指令。
15.一种电子设备,包括:
存储器;
显示器;
用户界面;和
一个或多个图形处理器,所述一个或多个图形处理器操作地耦接到所述存储器,其中所述一个或多个图形处理器被配置为执行使得所述一个或多个图形处理器执行以下操作的指令:
接收第一函数,其中所述第一函数指示图像内容的期望采样率,其中所述期望采样率在沿第一轴向方向的第一位置和沿所述第一轴向方向的第二位置之间不同,并且其中所述图像内容被分成多个图块;
基于由对应于每个相应图块的所述第一函数指示的所述期望采样率来确定所述多个图块中的每个图块的第一光栅化率;
接收与用于显示的内容相关联的一个或多个基元;
基于相应图块的所确定的第一光栅化率对与所述相应图块相关联的基元的至少一部分进行光栅化;以及
显示基于所述基元的经光栅化部分的图像。
16.根据权利要求15所述的电子设备,其中基于对应于所述图块的所述第一函数的最高值来确定所述光栅化率。
17.根据权利要求15所述的电子设备,其中所述第一函数对应于透镜的透镜参数。
18.根据权利要求15所述的电子设备,其中存储在其上的所述指令还使得所述一个或多个图形处理器:
接收第二函数,所述第二函数指示第二轴向方向的期望采样率,所述第二轴向方向正交于所述第一轴向方向;
基于由对应于每个相应图块的所述第二函数指示的所述期望采样率来确定每个图块的第二光栅化率;以及
基于所述相应图块的所确定的第二光栅化率对与所述相应图块相关联的所述基元的至少一部分进行光栅化。
19.根据权利要求18所述的电子设备,其中所述第一函数和所述第二函数包括分段线性函数。
20.根据权利要求19所述的电子设备,其中存储在其上的所述指令还使得所述一个或多个图形处理器:
提供与所述图像内容相关联的模型空间中的坐标和与显示器相关联的屏幕空间中的坐标之间的映射;
接收一组坐标;以及
在所述模型空间中的所述坐标和所述屏幕空间中的所述坐标之间映射所述一组坐标。
CN202010451724.3A 2019-05-31 2020-05-25 可变光栅化率 Pending CN112017101A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/428,374 2019-05-31
US16/428,374 US11120591B2 (en) 2019-05-31 2019-05-31 Variable rasterization rate

Publications (1)

Publication Number Publication Date
CN112017101A true CN112017101A (zh) 2020-12-01

Family

ID=73507028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010451724.3A Pending CN112017101A (zh) 2019-05-31 2020-05-25 可变光栅化率

Country Status (2)

Country Link
US (1) US11120591B2 (zh)
CN (1) CN112017101A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019121434A1 (de) * 2019-08-08 2021-02-11 Karl Storz Imaging, Inc. Beobachtungsvorrichtung und Verfahren zum Betrieb einer Beobachtungsvorrichtung
US11423520B2 (en) * 2020-10-30 2022-08-23 Facebook Technologies, Llc. Distortion-corrected rasterization
GB2600944B (en) * 2020-11-11 2023-03-01 Sony Interactive Entertainment Inc Image rendering method and apparatus
US12069230B2 (en) * 2020-12-23 2024-08-20 Meta Platforms Technologies, Llc Temporal foveated rendering
US20230237730A1 (en) * 2022-01-21 2023-07-27 Meta Platforms Technologies, Llc Memory structures to support changing view direction

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0984397A2 (de) * 1998-08-30 2000-03-08 Gmd - Forschungszentrum Informationstechnik Gmbh Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
CN1818848A (zh) * 1999-05-25 2006-08-16 西尔弗布鲁克研究股份有限公司 带有编码标记的计算机系统接口面
CN101655992A (zh) * 2009-09-15 2010-02-24 中国科学院软件研究所 一种三角网格模型的重建方法
CN102903146A (zh) * 2012-09-13 2013-01-30 中国科学院自动化研究所 用于场景绘制的图形处理方法
US20150170345A1 (en) * 2013-12-12 2015-06-18 Karthik Vaidyanathan Decoupled Shading Pipeline
CN105225264A (zh) * 2014-06-27 2016-01-06 三星电子株式会社 基于运动的自适应渲染
CN106233340A (zh) * 2014-05-30 2016-12-14 英特尔公司 用于延迟解耦合着色的技术
CN107392988A (zh) * 2016-05-05 2017-11-24 辉达公司 利用投影几何失真用于以可变采样率渲染的系统、方法和计算机程序产品
US20180075635A1 (en) * 2016-09-12 2018-03-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving virtual reality content
US20180240268A1 (en) * 2017-02-17 2018-08-23 Microsoft Technology Licensing, Llc Variable rate shading
US20180276790A1 (en) * 2017-03-27 2018-09-27 Advanced Micro Devices, Inc. Single pass flexible screen/scale rasterization

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6489956B1 (en) * 1998-02-17 2002-12-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
US7961973B2 (en) * 2004-09-02 2011-06-14 Qualcomm Incorporated Lens roll-off correction method and apparatus

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0984397A2 (de) * 1998-08-30 2000-03-08 Gmd - Forschungszentrum Informationstechnik Gmbh Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
CN1818848A (zh) * 1999-05-25 2006-08-16 西尔弗布鲁克研究股份有限公司 带有编码标记的计算机系统接口面
CN101655992A (zh) * 2009-09-15 2010-02-24 中国科学院软件研究所 一种三角网格模型的重建方法
CN102903146A (zh) * 2012-09-13 2013-01-30 中国科学院自动化研究所 用于场景绘制的图形处理方法
US20150170345A1 (en) * 2013-12-12 2015-06-18 Karthik Vaidyanathan Decoupled Shading Pipeline
CN106233340A (zh) * 2014-05-30 2016-12-14 英特尔公司 用于延迟解耦合着色的技术
CN105225264A (zh) * 2014-06-27 2016-01-06 三星电子株式会社 基于运动的自适应渲染
CN107392988A (zh) * 2016-05-05 2017-11-24 辉达公司 利用投影几何失真用于以可变采样率渲染的系统、方法和计算机程序产品
US20180075635A1 (en) * 2016-09-12 2018-03-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving virtual reality content
US20180240268A1 (en) * 2017-02-17 2018-08-23 Microsoft Technology Licensing, Llc Variable rate shading
US20180276790A1 (en) * 2017-03-27 2018-09-27 Advanced Micro Devices, Inc. Single pass flexible screen/scale rasterization

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARTIN WEIER ET AL.: "Foveated Real-Time Ray Tracing for Head-Mounted Displays", 《COMPUTER GRAPHICS FORUM》, vol. 35, no. 7, 27 October 2016 (2016-10-27), pages 291 - 298, XP055461426, DOI: 10.1111/cgf.13026 *
VOICU POPESCU ET AL.: "A Flexible Pinhole Camera Model for Coherent Nonuniform Sampling", 《IEEE COMPUTER GRAPHICS AND APPLICATIONS》, vol. 34, no. 4, 10 March 2014 (2014-03-10), pages 31 - 40 *
曹士连等: "视景图形绘制方法生成航海雷达图像关键技术", 《哈尔滨工程大学学报》, vol. 38, no. 5, 26 April 2017 (2017-04-26), pages 712 - 718 *
王媛媛等: "点光栅化及反走样算法的研究与实现", 《河南科技大学学报(自然科学版)》, vol. 35, no. 4, 3 June 2014 (2014-06-03), pages 43 - 48 *

Also Published As

Publication number Publication date
US11120591B2 (en) 2021-09-14
US20200380744A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
US11748840B2 (en) Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US10614549B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
US10885607B2 (en) Storage for foveated rendering
US11120591B2 (en) Variable rasterization rate
US20180343436A1 (en) Method for data reuse and applications to spatio-temporal supersampling and de-noising
US20180089798A1 (en) Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9105125B2 (en) Load balancing for optimal tessellation performance
US20190035049A1 (en) Dithered variable rate shading
US10319068B2 (en) Texture not backed by real mapping
TW201810179A (zh) 用於虛擬實境和多視角系統之交錯光柵化和像素著色的架構
US10593095B2 (en) Facilitating increased precision in mip-mapped stitched textures for graphics computing devices
WO2017082973A2 (en) Facilitating efficeint centralized rendering of viewpoint-agnostic graphics workloads at computing devices
KR20190030174A (ko) 그래픽 처리
US20240257435A1 (en) Hybrid binning
US10552211B2 (en) Mechanism to increase thread parallelism in a graphics processor
US20220068004A9 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
US10678553B2 (en) Pro-active GPU hardware bootup
US10559122B2 (en) System and method for computing reduced-resolution indirect illumination using interpolated directional incoming radiance
KR20230052891A (ko) 오브젝트-공간 렌더링에서의 빌보드 계층들
KR20160077559A (ko) 실시간 집적 영상 생성 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination