The present disclosure relates to a multi-view port conversion module for use in a 3D rendering system. Viewport transformation module includes extraction module, which is configured to read from the vertex buffer: coordinate data not transformed for vertices in the strip; information identifying the viewport associated with vertices; and information identifying the viewport associated with one or more other vertices in the strip. One or more other vertices in a strip are selected based on the number of trigger vertices and vertices in the primitive formed by the vertices in the strip. The viewport conversion module also includes a processing module, which performs viewport transformation on the untransformed coordinate data based on each identified viewport to generate the transformed coordinate data for each identified viewport, and a writing module, which writes the transformed coordinate data for each identified viewport into a vertex buffer.
【技术实现步骤摘要】
用于在3D渲染系统中使用的多视口变换模块
本公开涉及用于在3D渲染系统中使用的多视口变换模块。
技术介绍
三维(3D)图形系统(在本文中也可以被称为渲染系统)被设计为在二维(2D)屏幕上渲染3D场景的图像。具体地,应用(例如,视频游戏)生成场景的3D模型,并且输出表示场景中的对象的几何数据。具体地,应用将每个对象划分为由一个或多个顶点的位置定义的多个图元(即,简单的几何形状,例如,三角形、线、和点)。由应用输出的几何数据包括标识每个顶点的信息(例如,顶点的坐标)和指示由顶点形成的图元的信息。图形系统然后将接收到的几何数据变换为在屏幕上显示的图像。3D图形系统通常具有两个主要阶段-几何处理阶段和光栅化(rasterization)阶段。在几何处理阶段期间,从应用接收到的顶点从如图1A所示的世界窗口102(即,世界空间坐标)变换为视口104(即,屏幕空间坐标),这在本文中被称为视口变换(viewporttransformation)。世界窗口102是用户想要可视化的特定于应用的坐标(例如,千米或厘米)中的场景106的区域。相反,视口104是用于显示场景的图像的特定于渲 ...
【技术保护点】
1.一种用于在三维渲染系统(200)中使用的视口变换模块(212),所述视口变换模块(212)包括:处理模块(804),被配置为针对多个视口中的每个视口对条带中的顶点的未变换的坐标数据执行视口变换,以生成针对所述多个视口中的每个视口的经变换的坐标数据,所述多个视口包括与所述顶点相关联的视口和与所述条带中的至少一个其他顶点相关联的视口,所述至少一个其他顶点基于由所述条带中的顶点形成的图元的引发顶点和所述图元中的顶点数量被选择;以及写入模块(806),被配置为将所述经变换的坐标数据写入顶点缓冲器(408)。
【技术特征摘要】
2017.06.30 GB 1710510.71.一种用于在三维渲染系统(200)中使用的视口变换模块(212),所述视口变换模块(212)包括:处理模块(804),被配置为针对多个视口中的每个视口对条带中的顶点的未变换的坐标数据执行视口变换,以生成针对所述多个视口中的每个视口的经变换的坐标数据,所述多个视口包括与所述顶点相关联的视口和与所述条带中的至少一个其他顶点相关联的视口,所述至少一个其他顶点基于由所述条带中的顶点形成的图元的引发顶点和所述图元中的顶点数量被选择;以及写入模块(806),被配置为将所述经变换的坐标数据写入顶点缓冲器(408)。2.根据权利要求1所述的视口变换模块(212),还包括:提取模块(802),被配置为从所述顶点缓冲器(408)中读取:针对所述顶点的未变换的坐标数据;标识与所述顶点相关联的视口的信息;以及标识与所述条带中的至少一个其他顶点相关联的视口的信息。3.根据权利要求1所述的视口变换模块(212),其中,所述至少一个其他顶点包括N-1个其他顶点,其中,N是所述图元中的顶点数量。4.根据权利要求1所述的视口变换模块(212),其中,所述图元是包括头部顶点、中间顶点和尾部顶点的三角形,并且所述条带中的至少一个其他顶点是从紧接在所述条带中的顶点之前的两个顶点和紧接在所述条带中的顶点之后的两个顶点中选择的。5.根据权利要求4所述的视口变换模块(212),其中:在所述引发顶点是所述头部顶点时,所述条带中的至少一个其他顶点包括紧接在所述条带中的顶点之前的两个顶点;在所述引发顶点是所述中间顶点时,所述条带中的至少一个其他顶点包括紧接在所述条带中的顶点之前的顶点和紧接在所述条带中的顶点之后的顶点;并且在所述引发顶点是所述尾部顶点时,所述条带中的至少一个其他顶点包括紧接在所述条带中的顶点之后的两个顶点。6.根据权利要求1至5中任一项所述的视口变换模块(212),其中,所述写入模块(806)被配置为将所述经变换的坐标数据写入所述顶点缓冲器(408),使得所述经变换的坐标数据按照与和所述多个视口相关联的所述条带中的顶点的顺序相对应的顺序被存储在所述顶点缓冲器(408)中。7.根据权利要求6所述的视口变换模块(212),其中,所述写入模块(806)被配置为通过将每个视口变换与表示与所述条带中的相应视口相关联的所述顶点的顺序的不同偏移相关联,并且将针对每个视口变换的所述经变换的坐标数据基于与该视口变换相关联的偏移写入所述顶点缓冲器(408)中的单独位置,来按照与和所述多个视口相关联的所述条带中的顶点的顺序相对应的顺序将所述经变换的坐标数据写入所述顶点缓冲器(408)。8.根据权利要求7所述的视口变换模块(212),其中,写入针对视口变换的所述经变换的坐标数据的所述顶点缓冲器(408)中的单独位置由所述顶点缓冲器(408)的地址标识,所述顶点缓冲器(408)的地址基于与所述顶点相关联的基地址和与该视口变换相关联的偏移。9.根据权利要求8所述的视口变换模块(212),其中,每个偏移对应于所述顶点缓冲器的特定行,并且所述经变换的坐标数据包括针对多个坐标中的每个坐标的经变换的数据,并且针对每个坐标的经变换的数据被写入所述顶点缓冲器(408)的不同列。10.根据权利要求7所述的视口变换模块(212),其中,对所述未变换的坐标数据执行的每个视口变换与迭代标识符相关联,所述迭代标识符标识该视口变换相对于对所述未变换的坐标数据执行的其他视口变换的顺序;并且与每个视口变换相关联的偏移基于与该视口变换相关联的迭代标识符和所述引发顶点。11.根据权利要求10所述的视口变换模块(212),其中,所述处理模块(804)被配置为响应于从事务处理模块(402...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。