CN112884875A - 图像渲染方法、装置、计算机设备和存储介质 - Google Patents
图像渲染方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112884875A CN112884875A CN202110295463.5A CN202110295463A CN112884875A CN 112884875 A CN112884875 A CN 112884875A CN 202110295463 A CN202110295463 A CN 202110295463A CN 112884875 A CN112884875 A CN 112884875A
- Authority
- CN
- China
- Prior art keywords
- virtual
- texture
- physical
- coordinates
- map
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 245
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000005070 sampling Methods 0.000 claims abstract description 62
- 238000013507 mapping Methods 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 52
- 230000009466 transformation Effects 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 26
- 230000000875 corresponding effect Effects 0.000 description 311
- 238000005516 engineering process Methods 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000000306 component Substances 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 235000001275 Bouea macrophylla Nutrition 0.000 description 1
- 240000001160 Bouea macrophylla Species 0.000 description 1
- 238000000889 atomisation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种图像渲染方法、装置、计算机设备和存储介质。所述方法包括:确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;将所述物理纹理坐标传入像素着色器;通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。采用本方法能够有效减少图像渲染过程中的资源消耗,以有效提高图像渲染效率。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像渲染方法、装置、计算机设备和存储介质。
背景技术
计算机图形学中的纹理,表示物体表面细节的一幅或几副二维图像,也称纹理贴图。可以将任意一种类型的纹理贴图应用到三维模型的一个或多个面上,例如砖、叶子、地面等图案。纹理贴图增加了场景的真实性。
在相关技术中,通常是采用虚拟贴图技术,通过将超大纹理贴图划分为多个小块,并生成一张间接纹理,以在渲染时从这张间接纹理中获取每个虚拟贴图中的每个页块位置所对应的真实贴图的位置。然而,这种方式纹理贴图的采样计算过程较为复杂,在一些性能较低的终端上的资源消耗较高,导致图像渲染的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效减少图像渲染过程中的资源消耗以有效提高图像渲染效率的图像渲染方法、装置、计算机设备和存储介质。
一种图像渲染方法,所述方法包括:
确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
将所述物理纹理坐标传入像素着色器;
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
一种图像渲染装置,所述装置包括:
数据获取模块,用于确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
贴图获取模块,用于通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
物理纹理坐标确定模块,用于针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
数据传输模块,用于将所述物理纹理坐标传入像素着色器;
图像渲染模块,用于通过像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
在一个实施例中,所述贴图获取模块还用于通过顶点着色器,在虚拟纹理坐标系下,确定所述顶点坐标所对应的虚拟贴图块的虚拟纹理坐标;获取虚拟纹理页表;所述虚拟纹理页表中存储虚拟纹理坐标和物理纹理坐标间的映射关系;所述物理纹理坐标,是物理贴图在物理纹理坐标系下的坐标;根据所述虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各所述虚拟贴图块对应的物理贴图;将获取的物理贴图加载至贴图缓存。
在一个实施例中,所述贴图获取模块还用于确定与所述顶点坐标所对应的虚拟贴图块的世界坐标;根据所述虚拟贴图块的世界坐标,确定所述虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标。
在一个实施例中,所述贴图获取模块还用于根据所述虚拟纹理坐标和所述虚拟贴图的虚拟贴图尺寸,确定各所述虚拟贴图块在所述虚拟纹理页表中对应的物理贴图的物理纹理坐标;根据所述物理纹理坐标获取与各所述虚拟贴图块对应的物理贴图。
在一个实施例中,所述物理纹理坐标确定模块还用于根据缩放变换矩阵对所述虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,得到缩放变换后的各所述渲染子块的局部虚拟纹理坐标;根据所述虚拟贴图块对应的世界坐标,以及所述虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定所述物理贴图对应的起始物理纹理坐标;根据各所述渲染子块的局部虚拟纹理坐标以及所述物理贴图对应的起始物理纹理坐标,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标。
在一个实施例中,所述物理纹理坐标确定模块还用于根据各所述虚拟贴图块的起始虚拟纹理坐标与各所述物理贴图对应的起始物理纹理坐标,将各所述虚拟贴图块与相匹配的物理贴图对齐;根据所述虚拟贴图块的起始虚拟纹理坐标以及各所述渲染子块的局部虚拟纹理坐标,确定各所述渲染子块在所述虚拟贴图块中的偏移量;根据所述物理贴图对应的起始物理纹理坐标和所述偏移量,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标。
在一个实施例中,所述物理纹理坐标确定模块还用于通过顶点着色器中的采样结点,针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;所述数据传输模块还用于通过顶点着色器中的采样结点,将所述物理纹理坐标传入像素着色器。
在一个实施例中,所述数据传输模块还用于通过顶点着色器中的采样结点,对所述物理纹理坐标对应的顶点属性进行插值处理,得到像素点属性的物理纹理坐标;将所述像素点属性的物理纹理坐标传入像素着色器。
在一个实施例中,上述图像渲染装置还包括参数确定模块,用于通过所述顶点着色器,根据各所述虚拟贴图块对应的虚拟纹理坐标,确定各所述虚拟贴图块对应的纹理请求参数;通过所述顶点着色器,将所述物理纹理坐标和所述纹理请求参数传入像素着色器中;所述图像渲染模块还用于通过所述像素着色器,基于所述纹理请求参数从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素。
在一个实施例中,所述参数确定模块还用于根据虚拟纹理页表中虚拟纹理页的尺寸,对各所述虚拟贴图块对应的虚拟纹理坐标进行矫正,得到矫正后的虚拟纹理坐标;根据矫正后的虚拟纹理坐标,生成各所述虚拟贴图块对应的纹理请求参数。
在一个实施例中,所述参数确定模块还用于根据矫正后的虚拟纹理坐标,确定所述虚拟纹理页对应的纹理层级;根据所述矫正后的虚拟纹理坐标和所述纹理层级,确定各所述虚拟贴图块对应的虚拟纹理页的像素坐标;根据所述像素坐标生成与各所述虚拟贴图块对应的纹理请求参数。
在一个实施例中,所述数据获取模块还用于当待渲染图像包括地形场景区域时,确定所述地形场景区域在虚拟贴图中相应虚拟贴图块的顶点坐标;所述图像渲染模块还用于通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像中的地形场景区域。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
将所述物理纹理坐标传入像素着色器;
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
将所述物理纹理坐标传入像素着色器;
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令时实现以下步骤:
确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
将所述物理纹理坐标传入像素着色器;
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
上述图像渲染方法、装置、计算机设备和存储介质,确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标后,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存;针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标,由此能够精准地计算出各渲染子块的物理纹理坐标。进而将物理纹理坐标传入像素着色器。由于渲染过程中顶点着色器的计算量远远少于像素着色器,通过在顶点着色器中计算出物理纹理坐标,使得像素着色器无需再计算物理纹理坐标。像素着色器进而直接根据顶点着色器传入的物理纹理坐标从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。由此能够有效减少像素着色器的计算量,从而有效减少了图像渲染过程中的资源消耗,进而能够有效提高渲染效率。
附图说明
图1为一个实施例中图像渲染方法的应用环境图;
图2为一个实施例中图像渲染方法的流程示意图;
图3为一个实施例中虚拟贴图的坐标示意图;
图4为一个实施例中虚拟贴图与物理贴图的示意图;
图5为一个实施例中虚拟贴图与虚拟纹理页表的示意图;
图6为一个实施例中虚拟贴图块中渲染子块的坐标示意图;
图7为另一个实施例中图像渲染方法的流程示意图;
图8为又一个实施例中图像渲染方法的流程示意图;
图9为一个实施例中地形虚拟贴图的绘制流程图;
图10为一个实施例中图像渲染装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图像渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。具体地,终端102可以从服务器104中获取三维场景下的虚拟贴图和顶点数据。终端102然后确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存;针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标;将物理纹理坐标传入像素着色器;通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
云技术(Cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。可以理解,在本申请的图像渲染方法,就是基于计算机视觉技术,对待渲染图像进行渲染处理,能够有效提高场景渲染的效率。
在一个实施例中,如图2所示,提供了一种图像渲染方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标。
在计算机图形中,渲染是指将三维场景中的物体模型,按照设定好的环境、材质、光照及渲染参数,二维投影成数字图像的过程。也就是将三维的光能传递处理转换为一个二维图像的过程。场景和实体用三维形式表示,更接近于现实世界,便于操纵和变换。
可以理解,待渲染图像可以是三维场景中待展示的场景画面,例如三维场景具体可以是三维虚拟场景。可以理解,在三维场景中,观测点的位置和视角不同,所展示的相应的场景画面也是不同的。通过展示连续的场景画面对应的图像帧,能够展示动态的三维场景或三维场景视频。其中,待渲染图像,可以表示在展示三维场景的过程中,当前需要渲染处理的图像帧。
其中,纹理表示物体表面细节的一幅或几副二维图形,也称纹理图像或纹理贴图。可以理解的是,纹理实际上是一个二维数组,二维数组中的元素是一些颜色值。当把纹理按照特定的方式映射到物体表面上的时候能使物体看上去更加真实。纹理可以用于体现需要被渲染到展示图像或视频帧上的对象所包括的内容。
纹理贴图可以存储较多的信息,例如每个像素可以记录颜色、顶点数据、法向量、材质、背景光、散射、高光、透明度、几何高度、几何位移等信息中的至少一种,这些信息可以用于描绘物体表面的细节。纹理贴图具体可以是预先绘制的纹理图像。纹理图像中可以包括一个或多个图形对象所对应的颜色等信息。例如,图形对象可以包括三维场景下的地形、房屋、树木、人物等中的至少一种。
其中,虚拟贴图,也称为虚拟纹理贴图(VT,Virtual Textures),适用于高解析度。其中,虚拟纹理贴图的概念类似虚拟内存,不会将超大纹理的全部数据加载到内存中,而是根据三维场景应用在运行时的实现需要,只将这个超大纹理中需要的部分区域加载到内存中。
可以理解的是,物理贴图,即物理纹理贴图,是指内存中实际存在的纹理图像。也就是被加载至内存的实际纹理数据中的纹理贴图,则为物理纹理贴图。纹理块数据具体可以是与各虚拟贴图块对应的纹理块数据。
此外,与虚拟内存不同的是,虚拟纹理贴图在运行时不会产生阻塞,在数据无法即使从硬盘读取到时,可以用内存中对应的Mipmap(多级渐远纹理)中层级高的纹理暂时代替显示。例如,可以将地图纹理分为不同解析度的层级纹理,个别再分割成多个区块,在渲染时越接近的区块才显出较高解析度。然后通过预先定义的映射关系,映射到一张内存中存在的物理纹理贴图。在展示的视野发生变化的时候,一部分物理贴图会被替换出去,一部分物理贴图会被加载。
其中,虚拟贴图中的虚拟贴图块,可以是对整个场景对应的虚拟贴图进行划分后得到的多个虚拟贴图块。可以理解的是,多个是指至少两个以上。
可以理解,终端中部署有基于三维场景应用的应用程序,应用程序中部署有渲染引擎。渲染引擎是可实现图像渲染的核心组件或系统,通过利用渲染引擎可迅速实现所需的图像渲染功能,并能够实现将模型、动画、光影、特效等所有效果实时计算出来,并在终端的显示屏上展示渲染效果。例如,游戏应用程序中的渲染引擎可以包括Unreal Engine虚幻引擎、Unity引擎等。
其中,渲染引擎中包括着色器,着色器是用于实现图像渲染的穿插在渲染管线上的一段算法程序,负责将输入的顶点数据以指定的方式和输入的贴图或者颜色等组合起来,然后输出。通常是由图形处理器通过着色器读入相应的输入纹理,通过图形处理器的渲染管线对待渲染图像进行渲染。
可以理解,三维场景中包括预先设定的顶点,例如三维场景的地形中的地形顶点。其中,顶点坐标,可以是三维场景中各顶点对应的坐标。三维场景中各顶点对应的坐标不仅包括三维的世界空间坐标,还具有二维的纹理坐标。
虚拟贴图中的顶点坐标,可以是虚拟贴图中各顶点对应的纹理坐标,具体可以为UV纹理坐标。其中,UV坐标,UV是指(u,v)纹理贴图坐标的简称,也即UVW坐标,与空间模型的X,Y,Z轴类似。其中,U表示图像在水平方向上的坐标,V表示图像在垂直方向上的坐标,W的方向垂直于显示器表面,一般用于程序贴图或者某些三维场景贴图技术。
可以理解,UV坐标是贴图影射到模型表面的依据,定义了图像中每个点的位置的信息。这些点与三维场景中的模型是相互联系的,用于定位纹理贴图表面的位置,也就是将图像上每一个点精确对应到模型物体的表面。通过二维平面的UV坐标系,可以定位图像上的任意一个像素点。
具体地,虚拟贴图中包括多个虚拟体图块,各虚拟贴图块具体可以是按照预先设定的尺寸或数量划分的。终端可以根据虚拟贴图中各顶点的顶点坐标,确定各虚拟贴图块的顶点坐标。
在其中一个实施例中,三维场景中包括整体虚拟贴图,通过对整体虚拟贴图进行划分,得到三维场景下的多个虚拟贴图。每个虚拟贴图中还包括划分的多个虚拟贴图块。终端在对待渲染图像进行处理时,首先确定与待渲染图像对应的虚拟贴图,然后确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标。
如图3所示,为一个实施例中的虚拟贴图的坐标示意图。虚拟贴图32中包括多个虚拟贴图块32a,各虚拟贴图块32a中包括多个渲染子块32a1。参照图3,虚拟贴图32的原点坐标可以为左上角的顶点对应的坐标(0,0)。虚拟贴图32中左上角的第一个虚拟贴图块的坐标,可以为左上角的顶点对应的顶点坐标,即也为(0,0);左下角的虚拟贴图块的坐标,则为左上角顶点对应的顶点坐标(0,7);右上角的虚拟贴图块的坐标,则为左上角顶点对应的顶点坐标(7,0);右上角的虚拟贴图块的坐标,则为左上角顶点对应的顶点坐标(7,7)。虚拟贴图块中各渲染子块的坐标,也可以是各渲染子块的左上角的顶点对应的顶点坐标。如第一行第4个虚拟贴图块中包括4x4个渲染子块。该虚拟贴图块中的左上角第一个渲染子块在虚拟贴图块中的坐标则为(0,0),右下角最后一个渲染子块在虚拟贴图块中的坐标则为(3,3)。
S204,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存。
可以理解,着色器包括顶点着色器和像素着色器。其中顶点着色器主要负责顶点的几何关系等的运算处理,像素着色器主要负责片元颜色等的运算处理。
其中,顶点着色器,也称为顶点着色引擎、顶点遮蔽器。顶点着色器是用于在三维场景中增加各式特效等的处理单元,顶点着色器的可程式化特性允许开发者靠加载新的软件指令来调整各式的特效。每一个顶点可以被各种的数据变素清楚地定义,至少包括每一顶点的x、y、z坐标。例如,每一个顶点可以包括颜色、最初的径路、材质、光线特征等中的至少一种数据。
其中,贴图缓存,即虚拟贴图缓存(Physical Texture),也称为贴图缓存(TextureCache)。可以理解的是,贴图缓存实际就是用于存储物理贴图的缓存空间,以用于在渲染的过程中直接读取其中的纹理贴图数据。由于虚拟贴图较大,终端的硬件通常无法直接缓存太大的虚拟贴图,因此通过仅将最近使用的虚拟贴图块对应的物理贴图缓存至贴图缓存中,在渲染的过程中基于虚拟贴图进行分块渲染,以提高运行时的渲染效率。
可以理解的是,虚拟贴图与物理贴图之间具有映射关系。例如,可以通过不同坐标系下的坐标,建立虚拟贴图中的虚拟贴图块与相应物理贴图之间的对应关系。
终端得到待渲染图像在虚拟贴图中相应的虚拟贴图的顶点坐标后,则将获得的顶点坐标输入至顶点着色器中,以使顶点着色器对顶点坐标进行变换处理。顶点着色器则根据各虚拟贴图块的顶点坐标,确定与虚拟贴图块对应的物理贴图,以将物理贴图加载至贴图缓存中。
具体地,终端可以通过顶点着色器对各虚拟贴图块的顶点坐标进行坐标转换,以根据转换后的坐标,获取与各虚拟贴图块对应的物理贴图。例如,顶点着色器可以根据对各虚拟贴图块的顶点坐标进行世界坐标转换,获得与各虚拟贴图块的顶点对应的世界坐标。终端则根据世界坐标,获取与各虚拟贴图块对应的物理贴图。
如图4所示,为一个实施例中,虚拟贴图与物理贴图的示意图。参照图4,VirtualTexture虚拟贴图中划分有多个虚拟贴图块,以虚拟贴图中的虚拟贴图样本42a为例进行说明,虚拟贴图样本42a对应的网格坐标示意图42b,网格坐标示意图42b中划分了多个区块42b1,每个区块与虚拟贴图样本42a中的虚拟体贴图块相对应。区块42b1中还包括多个渲染子块42b2,每个虚拟贴图块中还包括多个渲染子块。其中,渲染子块可以是图像绘制的最小单位的格子单元。终端通过顶点着色器,根据顶点坐标确定各区块42b1对应的物理贴图后,将物理贴图加载至Physical Texture贴图缓存42c中,贴图缓存42c中则包括了与各区块42b1对应的物理贴图42c1。
S206,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
可以理解,渲染子块,是指对虚拟贴图块中包括的多个渲染子块。具体地,渲染子块可以是进行纹理采样以及渲染处理的纹理单元,例如,具体可以是像素单元。
其中,物理纹理坐标,即采样坐标或物理坐标(Physical UV),在虚拟贴图里,物理纹理坐标表示要在贴图缓存中进行纹理采样的坐标,也就是用于查找纹理颜色值的纹理采样坐标。物理纹理坐标反映了各渲染子块在物理贴图中对应的实际地址。
终端根据顶点坐标,将与待渲染图像中所需虚拟贴图块对应的物理贴图加载至贴图缓存后,进而通过顶点着色器计算贴图缓存中对应的物理纹理坐标。
具体地,各虚拟贴图块包括对应的顶点坐标,虚拟贴图块中的各渲染子块也具有相应的局部顶点坐标。其中,局部顶点坐标,可以是指各渲染子块的顶点在对应的虚拟贴图块中的相对位置坐标,例如,具体可以是各渲染子块的左上角顶点在虚拟贴图块中的顶点坐标。具体地,渲染子块的局部顶点坐标为局部虚拟纹理坐标。
终端则根据各虚拟贴图块中的每个渲染子块,在虚拟贴图块中的位置,以及对应物理贴图的起始位置,确定每个渲染子块在对应物理贴图内的偏移,从而计算出各渲染子块在贴图缓存中的对应物理贴图中的物理纹理坐标。
S208,将物理纹理坐标传入像素着色器。
其中,像素着色器也是一组指令,这组指令在中像素被渲染时执行。在每个执行时间,都会有很多像素被渲染。像素的数目依靠屏幕的分辨率决定。
终端通过顶点着色器计算出虚拟贴图块中各渲染子块,在贴图缓存中对应的物理纹理坐标后,则将各渲染子块对应的物理纹理坐标从顶点着色器传入像素着色器中。
例如,终端可以通过属性插值的方式,将物理纹理坐标从顶点着色器传入像素着色器中。可以理解,在三维图像渲染中,一般是以三角形为最小单位绘制。在进行光栅化处理的过程中,需要将顶点属性通过属性插值处理得到像素点属性,通过插值处理以实现填充图像变换时像素之间的空隙。
具体地,终端将物理纹理坐标从顶点着色器传入像素着色器时,终端还通过顶点着色器将顶点属性的物理纹理坐标,通过属性插值的变换处理,插值得到像素属性的物理纹理坐标,然后将像素属性的物理纹理坐标传入素着色器中。
S210,通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。
其中,纹理像素,是指纹理贴图中的纹理像素值,例如可以是纹理颜色值。
可以理解,采样是指从总体中抽取个体或样品的过程。其中,采样纹理像素,可以是指通过将顶点坐标与纹理坐标进行映射得到的采样坐标,从物理贴图中读取采样坐标上的颜色值,此过程即为纹理采样。
终端通过像素着色器获得物理纹理坐标后,则通过像素着色器从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素。像素着色器进而基于所采样的纹理像素计算出待渲染图像中各像素点的最终像素值,从而渲染出待渲染图像。
传统的方式中,对于运行时虚拟贴图,通常是在像素着色器中计算出用于纹理采样的物理纹理采样坐标。但由于较大的场景中所需的纹理贴图数量较多,流式加载需要大量贴图,对于性能较低的终端在采样运行时虚拟贴图的时候速度较慢,无法高效渲染。
本实施例中,通过在顶点着色器中计算出物理纹理坐标,使得像素着色器无需再计算物理纹理坐标。像素着色器进而直接根据顶点着色器传入的物理纹理坐标从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素。有效减少了像素着色器的计算量,进而有效提高了渲染效率。由此即使在性能较低的终端或移动设备上进行渲染处理,采用本实施例的图像渲染方式,能够使得在性能较低的终端或移动设备的图像渲染效率,接近于高性能的终端的渲染处理效率,从而能够实现高效地进行图像渲染处理。
上述图像渲染方法中,终端确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标后,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存;针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标,由此能够精准地计算出各渲染子块的物理纹理坐标。终端进而将物理纹理坐标传入像素着色器。由于渲染过程中顶点着色器的计算量远远少于像素着色器,通过在顶点着色器中计算出物理纹理坐标,使得像素着色器无需再计算物理纹理坐标。像素着色器进而直接根据顶点着色器传入的物理纹理坐标从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。由此能够有效减少像素着色器的计算量,从而有效减少了图像渲染过程中的资源消耗,进而能够有效提高渲染效率。
在一个实施例中,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存,包括:通过顶点着色器,在虚拟纹理坐标系下,确定顶点坐标所对应的虚拟贴图块的虚拟纹理坐标;获取虚拟纹理页表;虚拟纹理页表中存储虚拟纹理坐标和物理纹理坐标间的映射关系;物理纹理坐标,是物理贴图在物理纹理坐标系下的坐标;根据虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各虚拟贴图块对应的物理贴图;将获取的物理贴图加载至贴图缓存。
可以理解的是,三维场景中的每个三维顶点都具有对应的二维纹理点,也就是三维顶点与二维顶点之间预先建立有对应关系。通过设置每个顶点的纹理坐标就可以将所需的部分纹理贴图映射到三维场景中的几何体上。纹理坐标则决定了将哪一部分纹理贴图映射到三角形上。
可以理解,图形学中的坐标系系统中各坐标系系统之间是相对的。例如,坐标系可以包括世界坐标系、纹理坐标系、屏幕坐标系等。其中,纹理坐标系由表示图像水平方向的U轴和表示图像垂直方向的V轴组成。坐标(u,v)指定了纹理贴图上的一个元素。
虚拟纹理坐标系,是指虚拟纹理贴图所对应的二维的纹理坐标系,用于定位虚拟贴图中各元素的位置。物理纹理坐标系,是指物理纹理贴图所对应的二维的纹理坐标系,用于定位物理贴图中各元素的位置。
其中,虚拟纹理页表,即Page Table,又称为间接纹理(Indirection Table)。虚拟纹理页表中存储了虚拟纹理坐标和物理纹理坐标间的映射关系。具体地,虚拟纹理页表中存储了各虚拟体贴图块的顶点对应的虚拟纹理坐标,与对应物理贴图的起始位置的物理纹理坐标之间的映射关系。
终端确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标后,则将顶点坐标输入至顶点着色器中,通过顶点着色器对顶点坐标进行坐标转换处理。具体地,顶点着色器首先在虚拟纹理坐标系下,确定顶点坐标所对应的虚拟贴图块的虚拟纹理坐标。
然后,终端通过顶点着色器获取虚拟纹理页表,根据虚拟纹理坐标在虚拟纹理页表中查找对应的物理纹理坐标。终端进而根据虚拟纹理坐标在虚拟纹理页表中查找到的相应的物理纹理坐标,获取与各虚拟贴图块对应的物理贴图。具体地,终端可以获取三维场景对应的纹理数据,并将纹理数据存储至磁盘中。终端计算出所需的物理贴图后,则从磁盘的纹理数据中读取所需的物理贴图,并将获取的物理贴图加载至贴图缓存。
如图5所示,为一个实施例中,左图为虚拟贴图,虚拟贴图中划分有多个虚拟贴图块,如虚拟贴图块5a。PageTable为虚拟纹理页表,虚拟纹理页表中存储有个虚拟贴图块与物理贴图块之间的映射关系,即能够从虚拟纹理页表中查找到与每一个虚拟贴图块对应的物理贴图。例如,虚拟贴图块5a在虚拟纹理页表中能够查找到对应的物理贴图块5b。以及其他虚拟贴图块在虚拟纹理页表中均能够查找到对应的物理贴图块。
本实施例中,由于虚拟纹理页表存储了与物理纹理坐标之间的映射关系,通过根据虚拟纹理坐标在虚拟纹理页表中查找的相应的物理纹理坐标,由此能够精准地确定虚拟贴图块对应的物理贴图。
在一个实施例中,在虚拟纹理坐标系下,确定顶点坐标所对应的虚拟贴图块的虚拟纹理坐标,包括:确定与顶点坐标所对应的虚拟贴图块的世界坐标;根据虚拟贴图块的世界坐标,确定虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标。
可以理解的是,世界坐标,是指在三维场景中的世界空间坐标系下的坐标。其中,三维场景中各顶点的世界坐标是固定不变的。因此,可以通过以世界坐标作为参考,对各顶点的坐标进行转换。
终端在计算各虚拟贴图块的虚拟纹理坐标时,则可以基于与各虚拟贴图块的顶点坐标对应的世界坐标,确定出各虚拟贴图块的虚拟纹理坐标。具体地,终端首先获取各虚拟贴图块的顶点坐标,然后根据世界坐标变换矩阵,计算出与顶点坐标所对应的虚拟贴图块的世界坐标。
终端进而根据各虚拟贴图块对应的世界坐标,以及虚拟贴图中的世界原点和虚拟贴图在世界空间坐标系下所覆盖的大小,计算出各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标。
例如,终端可以将各虚拟贴图块对应的世界坐标,减去虚拟贴图中的世界原点,得到各虚拟贴图块对应的世界坐标与世界原点的偏移。然后再根据得到的偏移与虚拟贴图在世界空间坐标系下所覆盖的大小的比值,各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标,从而能够准确地计算出虚拟贴图块对应的虚拟纹理坐标。
在一个实施例中,根据虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各虚拟贴图块对应的物理贴图,包括:根据虚拟纹理坐标和虚拟贴图的虚拟贴图尺寸,确定各虚拟贴图块在虚拟纹理页表中对应的物理贴图的物理纹理坐标;根据物理纹理坐标获取与各虚拟贴图块对应的物理贴图。
其中,虚拟贴图的虚拟贴图尺寸,是指单个虚拟贴图块在虚拟纹理坐标系下的尺寸大小。
终端在确定与各虚拟贴图块对应的物理贴图时,可以根据各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标、各虚拟贴图块在虚拟纹理坐标系下的虚拟贴图尺寸以及各虚拟贴图块在世界空间坐标系下的尺寸大小,计算出各虚拟贴图块对应的物理贴图的物理纹理坐标。
具体地,终端首先根据各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标、各虚拟贴图块在虚拟纹理坐标系下的虚拟贴图尺寸,确定对应的虚拟纹理页表的整数坐标。然后根据虚拟纹理页表的整数坐标,以及各虚拟贴图块在世界空间坐标系下的尺寸大小,计算出各虚拟贴图块在虚拟纹理页表中对应的物理贴图的物理纹理坐标。终端进而根据物理纹理坐标从磁盘的纹理数据中,读取与各虚拟贴图块对应的物理贴图,并将获取的物理贴图加载至贴图缓存。
本实施例中,通过根据虚拟纹理坐标在虚拟纹理页表中查找的相应的物理纹理坐标,由此能够精准地确定虚拟贴图块对应的物理贴图。并通过将物理贴图加载至贴图缓存中,从而能够使得像素着色器从贴图缓存中精准地进行纹理采样。
在一个实施例中,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标,包括:根据缩放变换矩阵对虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,得到缩放变换后的各渲染子块的局部虚拟纹理坐标;根据虚拟贴图块对应的世界坐标,以及虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定物理贴图对应的起始物理纹理坐标;根据各渲染子块的局部虚拟纹理坐标以及物理贴图对应的起始物理纹理坐标,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
可以理解,坐标变换是从一个坐标系映射到另外一个坐标系。在三维坐标系,首先通过对顶点进行世界空间变换处理,以将模型从模型空间中的顶点转换到世界空间。
在三维图形学中,几何变换包括平移变换、缩放变换、旋转变换等。其中,缩放变换,是指将模型放大或者缩小,也就是对模型上每个顶点进行放大和缩小,使得顶点坐标值变大或变小。
顶点处理是指在被渲染的每个元素的每个顶点上的所有计算。顶点的变换矩阵一般是浮点矩阵,这个矩阵一般只执行平移,旋转或者缩放。也可以用矩阵变换来实现场景的层次结构。场景的层次结构可以用于绘制那些被连接起来的人物结构或者有相对定位的模型。顶点处理包括:世界变换、纹理坐标计算、纹理变换、视觉变换、顶点雾化、视截体剪裁和视口映射等。顶点处理的结果,可以包括屏幕空间的位置、颜色以及纹理坐标等结果数据。
其中,缩放变换矩阵,是指虚拟贴图对应的用于进行缩放变换处理的矩阵。物理贴图的起始物理纹理坐标,可以是指各个物理贴图的起始坐标地址,也就是单个物理贴图的起始原点的坐标。
终端通过顶点着色器确定与各顶点坐标对应的物理贴图,并将对应的物理贴图加载至贴图缓存后,则进一步根据顶点坐标计算出与各顶点坐标对应的物理纹理坐标。
具体地,终端首先通过顶点着色器根据预设的缩放变换矩阵,对虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,由此能够有效得到缩放变换后的各渲染子块的局部虚拟纹理坐标。例如,终端可以直接将各渲染子块的顶点坐标与缩放变换矩阵相乘,从而得到缩放变换后的各渲染子块的局部虚拟纹理坐标。
终端进而根据虚拟贴图块对应的世界坐标,以及虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定物理贴图对应的起始物理纹理坐标。具体地,终端可以首先根据各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标、各虚拟贴图块在虚拟纹理坐标系下的虚拟贴图尺寸,确定对应的虚拟纹理页表的整数坐标。然后根据虚拟纹理页表的整数坐标,以及各虚拟贴图块在世界空间坐标系下的尺寸大小,计算出各虚拟贴图块在虚拟纹理页表中对应的物理贴图的起始物理纹理坐标。
终端进一步通过顶点着色器,根据物理贴图对应的起始物理纹理坐标,以及各渲染子块的局部虚拟纹理坐标相对于起始物理纹理坐标的差值,计算出各渲染子块在贴图缓存中对应的物理纹理坐标,由此能够精准地计算出各渲染子块对应的物理纹理坐标。
在一个实施例中,根据各渲染子块的局部虚拟纹理坐标以及物理贴图对应的起始物理纹理坐标,确定各渲染子块在贴图缓存中对应的物理纹理坐标,包括:根据各虚拟贴图块的起始虚拟纹理坐标与各物理贴图对应的起始物理纹理坐标,将各虚拟贴图块与相匹配的物理贴图对齐;根据虚拟贴图块的起始虚拟纹理坐标以及各渲染子块的局部虚拟纹理坐标,确定各渲染子块在虚拟贴图块中的偏移量;根据物理贴图对应的起始物理纹理坐标和偏移量,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
可以理解,偏移量,是指把存储单元的实际地址与其所在段的段地址之间的距离,也称为段内偏移或有效地址。各渲染子块在虚拟贴图块中的偏移量,则表示各渲染子块的局部虚拟纹理坐标,与虚拟贴图块的起始虚拟纹理坐标之间的距离。
其中,渲染子块可以是在渲染过程中进行绘制处理的最小单元,例如具体可以是像素格子或像素点对应的像素格子。
各虚拟贴图块包括对应的起始虚拟纹理坐标,也就是各虚拟贴图块自身的起始点坐标。可以理解,初始的虚拟贴图具有相应的起始点坐标,虚拟贴图块在虚拟贴图具有相应的位置,即可以根据各虚拟贴图块的顶点对应的顶点坐标确定各虚拟贴图块在虚拟贴图中的位置坐标。
终端根据虚拟贴图块的顶点坐标,确定与各虚拟贴图块对应的物理贴图,并将物理贴图加载至贴图缓存。
终端进而根据预设的缩放变换矩阵对虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,得到缩放变换后的各渲染子块的局部虚拟纹理坐标。然后终端根据虚拟贴图块对应的世界坐标,以及虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定物理贴图对应的起始物理纹理坐标。
如图6所示,为一个实施例中的虚拟贴图,虚拟贴图62中包括多个虚拟贴图块,每个虚拟贴图块中包括多个渲染子块,每个渲染子块的局部虚拟纹理坐标,可以为各渲染子块的左上角顶点在相应虚拟贴图块中的顶点坐标。以虚拟贴图块6a为例,虚拟贴图块6a的顶点坐标为左上角顶点在相应虚拟贴图中的顶点坐标,即(0,3)。虚拟贴图块6a中渲染子块6a1的坐标则为(3,3)。
终端则进一步根据各虚拟贴图块的起始虚拟纹理坐标,与对应物理贴图的起始物理纹理坐标,将各虚拟贴图块与对应的物理贴图对齐。由于各虚拟贴图块与对应的物理贴图的贴图范围是一致的,然后终端则可以根据各渲染子块在虚拟贴图块中的偏移量,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
具体地,终端根据虚拟贴图块的起始虚拟纹理坐标以及各渲染子块的局部虚拟纹理坐标,确定各渲染子块在虚拟贴图块中的偏移量。例如,终端可以根据缩放变换后的各渲染子块的局部虚拟纹理坐标,与在世界空间下的虚拟贴图中的单个虚拟贴图块的尺寸大小的比值,得到各个渲染子块在虚拟贴图块中的偏移量。
终端进而根据物理贴图对应的起始物理纹理坐标和偏移量,确定各渲染子块在贴图缓存中对应的物理纹理坐标。具体地,物理纹理坐标的以通过如下公式计算:
LPInC=LP*LS;
其中,LP表示虚拟贴图块中各渲染子块的局部顶点坐标;LS表示缩放变换矩阵;LPInC表示缩放变换后的局部虚拟纹理坐标。
BSWP=SP*WM;
其中,SP表示各虚拟贴图块的顶点坐标;WM表示世界变换矩阵;BSWP表示各虚拟贴图块对应的世界坐标。
VTUV=(BSWP-VTOrg)/VTSize;
其中,VTOrg表示虚拟贴图的世界原点坐标,即左上角顶点的坐标;VTSize表示虚拟贴图在世界坐标系下所覆盖的尺寸大小;VTUV表示各虚拟贴图块的虚拟纹理坐标。
VTPageCoord=floorToInt(VTUV/VTUVTileSize);
其中,VTUVTileSize表示虚拟纹理空间下的单个虚拟贴图块的尺寸大小;VTPageCoord表示PageTable中对应的整数坐标。
PhysicalStartUV=PageTableTexture.Load(VTPageCoord);
其中,PageTableTexture表示PageTable中的物理贴图数据;PhysicalStartUV表示物理贴图对应的起始物理纹理坐标地址。
PhysicalUV=PhysicalStartUV+(LPInC/VTWorldTileSize);
其中,PhysicalUV则为最终所要计算的各渲染子块在贴图缓存中对应的物理纹理坐标。
终端可以通过将物理贴图的起始物理纹理坐标,加上各渲染子块在虚拟贴图块中的偏移量,从而能够精准地计算出各渲染子块的在贴图缓存中的物理贴图中所对应的物理纹理坐标。
在一个实施例中,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标,包括:通过顶点着色器中的采样结点,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。将物理纹理坐标传入像素着色器,包括:通过顶点着色器中的采样结点,将物理纹理坐标传入像素着色器。
其中,采样结点,是指在顶点着色器中部署的用于计算物理纹理坐标的处理结点,以使得顶点着色器获得顶点坐标后,能够直接在顶点着色器中计算出物理纹理坐标。
可以理解,顶点着色器中包括顶点工厂函数,例如Unreal Engine引擎中的顶点着色器中包括Vertex Factory顶点工厂函数,主要负责将特定网格类型的顶点数据从CPU(Central Processing Unit,中央处理器)传递到GPU(Graphics Processing Unit,图形处理器)。然后在像素着色器中,基于传入的顶点数据进行渲染处理。其中,采样结点可以是顶点工厂函数中的其中一种顶点工厂函数。
例如,在Unreal Engine虚幻引擎中,采样结点对应的顶点工厂函数,具体可以为FVertexFactoryInterpolantsVSToPS,用于将顶点有关的数据,从顶点着色器传递到像素着色器的顶点工厂数据。
终端获得各虚拟贴图块的顶点坐标后,将顶点坐标输入至顶点着色器,通过顶点着色器中的采样结点对顶点坐标进行坐标变换处理,以计算得到各渲染子块在贴图缓存中对应的物理纹理坐标。终端然后将计算得到的物理纹理坐标写入顶点着色器的采样结点中的预设结构体中。终端从而按照预设结构体,将物理纹理坐标从顶点着色器传入像素着色器中,由此能够精准有效地将物理纹理坐标传输至像素着色器中。
在一个实施例中,通过顶点着色器中的采样结点,将物理纹理坐标传入像素着色器,包括:通过顶点着色器中的采样结点,对物理纹理坐标对应的顶点属性进行插值处理,得到像素点属性的物理纹理坐标;将像素点属性的物理纹理坐标传入像素着色器。
其中,插值(Interpolation),是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方式。插值是离散函数逼近的重要方式,可以通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。
可以理解,在顶点处理阶段,输入数据通常只有顶点信息。在进行光栅化处理的过程中,则需要将顶点属性通过属性插值处理得到像素点属性。具体地,通过对三角形的部分顶点信息,在三角形的内部经过扫描转化处理,由此插值得到三角形的内部每个像素点的属性信息,使得每个像素都有位置、颜色、纹理坐标等属性信息,从而能够有效实现填充图像变换时像素之间的空隙。
其中,顶点着色器中的采样结点可以包括对应的预设结构体。可以理解,结构体,表示采用预先定义的数据类型,按照预设数据组织方式构建的数据结构,通常用于封装一些属性来组成新的类型,以便于简化运算和数据读取。本实施例中的预设结构体,可以是用于支持读取物理纹理坐标的数据结构体。
其中,预设结构体中可以包括纹理采样坐标属性。纹理采样坐标属性,用于指示需要对预设结构体中的物理纹理坐标进行插值处理。
终端将物理纹理坐标从顶点着色器传入像素着色器时,需要通过属性插值处理,以将物理纹理坐标传入像素着色器中。
具体地,终端通过顶点着色器计算得到各渲染子块在贴图缓存中对应的物理纹理坐标,此时的物理纹理坐标的坐标属性为顶点属性。终端将计算得到的物理纹理坐标写入顶点着色器的采样结点中的预设结构体中后,则根据预设结构体中的纹理采样坐标属性,对物理纹理坐标对应的顶点属性进行插值处理,以将顶点属性的物理纹理坐标进行属性插值,得到像素点属性的物理纹理坐标。然后终端则将物理纹理坐标从顶点着色器传入像素着色器中,使得像素着色器能够直接对像素点属性的物理纹理坐标进行处理,以进一步根据像素点属性的物理纹理坐标,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于所采样的纹理像素渲染待渲染图像。
本实施例中,通过在采样结点对应的预设结构体中,部署纹理采样坐标属性,从而能够有效地对预设结构体中的物理纹理坐标进行插值处理,进而能够实现将物理纹理坐标传入至像素着色器中。
在一个实施例中,如图7所示,提供了另一种图像渲染方法,具体包括以下步骤:
S702,确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标。
S704,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存。
S706,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
S708,通过顶点着色器,根据各虚拟贴图块对应的虚拟纹理坐标,确定各虚拟贴图块对应的纹理请求参数。
S710,通过顶点着色器,将物理纹理坐标和纹理请求参数传入像素着色器中。
S712,通过像素着色器,根据纹理请求参数从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素。
其中,纹理请求参数,是表示当前的待渲染图像需要请求的虚拟贴图数据的请求参数信息,可以用于对所需的虚拟纹理数据进行更新。
终端获取待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标后,通过顶点着色器对顶点坐标进行变换处理。顶点着色器则根据各虚拟贴图块的顶点坐标,确定与虚拟贴图块对应的物理贴图,以将物理贴图加载至贴图缓存中。
终端进而针对顶点坐标所对应的虚拟贴图块中各渲染子块,通过顶点着色器,确定各渲染子块在贴图缓存中对应的物理纹理坐标。并且,终端还通过顶点着色器根据各虚拟贴图块对应的虚拟纹理坐标,确定各虚拟贴图块对应的纹理请求参数。
其中,虚拟贴图块对应的虚拟纹理坐标,具体可以是虚拟贴图块的顶点,在虚拟纹理坐标系下的虚拟贴图中的虚拟纹理坐标。
具体地,终端可以首先根据各虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标、各虚拟贴图块在虚拟纹理坐标系下的虚拟贴图尺寸,确定对应的虚拟纹理页表的整数坐标。然后根据虚拟纹理页表的整数坐标,得到各虚拟贴图块对应的纹理请求参数。
终端通过顶点着色器计算出所需的物理纹理坐标和纹理请求参数后,则将物理纹理坐标和纹理请求参数传入像素着色器中。具体地,终端的顶点着色器可以将物理纹理坐标和纹理请求参数写入预设结构体中。预设结构体包括纹理采样坐标属性和纹理请求参数属性。其中,纹理采样坐标属性,用于指示需要对预设结构体中的物理纹理坐标进行插值处理。纹理请求参数属性,用于将纹理请求参数传入像素着色器。
像素着色器获得顶点着色器输入的物理纹理坐标和纹理请求参数后,则通过像素着色器,根据纹理请求参数从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素。当所需要的虚拟纹理数据的层级发送变化时,则根据纹理请求参数对相应的虚拟贴图块进行更新,以进一步根据计算得到的物理纹理坐标采样所需的纹理像素,从而能够精准有效地对待渲染图像进行图像渲染。
在一个实施例中,根据各虚拟贴图块对应的虚拟纹理坐标,确定各虚拟贴图块对应的纹理请求参数,包括:根据虚拟纹理页表中虚拟纹理页的尺寸,对各虚拟贴图块对应的虚拟纹理坐标进行矫正,得到矫正后的虚拟纹理坐标;根据矫正后的虚拟纹理坐标,生成各虚拟贴图块对应的纹理请求参数。
可以理解,虚拟纹理页表中包括多个虚拟纹理页,每个虚拟纹理页包括对应的尺寸。虚拟纹理页表中的虚拟纹理页,与虚拟贴图中的虚拟贴图块相对应。根据虚拟纹理页的尺寸可以确定出对应纹理层级的虚拟贴图块对应的纹理请求参数。
例如,当待渲染图像为连续的图像帧时,则需要根据三维场景中视角的变化不断更新所需的纹理层级对应的纹理贴图。
具体地,终端可以根据各虚拟贴图块对应的虚拟纹理坐标,以及当前的虚拟纹理页表中虚拟纹理页的尺寸,对各虚拟贴图块对应的虚拟纹理坐标进行矫正,得到矫正后的虚拟纹理坐标。例如,终端可以按照虚拟纹理坐标的寻址模式和虚拟纹理页表中虚拟纹理页的尺寸修正虚拟纹理坐标。然后终端根据矫正后的虚拟纹理坐标,更新各虚拟贴图块对应的纹理请求参数,从而能够精准地生成所需纹理层级的虚拟贴图块对应的纹理请求参数。
在一个实施例中,根据矫正后的虚拟纹理坐标,生成各虚拟贴图块对应的纹理请求参数,包括:根据矫正后的虚拟纹理坐标,确定虚拟纹理页对应的纹理层级;根据矫正后的虚拟纹理坐标和纹理层级,确定各虚拟贴图块对应的虚拟纹理页的像素坐标;根据像素坐标生成与各虚拟贴图块对应的纹理请求参数。
可以理解,虚拟贴图可以包括多个纹理层级分别对应的纹理贴图数据,例如可以包括基于Mipmap(多级渐远层级)生成的多个纹理层级分别对应的纹理贴图数据。其中,每个纹理层级对应的纹理贴图数据的精度不同。
例如,Mip Level 0级别是精度最高的级别;Mip Level 1级别是0级别的图像Width,Height大小的一半;Mip Level n级别是上一级别的图像Width,Height大小的一半。通过确定出正确的纹理层级,以确定出正确的纹理请求参数,从而能够精准地采样所需的纹理像素。
具体地,终端根据各虚拟贴图块对应的虚拟纹理坐标,以及当前的虚拟纹理页表中虚拟纹理页的尺寸,得到矫正后的虚拟纹理坐标后。然后根据矫正后的虚拟纹理坐标,确定所需的虚拟纹理页对应的纹理层级。具体地,终端可以根据矫正后的虚拟纹理坐标,确定虚拟纹理页对应的纹理层级。
然后终端根据矫正后的虚拟纹理坐标和纹理层级,确定各虚拟贴图块对应于虚拟纹理页的像素坐标,并根据纹理层级以及像素坐标生成与各虚拟贴图块对应的纹理请求参数,由此能够精准地生成所需纹理层级的虚拟贴图块对应的纹理请求参数。
例如,终端可以按照虚拟纹理坐标的寻址模式修正虚拟纹理坐标,然后根据当前的虚拟贴图中虚拟纹理页的数量和尺寸,以及计算出的虚拟纹理坐标计算出虚拟纹理坐标在虚拟纹理页中对应的像素坐标。
在一个实施例中,如图8所示,提供了另一种图像渲染方法,具体包括以下步骤:
S802,当待渲染图像包括地形场景区域时,确定地形场景区域在虚拟贴图中相应虚拟贴图块的顶点坐标。
S804,通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存。
S806,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
S808,通过顶点着色器,将物理纹理坐标传入像素着色器。
S810,通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像中的地形场景区域。
可以理解,待渲染图像中包括三维场景下的多种类型的场景对象的图像区域,例如,场景对象可以包括三维地形、房屋、树木、人物等中的至少一种。
其中,待渲染图像中的地形场景区域,可以是待展示的三维场景下的三维地形对应的区域。可以理解的是,待渲染图像中可以仅包括地形场景区域,也可以包括地形场景区域以及其他场景对象对应的区域。本申请在此不做限定。
对于面积范围较大的三维地形,通常需要通过多张地形纹理图像组合而成得到完整的三维地形。其中,地形场景区域对应的虚拟贴图块的顶点坐标,可以是预先根据地形网格中的网格顶点生成的各网格顶点对应的顶点坐标。
当待渲染图像中包括地形场景区域时,终端则获取地形场景区域在虚拟贴图中相应虚拟贴图块的顶点坐标,并将顶点坐标输入至顶点着色器。然后通过顶点着色器确定与顶点坐标对应的物理贴图,并将物理贴图加载至贴图缓存。
终端则针对顶点坐标所对应的虚拟贴图块中各渲染子块,通过顶点着色器,确定各渲染子块在贴图缓存中对应的物理纹理坐标。然后通过顶点着色器,将物理纹理坐标传入像素着色器。
终端进而通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像中的地形场景区域。
在其中一个实施例中,当待渲染图像中还包括其他场景对象对应的区域时,终端获取其他场景对象区域对应的虚拟贴图块的顶点坐标,并输入至顶点着色器。然后通过顶点着色器对顶点坐标进行顶点坐标变换处理,得到顶点变换后的顶点数据。然后通过顶点着色器将顶点变换后的顶点数据传入像素着色器中,使得像素着色器根据变换后的顶点数据,确定与顶点数据对应的其他场景对象的物理贴图,并将物理贴图加载至贴图缓存。然后像素着色器根据变换后的顶点数据,计算其他场景对象区域,在其他场景对象的物理贴图中对应的物理纹理坐标。
终端进而通过像素着色器根据物理纹理坐标从贴图缓存中的物理贴图中,采样与其他场景对象区域匹配的纹理像素。像素着色器进而基于采样得到的与地形场景区域相匹配的纹理像素,以及与其他场景对象区域匹配的纹理像素,渲染待渲染图像中的地形场景区域和其他场景对象区域。
在其中一个实施例中,上述图像渲染方法,适用于固定俯视视角的三维场景中。具体地,在三维场景中的虚拟观测点可以任意移动,也可以任意放大或缩小视野范围。由此不会产生采样过小的纹理贴图,从而能够有效保证图像渲染的精准度。
本实施例中,通过将地形场景区域分别开来,针对地形场景区域特有的性质,通过在顶点着色器中实现地形场景区域的物理纹理坐标的计算过程,由此能够有效减少像素着色器的计算量,并且不影响其他场景对象区域的渲染处理,从而有效减少了图像渲染过程中的资源消耗,进而能够有效提高渲染效率。
在一个具体的实施例中,如图9所示,为地形虚拟贴图的绘制流程图。当终端开始渲染处理时,终端获取待渲染图像对应的顶点数据,将顶点数据输入至顶点着色器中,通过顶点着色器进行地形顶点处理。具体地,终端通过顶点着色器根据顶点数据中与待渲染图像对应虚拟贴图中虚拟贴图块的顶点坐标,基于各顶点的世界坐标对顶点坐标进行坐标变换处理,进而根据变换后的顶点坐标确定与各虚拟贴图块对应的物理贴图,以将物理贴图加载至贴图缓存中。
终端进而通过顶点着色器计算Physical UV(物理纹理坐标)和Request(纹理请求参数),然后将插值处理后的物理纹理坐标以及纹理请求参数传入像素着色器中。终端则像素着色器,根据插值处理后的物理纹理坐标,从贴图缓存中采样物理贴图中的纹理像素,进而基于采样得到的纹理像素进行其他的像素着色操作,以对待渲染图像进行渲染处理。最后将渲染后的图像的像素输出至终端的显示屏上进行展示。
本实施例中,针对地形虚拟贴图,通过顶点着色器计算出所需的物理纹理坐标并传入像素着色器中,由此使得像素着色器无需再计算物理纹理坐标,从而能够保证精准地计算出用于纹理采样的物理纹理坐标的同时,还有效减少像素着色器的计算量,进而能够高效精准地对地形场景进行图像渲染。
本申请还提供一种应用场景,该应用场景为开放世界类的三维游戏场景,该游戏场景应用上述的图像渲染方法。具体地,开放世界类的三维游戏场景中包括开放世界地形,其中开放世界地形是开放世界式的任务空间,通常包括与开放世界地形对应的面积范围较大的地图,其中包括预先绘制的开放世界地形对应的地形纹理贴图。由于开放世界地形的范围较大,需要加载大量的对地形纹理贴图切分后的纹理贴图块,因此开放世界地形对于地形纹理贴图的精度要求较高。
终端中部署有与三维游戏场景对应的三维游戏应用,终端可以通过三维游戏应用获取预先通过游戏编辑器生成的游戏纹理资源。终端在运行三维游戏应用时,获取待渲染图像对应的虚拟纹理贴图和对应的顶点数据,并确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标,将顶点坐标输入至顶点着色器中。终端进而通过顶点着色器根据顶点坐标确定与虚拟贴图块对应的物理贴图,以将物理贴图加载至贴图缓存中。
终端进一步针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。然后终端通过顶点着色器将计算出的物理纹理坐标传入像素着色器中。终端进而通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。
在其中一个实施例中,待渲染图像中包括地形场景区域和其他场景对象区域。其中,游戏纹理资源包括三维游戏场景下的开放世界地形对应的地形纹理贴图数据,以及三维游戏场景下的其他场景对象对应的纹理贴图数据。
具体地,针对待渲染图像中的地形场景区域,终端获取与地形场景区域对应的虚拟地形纹理贴图数据和地形地点数据,并确定地形场景区域在虚拟地形贴图中相应虚拟地形贴图块的地形顶点坐标,将地形顶点坐标输入至顶点着色器中。通过顶点着色器确定与虚拟地形贴图块对应的地形物理贴图,并将地形物理贴图加载至贴图缓存中。然后通过顶点着色器计算地形场景区域对应的物理纹理坐标,并传入像素着色器中。
针对待渲染图像中的其他场景对象区域,终端则通过顶点着色器对顶点坐标进行顶点坐标变换处理,顶点着色器然后将顶点变换后的顶点数据传入像素着色器中,使得像素着色器根据变换后的顶点数据,计算其他场景对象区域在其他场景对象的物理贴图中对应的物理纹理坐标。
终端进而通过像素着色器,根据地形场景区域以及其他场景对象对应的物理纹理坐标,从贴图缓存中相应的物理贴图中,采样相匹配的纹理像素,并基于纹理像素渲染待渲染图像。通过将地形场景区域分别开来,针对地形场景区域特有的性质,通过在顶点着色器中实现地形场景区域的物理纹理坐标的计算过程,由此能够有效减少像素着色器的计算量,进而有效提高了图像渲染效率。
在其中一个实施例中,三维游戏场景为固定视角的三维游戏场景,例如固定视角可以为固定的俯视视角。由于固定视角不会产生过小的贴图采样,因此采用上述图像渲染方法时,能够有效减少图像渲染过程中的资源消耗,即时不使用多级渐远纹理贴图,也不会存在明显的噪点。由此即使在性能较低的移动终端上,也能够实现高效地渲染高精度的开放世界地形以及多层混合的地形材质,从而能够有效提高图像渲染效率。
本申请还提供一种应用场景,该应用场景为三维环境演示场景,例如旅游环境演示场景、建筑物演示场景等。该三维环境演示场景应用上述的图像渲染方法。针对各种环境下的三维环境演示场景,可以预先获取各种三维场景对应的纹理贴图数据。
终端在展示三维环境演示场景时,获取待渲染图像对应的虚拟纹理贴图和对应的顶点数据,并确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标,将顶点坐标输入至顶点着色器中。终端进而通过顶点着色器根据顶点坐标确定与虚拟贴图块对应的物理贴图,以将物理贴图加载至贴图缓存中。
终端进一步针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。然后终端通过顶点着色器将计算出的物理纹理坐标传入像素着色器中。终端进而通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。通过在顶点着色器中计算出所需的物理纹理坐标并传入像素着色器中,由此使得像素着色器无需再计算物理纹理坐标,从而能够有效减少像素着色器的计算量,进而有效提高了图像渲染效率。
应该理解的是,虽然图2、7、8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、7、8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种图像渲染装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据获取模块1002、物理纹理坐标确定模块1004、数据传输模块1006和图像渲染模块1008,其中:
数据获取模块1002,用于确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;通过顶点着色器,将与顶点坐标对应的物理贴图加载至贴图缓存。
物理纹理坐标确定模块1004,用于针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
数据传输模块1006,用于将物理纹理坐标传入像素着色器。
图像渲染模块1008,用于通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。
在一个实施例中,数据获取模块1002还用于通过顶点着色器,在虚拟纹理坐标系下,确定顶点坐标所对应的虚拟贴图块的虚拟纹理坐标;获取虚拟纹理页表;虚拟纹理页表中存储虚拟纹理坐标和物理纹理坐标间的映射关系;物理纹理坐标,是物理贴图在物理纹理坐标系下的坐标;根据虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各虚拟贴图块对应的物理贴图;将获取的物理贴图加载至贴图缓存。
在一个实施例中,数据获取模块1002还用于确定与顶点坐标所对应的虚拟贴图块的世界坐标;根据虚拟贴图块的世界坐标,确定虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标。
在一个实施例中,数据获取模块1002还用于根据虚拟纹理坐标和虚拟贴图的虚拟贴图尺寸,确定各虚拟贴图块在虚拟纹理页表中对应的物理贴图的物理纹理坐标;根据物理纹理坐标获取与各虚拟贴图块对应的物理贴图。
在一个实施例中,物理纹理坐标确定模块1004还用于根据缩放变换矩阵对虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,得到缩放变换后的各渲染子块的局部虚拟纹理坐标;根据虚拟贴图块对应的世界坐标,以及虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定物理贴图对应的起始物理纹理坐标;根据各渲染子块的局部虚拟纹理坐标以及物理贴图对应的起始物理纹理坐标,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
在一个实施例中,物理纹理坐标确定模块1004还用于根据各虚拟贴图块的起始虚拟纹理坐标与各物理贴图对应的起始物理纹理坐标,将各虚拟贴图块与相匹配的物理贴图对齐;根据虚拟贴图块的起始虚拟纹理坐标以及各渲染子块的局部虚拟纹理坐标,确定各渲染子块在虚拟贴图块中的偏移量;根据物理贴图对应的起始物理纹理坐标和偏移量,确定各渲染子块在贴图缓存中对应的物理纹理坐标。
在一个实施例中,物理纹理坐标确定模块1004还用于通过顶点着色器中的采样结点,针对顶点坐标所对应的虚拟贴图块中各渲染子块,确定各渲染子块在贴图缓存中对应的物理纹理坐标;数据传输模块1006还用于通过顶点着色器中的采样结点,将物理纹理坐标传入像素着色器。
在一个实施例中,数据传输模块1006还用于通过顶点着色器中的采样结点,对物理纹理坐标对应的顶点属性进行插值处理,得到像素点属性的物理纹理坐标;将像素点属性的物理纹理坐标传入像素着色器。
在一个实施例中,上述图像渲染装置还包括参数确定模块,用于通过顶点着色器,根据各虚拟贴图块对应的虚拟纹理坐标,确定各虚拟贴图块对应的纹理请求参数;通过顶点着色器,将物理纹理坐标和纹理请求参数传入像素着色器中;图像渲染模块1008还用于通过像素着色器,基于纹理请求参数从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素。
在一个实施例中,参数确定模块还用于根据虚拟纹理页表中虚拟纹理页的尺寸,对各虚拟贴图块对应的虚拟纹理坐标进行矫正,得到矫正后的虚拟纹理坐标;根据矫正后的虚拟纹理坐标,生成各虚拟贴图块对应的纹理请求参数。
在一个实施例中,参数确定模块还用于根据矫正后的虚拟纹理坐标,确定虚拟纹理页对应的纹理层级;根据矫正后的虚拟纹理坐标和纹理层级,确定各虚拟贴图块对应的虚拟纹理页的像素坐标;根据像素坐标生成与各虚拟贴图块对应的纹理请求参数。
在一个实施例中,数据获取模块1002还用于当待渲染图像包括地形场景区域时,确定地形场景区域在虚拟贴图中相应虚拟贴图块的顶点坐标;图像渲染模块1008还用于通过像素着色器,从贴图缓存中的物理贴图中,采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像中的地形场景区域。
关于图像渲染装置的具体限定可以参见上文中对于图像渲染方法的限定,在此不再赘述。上述图像渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像渲染方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种图像渲染方法,其特征在于,所述方法包括:
确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;
通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
将所述物理纹理坐标传入像素着色器;
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
2.根据权利要求1所述的方法,其特征在于,所述通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存,包括:
通过顶点着色器,在虚拟纹理坐标系下,确定所述顶点坐标所对应的虚拟贴图块的虚拟纹理坐标;
获取虚拟纹理页表;所述虚拟纹理页表中存储虚拟纹理坐标和物理纹理坐标间的映射关系;所述物理纹理坐标,是物理贴图在物理纹理坐标系下的坐标;
根据所述虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各所述虚拟贴图块对应的物理贴图;
将获取的物理贴图加载至贴图缓存。
3.根据权利要求2所述的方法,其特征在于,所述在虚拟纹理坐标系下,确定所述顶点坐标所对应的虚拟贴图块的虚拟纹理坐标,包括:
确定与所述顶点坐标所对应的虚拟贴图块的世界坐标;
根据所述虚拟贴图块的世界坐标,确定所述虚拟贴图块在虚拟纹理坐标系下的虚拟纹理坐标。
4.根据权利要求2所述的方法,其特征在于,所述根据所述虚拟纹理坐标在虚拟纹理页表中相应的物理纹理坐标,获取与各所述虚拟贴图块对应的物理贴图,包括:
根据所述虚拟纹理坐标和所述虚拟贴图的虚拟贴图尺寸,确定各所述虚拟贴图块在所述虚拟纹理页表中对应的物理贴图的物理纹理坐标;
根据所述物理纹理坐标获取与各所述虚拟贴图块对应的物理贴图。
5.根据权利要求1所述的方法,其特征在于,所述针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标,包括:
根据缩放变换矩阵对所述虚拟贴图块中各渲染子块的顶点坐标进行缩放变换处理,得到缩放变换后的各所述渲染子块的局部虚拟纹理坐标;
根据所述虚拟贴图块对应的世界坐标,以及所述虚拟贴图块在虚拟纹理页表中对应的虚拟纹理坐标,确定所述物理贴图对应的起始物理纹理坐标;
根据各所述渲染子块的局部虚拟纹理坐标以及所述物理贴图对应的起始物理纹理坐标,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述渲染子块的局部虚拟纹理坐标以及所述物理贴图对应的起始物理纹理坐标,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标,包括:
根据各所述虚拟贴图块的起始虚拟纹理坐标与各所述物理贴图对应的起始物理纹理坐标,将各所述虚拟贴图块与相匹配的物理贴图对齐;
根据所述虚拟贴图块的起始虚拟纹理坐标以及各所述渲染子块的局部虚拟纹理坐标,确定各所述渲染子块在所述虚拟贴图块中的偏移量;
根据所述物理贴图对应的起始物理纹理坐标和所述偏移量,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标。
7.根据权利要求1所述的方法,其特征在于,所述针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标,包括:
通过顶点着色器中的采样结点,针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
所述将所述物理纹理坐标传入像素着色器,包括:
通过顶点着色器中的采样结点,将所述物理纹理坐标传入像素着色器。
8.根据权利要求7所述的方法,其特征在于,所述通过顶点着色器中的采样结点,将所述物理纹理坐标传入像素着色器,包括:
通过顶点着色器中的采样结点,对所述物理纹理坐标对应的顶点属性进行插值处理,得到像素点属性的物理纹理坐标;
将所述像素点属性的物理纹理坐标传入像素着色器。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述顶点着色器,根据各所述虚拟贴图块对应的虚拟纹理坐标,确定各所述虚拟贴图块对应的纹理请求参数;
通过所述顶点着色器,将所述物理纹理坐标和所述纹理请求参数传入像素着色器中;
所述通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,包括:
通过所述像素着色器,基于所述纹理请求参数从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素。
10.根据权利要求9所述的方法,其特征在于,所述根据各所述虚拟贴图块对应的虚拟纹理坐标,确定各所述虚拟贴图块对应的纹理请求参数,包括:
根据虚拟纹理页表中虚拟纹理页的尺寸,对各所述虚拟贴图块对应的虚拟纹理坐标进行矫正,得到矫正后的虚拟纹理坐标;
根据矫正后的虚拟纹理坐标,生成各所述虚拟贴图块对应的纹理请求参数。
11.根据权利要求10所述的方法,其特征在于,所述根据矫正后的虚拟纹理坐标,生成各所述虚拟贴图块对应的纹理请求参数,包括:
根据矫正后的虚拟纹理坐标,确定所述虚拟纹理页对应的纹理层级;
根据所述矫正后的虚拟纹理坐标和所述纹理层级,确定各所述虚拟贴图块对应的虚拟纹理页的像素坐标;
根据所述像素坐标生成与各所述虚拟贴图块对应的纹理请求参数。
12.根据权利要求1至11任意一项所述的方法,其特征在于,所述确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标,包括:
当待渲染图像包括地形场景区域时,确定所述地形场景区域在虚拟贴图中相应虚拟贴图块的顶点坐标;
所述通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像,包括:
通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像中的地形场景区域。
13.一种图像渲染装置,其特征在于,所述装置包括:
数据获取模块,用于确定待渲染图像在虚拟贴图中相应虚拟贴图块的顶点坐标;通过顶点着色器,将与所述顶点坐标对应的物理贴图加载至贴图缓存;
物理纹理坐标确定模块,用于针对所述顶点坐标所对应的虚拟贴图块中各渲染子块,确定各所述渲染子块在所述贴图缓存中对应的物理纹理坐标;
数据传输模块,用于将所述物理纹理坐标传入像素着色器;
图像渲染模块,用于通过所述像素着色器,从所述贴图缓存中的物理贴图中,采样与所述物理纹理坐标匹配的纹理像素,并基于所述纹理像素渲染所述待渲染图像。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110295463.5A CN112884875A (zh) | 2021-03-19 | 2021-03-19 | 图像渲染方法、装置、计算机设备和存储介质 |
PCT/CN2022/078563 WO2022193941A1 (zh) | 2021-03-19 | 2022-03-01 | 图像渲染方法、装置、设备、介质和计算机程序产品 |
US17/983,307 US20230053462A1 (en) | 2021-03-19 | 2022-11-08 | Image rendering method and apparatus, device, medium, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110295463.5A CN112884875A (zh) | 2021-03-19 | 2021-03-19 | 图像渲染方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112884875A true CN112884875A (zh) | 2021-06-01 |
Family
ID=76041387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110295463.5A Pending CN112884875A (zh) | 2021-03-19 | 2021-03-19 | 图像渲染方法、装置、计算机设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230053462A1 (zh) |
CN (1) | CN112884875A (zh) |
WO (1) | WO2022193941A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436306A (zh) * | 2021-07-22 | 2021-09-24 | 久瓴(江苏)数字智能科技有限公司 | 图像的渲染方法、装置及存储介质 |
CN113470092A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、电子设备和存储介质 |
CN113487716A (zh) * | 2021-07-23 | 2021-10-08 | 杭州群核信息技术有限公司 | 瓷砖铺贴渲染方法、装置、存储介质和计算机程序产品 |
CN113487708A (zh) * | 2021-06-25 | 2021-10-08 | 山东齐鲁数通科技有限公司 | 基于图形学的流动动画实现方法、存储介质及终端设备 |
CN113679147A (zh) * | 2021-08-31 | 2021-11-23 | 浙江奥云数据科技有限公司 | 一种定制鞋履的方法 |
CN114049857A (zh) * | 2021-10-21 | 2022-02-15 | 江苏印象乾图文化科技有限公司 | 一种应用于文博展示的裸眼3d电子文物展示架 |
CN114494622A (zh) * | 2022-01-20 | 2022-05-13 | 北京中航双兴科技有限公司 | 优化地形渲染的数据处理方法和装置 |
CN114866706A (zh) * | 2022-06-01 | 2022-08-05 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN115018955A (zh) * | 2021-09-01 | 2022-09-06 | 荣耀终端有限公司 | 一种图像生成方法及设备 |
WO2022193941A1 (zh) * | 2021-03-19 | 2022-09-22 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备、介质和计算机程序产品 |
CN115937392A (zh) * | 2022-12-12 | 2023-04-07 | 北京数原数字化城市研究中心 | 一种三维模型的渲染方法和装置 |
CN116561081A (zh) * | 2023-07-07 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN116883575A (zh) * | 2023-09-08 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 建筑群渲染方法、装置、计算机设备和存储介质 |
WO2023202367A1 (zh) * | 2022-04-20 | 2023-10-26 | 象帝先计算技术(重庆)有限公司 | 图形处理器、系统、装置、设备及方法 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115830091B (zh) * | 2023-02-20 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 纹理图像的生成方法、装置、设备、存储介质及产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997612A (zh) * | 2016-01-13 | 2017-08-01 | 索尼互动娱乐股份有限公司 | 图像渲染的装置和方法 |
CN108573524A (zh) * | 2018-04-12 | 2018-09-25 | 东南大学 | 基于渲染管线的交互式实时自由立体显示方法 |
CN111080806A (zh) * | 2019-12-20 | 2020-04-28 | 网易(杭州)网络有限公司 | 贴图处理方法及装置、电子设备、存储介质 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613388B2 (en) * | 2014-01-24 | 2017-04-04 | Here Global B.V. | Methods, apparatuses and computer program products for three dimensional segmentation and textured modeling of photogrammetry surface meshes |
CN112288873B (zh) * | 2020-11-19 | 2024-04-09 | 网易(杭州)网络有限公司 | 渲染方法和装置、计算机可读存储介质、电子设备 |
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
-
2021
- 2021-03-19 CN CN202110295463.5A patent/CN112884875A/zh active Pending
-
2022
- 2022-03-01 WO PCT/CN2022/078563 patent/WO2022193941A1/zh unknown
- 2022-11-08 US US17/983,307 patent/US20230053462A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997612A (zh) * | 2016-01-13 | 2017-08-01 | 索尼互动娱乐股份有限公司 | 图像渲染的装置和方法 |
CN108573524A (zh) * | 2018-04-12 | 2018-09-25 | 东南大学 | 基于渲染管线的交互式实时自由立体显示方法 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
CN111080806A (zh) * | 2019-12-20 | 2020-04-28 | 网易(杭州)网络有限公司 | 贴图处理方法及装置、电子设备、存储介质 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193941A1 (zh) * | 2021-03-19 | 2022-09-22 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备、介质和计算机程序产品 |
CN113487708A (zh) * | 2021-06-25 | 2021-10-08 | 山东齐鲁数通科技有限公司 | 基于图形学的流动动画实现方法、存储介质及终端设备 |
CN113487708B (zh) * | 2021-06-25 | 2023-11-03 | 山东齐鲁数通科技有限公司 | 基于图形学的流动动画实现方法、存储介质及终端设备 |
WO2023273117A1 (zh) * | 2021-06-30 | 2023-01-05 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、计算机设备和存储介质 |
CN113470092B (zh) * | 2021-06-30 | 2022-05-10 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、电子设备和存储介质 |
CN113470092A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、电子设备和存储介质 |
CN113436306A (zh) * | 2021-07-22 | 2021-09-24 | 久瓴(江苏)数字智能科技有限公司 | 图像的渲染方法、装置及存储介质 |
CN113436306B (zh) * | 2021-07-22 | 2024-04-05 | 久瓴(江苏)数字智能科技有限公司 | 图像的渲染方法、装置及存储介质 |
CN113487716A (zh) * | 2021-07-23 | 2021-10-08 | 杭州群核信息技术有限公司 | 瓷砖铺贴渲染方法、装置、存储介质和计算机程序产品 |
CN113679147A (zh) * | 2021-08-31 | 2021-11-23 | 浙江奥云数据科技有限公司 | 一种定制鞋履的方法 |
CN113679147B (zh) * | 2021-08-31 | 2022-05-24 | 浙江星链数据科技有限公司 | 一种定制鞋履的方法 |
CN115018955A (zh) * | 2021-09-01 | 2022-09-06 | 荣耀终端有限公司 | 一种图像生成方法及设备 |
CN114049857A (zh) * | 2021-10-21 | 2022-02-15 | 江苏印象乾图文化科技有限公司 | 一种应用于文博展示的裸眼3d电子文物展示架 |
CN114049857B (zh) * | 2021-10-21 | 2024-02-06 | 江苏印象乾图文化科技有限公司 | 一种应用于文博展示的裸眼3d电子文物展示架 |
CN114494622A (zh) * | 2022-01-20 | 2022-05-13 | 北京中航双兴科技有限公司 | 优化地形渲染的数据处理方法和装置 |
WO2023202367A1 (zh) * | 2022-04-20 | 2023-10-26 | 象帝先计算技术(重庆)有限公司 | 图形处理器、系统、装置、设备及方法 |
CN114866706A (zh) * | 2022-06-01 | 2022-08-05 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN115937392A (zh) * | 2022-12-12 | 2023-04-07 | 北京数原数字化城市研究中心 | 一种三维模型的渲染方法和装置 |
CN116561081A (zh) * | 2023-07-07 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN116561081B (zh) * | 2023-07-07 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN116883575B (zh) * | 2023-09-08 | 2023-12-26 | 腾讯科技(深圳)有限公司 | 建筑群渲染方法、装置、计算机设备和存储介质 |
CN116883575A (zh) * | 2023-09-08 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 建筑群渲染方法、装置、计算机设备和存储介质 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
CN117472592B (zh) * | 2023-12-27 | 2024-03-19 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022193941A1 (zh) | 2022-09-22 |
US20230053462A1 (en) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112884875A (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
US8553028B1 (en) | Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices | |
US8134556B2 (en) | Method and apparatus for real-time 3D viewer with ray trace on demand | |
US9275493B2 (en) | Rendering vector maps in a geographic information system | |
CN108959392B (zh) | 在3d模型上展示富文本的方法、装置及设备 | |
CN112370784B (zh) | 虚拟场景显示方法、装置、设备以及存储介质 | |
CN112837402A (zh) | 场景渲染方法、装置、计算机设备和存储介质 | |
CN116051713B (zh) | 渲染方法、电子设备和计算机可读存储介质 | |
Jenny et al. | Real-time raster projection for web maps | |
US10347034B2 (en) | Out-of-core point rendering with dynamic shapes | |
Masood et al. | High‐performance virtual globe GPU terrain rendering using game engine | |
CN116977532A (zh) | 立方体纹理生成方法、装置、设备、存储介质和程序产品 | |
CN112348938A (zh) | 优化三维物体的方法、装置和计算机设备 | |
She et al. | An efficient method for rendering linear symbols on 3D terrain using a shader language | |
Koca et al. | A hybrid representation for modeling, interactive editing, and real-time visualization of terrains with volumetric features | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
Christen et al. | Large scale constraint delaunay triangulation for virtual globe rendering | |
CN110853143B (zh) | 场景实现方法、装置、计算机设备和存储介质 | |
Mezhenin et al. | Reconstruction of spatial environment in three-dimensional scenes | |
González et al. | Combining displacement mapping methods on the GPU for real-time terrain visualization | |
Sellers et al. | Rendering massive virtual worlds | |
Dimitrijević et al. | High-performance Ellipsoidal Clipmaps | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
Bektas et al. | A survey of stereoscopic visualization support in mainstream geographic information systems | |
Muszyński et al. | Wide Field of View Projection Using Rasterization |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045892 Country of ref document: HK |