CN117215592A - 渲染程序生成方法、装置、电子设备和存储介质 - Google Patents
渲染程序生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117215592A CN117215592A CN202311467088.3A CN202311467088A CN117215592A CN 117215592 A CN117215592 A CN 117215592A CN 202311467088 A CN202311467088 A CN 202311467088A CN 117215592 A CN117215592 A CN 117215592A
- Authority
- CN
- China
- Prior art keywords
- rendering
- stage
- shader
- configuration
- code
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000009877 rendering Methods 0.000 claims abstract description 295
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种渲染程序生成方法、装置、电子设备和存储介质,其中,该方法包括:获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码,将每个渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中,根据预设描述符配置表,以及预设描述符配置表对应的通用代码库,构建代码工程,对代码工程进行编译,生成目标渲染程序。本申请直接基于GPU硬件描述符来构建目标渲染程序,不仅提高了渲染程序效率,而且有助于驱动开发人员分析GPU和渲染程序的性能瓶颈。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种渲染程序生成方法、装置、电子设备和存储介质。
背景技术
最底层的内核驱动(Kernel Mode Driver,KMD)依据硬件架构和结构描述,对上层用户模式驱动(User Mode Driver,UMD)提供相应的工作描述符(JOB Descriptor),UMD对外提供统一的图形渲染程序接口(如OpenGL、DirectX、Vulkan)。
当前,图形渲染主要是通过调用DirectX、OpenGL以及Vulkan等图形渲染程序接口来完成,出于图形渲染程序接口健壮性和完备性方面的考虑,在驱动内部往往会做一些状态检查,并对一些可能不会用到的特性做必要初始化或分配相关数据。
然而,在驱动内部做状态检查以及对不会用到的特性进行初始化或分配相关数据,均会影响渲染效率,导致渲染程序效率低下。
发明内容
有鉴于此,本申请实施例提供了一种渲染程序生成方法、装置、电子设备和存储介质,以解决渲染程序效率低下的问题。
第一方面,本申请实施例提供了一种渲染程序生成方法,包括:
获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息;
根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码;
将所述每个渲染阶段的渲染配置代码填充至预设描述符配置表中所述每个渲染阶段的工作描述符中;
根据所述预设描述符配置表,以及所述预设描述符配置表对应的通用代码库,构建代码工程;
对所述代码工程进行编译,生成目标渲染程序。
在一可选的实施方式中,所述至少两个渲染阶段包括:顶点输入阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述顶点输入阶段的配置页面输入的待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面导入的所述待渲染对象的顶点数据文件;
根据所述顶点数据文件,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面输入的所述待渲染对象的顶点选择操作;
根据所述顶点选择操作,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息。
在一可选的实施方式中,所述至少两个渲染阶段还包括:图元装配阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述图元装配阶段的配置页面选择的目标图元装配模式的信息作为所述图元装配阶段的渲染配置信息。
在一可选的实施方式中,所述至少两个渲染阶段还包括:着色器阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述着色器阶段的配置页面选择的所述着色器阶段的状态参数;
若所述状态参数指示所述着色器阶段被选择为开启状态,则获取通过所述着色器阶段的配置页面选择的所述着色器阶段的着色器源码,或者内置着色器代码作为所述着色器阶段的渲染配置信息。
在一可选的实施方式中,所述根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码,包括:
若所述着色器阶段的渲染配置信息包括:着色器源码,则将所述着色器阶段的着色器源码转换为预设代码格式,生成所述着色器阶段的执行代码作为所述着色器阶段的配置代码。
在一可选的实施方式中,所述将所述着色器阶段的着色器源码转换为预设代码格式,包括:
对所述着色器源码进行语法树构建,得到语法树;
根据所述语法树进行语法判断,得到代码测试结果;
若所述代码测试结果指示所述着色器源码不存在语法错误,则将所述着色器阶段的着色器源码转换为预设代码格式。
在一可选的实施方式中,所述方法还包括:
将所述着色器阶段的执行代码转换为所述着色器源码。
在一可选的实施方式中,所述根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码,包括:
若所述着色器阶段的渲染配置信息包括:内置着色器代码,则根据所述内置着色器代码,生成所述着色器阶段的配置代码。
在一可选的实施方式中,所述至少两个渲染阶段还包括:光栅化阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述光栅化阶段的配置页面输入的光栅化配置参数,作为所述光栅化阶段的渲染配置信息。
在一可选的实施方式中,所述方法还包括:
根据针对所述至少两个渲染阶段中目标渲染阶段的描述符导出操作,将所述目标渲染阶段的工作描述符导出至预设文件中。
第二方面,本申请实施例还提供了一种渲染程序生成装置,
获取模块,用于获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息;
生成模块,用于根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码;
填充模块,用于将所述渲染阶段的渲染配置代码填充至预设描述符配置表中所述每个渲染阶段的工作描述符中;
构建模块,用于根据所述预设描述符配置表,以及所述预设描述符配置表对应的通用代码库,构建代码工程;
所述生成模块,还用于对所述代码工程进行编译,生成目标渲染程序。
在一可选的实施方式中,所述至少两个渲染阶段包括:顶点输入阶段,所述获取模块,具体用于:
获取通过所述顶点输入阶段的配置页面输入的待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面导入的所述待渲染对象的顶点数据文件;
根据所述顶点数据文件,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面输入的所述待渲染对象的顶点选择操作;
根据所述顶点选择操作,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息。
在一可选的实施方式中,所述至少两个渲染阶段包括:图元装配阶段,所述获取模块,具体用于:
获取通过所述图元装配阶段的配置页面选择的目标图元装配模式的信息作为所述图元装配阶段的渲染配置信息。
在一可选的实施方式中,所述至少两个渲染阶段包括:着色器阶段,所述获取模块,具体用于:
获取通过所述着色器阶段的配置页面选择的所述着色器阶段的状态参数;
若所述状态参数指示所述着色器阶段被选择为开启状态,则获取通过所述着色器阶段的配置页面选择的所述着色器阶段的着色器源码,或者内置着色器代码作为所述着色器阶段的渲染配置信息。
在一可选的实施方式中,所述生成模块,具体用于:
若所述着色器阶段的渲染配置信息包括:着色器源码,则将所述着色器阶段的着色器源码转换为预设代码格式,生成所述着色器阶段的执行代码作为所述着色器阶段的配置代码。
在一可选的实施方式中,所述生成模块,具体用于:
对所述着色器源码进行语法树构建,得到语法树;
根据所述语法树进行语法判断,得到代码测试结果;
若所述代码测试结果指示所述着色器源码不存在语法错误,则将所述着色器阶段的着色器源码转换为预设代码格式。
在一可选的实施方式中,所述装置还包括:
转换模块,用于将所述着色器阶段的执行代码转换为所述着色器源码。
在一可选的实施方式中,所述生成模块,具体用于:
若所述着色器阶段的渲染配置信息包括:内置着色器代码,则根据所述内置着色器代码,生成所述着色器阶段的配置代码。
在一可选的实施方式中,所述至少两个渲染阶段包括:光栅化阶段,所述获取模块,具体用于:
获取通过所述光栅化阶段的配置页面输入的光栅化配置参数,作为所述光栅化阶段的渲染配置信息。
在一可选的实施方式中,所述装置还包括:
导出模块,用于根据针对所述至少两个渲染阶段中目标渲染阶段的描述符导出操作,将所述目标渲染阶段的工作描述符导出至预设文件中。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的渲染程序生成方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的渲染程序生成方法。
本申请提供了一种渲染程序生成方法、装置、电子设备和存储介质,其中,该方法包括:获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码,将每个渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中,根据预设描述符配置表,以及预设描述符配置表对应的通用代码库,构建代码工程,对代码工程进行编译,生成目标渲染程序。本申请直接基于GPU硬件描述符来构建目标渲染程序,不仅提高了渲染程序效率,而且有助于驱动开发人员分析GPU和渲染程序的性能瓶颈。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的渲染程序生成方法的流程示意图一;
图2为本申请实施例提供的图形渲染流程的示意图;
图3为本申请实施例提供的渲染程序生成方法的流程示意图二;
图4为本申请实施例提供的渲染程序生成方法的流程示意图三;
图5为本申请实施例提供的渲染程序生成方法的流程示意图四;
图6为本申请实施例提供的一种具体的渲染程序生成过程的示意图;
图7为本申请实施例提供的渲染程序生成装置的结构示意图;
图8本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
基于现有图形渲染出于API健壮性和完备性方面的考虑,在驱动内部往往会做一些状态检查,并对一些可能不会用到的特性做必要初始化或分配相关数据,导致渲染程序效率低下的问题,本申请在底层KMD提供的工作描述符基础之上,提供专门的渲染程序生成方法,用于生成符合预期的代码工程,把代码编译成可执行程序得到目标渲染程序,原API层面的工作被替代,采用生成的目标渲染程序进行图形渲染,相比OpenGL、Vulkan 接近底层硬件,直接基于GPU硬件描述符来构建目标渲染程序,渲染效率更高,并且摒弃无关功能、只调用相关驱动工作描述符,进一步提高了渲染效率,还密切关联底层硬件、更好排查底层硬件故障和设计缺陷,同时,在GPU设计阶段,早期采用基于工作描述符生成可执行的渲染程序,有助于提前发现工作描述符和对应底层设计不合理之处,即有助于驱动开发人员分析GPU和渲染程序的性能瓶颈。
图1为本申请实施例提供的渲染程序生成方法的流程示意图一,本实施例的执行主体可以为电子设备,如终端、服务器等。
如图1所示,该方法可以包括:
S101、获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息。
其中,预设渲染流程可以理解为渲染管线,预设渲染流程中包括至少两个渲染阶段,例如可以为顶点输入阶段、图元装配阶段、着色器阶段、光栅化阶段中的至少两个,其中,着色器阶段包括顶点着色器阶段、几何着色器阶段、细分着色器阶段、片段着色器阶段中的至少一种。
图2为本申请实施例提供的图形渲染流程的示意图,如图2所示,包括:顶点着色器阶段、图元装配阶段、几何着色器阶段、细分着色器阶段、光栅化阶段、片段着色器阶段、测试和混合阶段。
其中,顶点着色器阶段承担对渲染图形顶点的处理,除了基本的位置属性,还可能包含其他属性,比如纹理,颜色,法线信息等,顶点着色器能确定渲染对象的大致轮廓,对顶点的连接方式会影响到最终的渲染效果。
图元装配阶段来确定图元装配方式来确定最终显示出来的效果,常见的图元装配方式有点、线、三角形、三角带、扇形等。
几何着色器阶段是一种可选着色器。使用几何着色器可能快速处理图元装配阶段传入的点、线、面信息,使用几何着色器可以改变图元装配类型。
细分着色器阶段可是一种可选着色器,细分着色器能够按照用户编写的规则负责把上一阶段传入的顶点进行细分,也就是能够提高图形的渲染细节。
光栅化阶段是负责把三维图形投射到二维屏幕的过程。
顶点着色器阶段可以确定每个顶点的颜色信息,线上显色的确定是在片段着色器阶段完成的,通常而言,线上的颜色是通过针对两个顶点上颜色和距离关系进行差值确定的。
测试和混合阶段是一个复合过程,测试指的是深度测试,如果渲染对象没有通过深度测试,则渲染对象会被丢弃掉,混合是对多个渲染对象的归一化过程,一个场景中有多个渲染对象,混合需要根据渲染对象的深度和alpha值确定最终混合效果。
上述图形渲染流程中的阶段仅仅作为一种示例,在具体应用中,包括但不限于以上阶段。
对每个渲染阶段进行配置,得到每个渲染阶段的渲染配置信息,其中,渲染阶段的渲染配置信息为渲染阶段进行图形渲染时所采用的渲染配置信息。
在一些实施例中,提供一渲染程序生成平台,打开平台后,展示操作界面,在该操作界面选择待渲染对象的配置项,以指示待生成待渲染图形的渲染程序,例如,待渲染对象为三角形,则选择三角形的配置项,若待渲染对象为三维模型,则选择三维模型的配置项,该平台针对每个渲染阶段提供有对应的配置页面,在对应的配置页面,可以对渲染节点的渲染配置信息进行配置,其中,配置页面可以提供有配置选项,根据针对配置选项的选择操作,以将选择的配置选项作为该渲染阶段的渲染配置信息,当然,还可以根据针对配置页面的输入操作,为渲染阶段进行渲染配置信息的配置。
S102、根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码。
S103、将每个渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中。
其中,预设描述符配置表中包括:预设渲染流程中每个渲染阶段的工作描述符,例如,顶点着色器阶段对应顶点描述符,图元装配阶段对应图元状态描述符,其中,工作描述符具有一定的描述符结构。
对每个渲染阶段的渲染配置进行代码生成,得到每个渲染阶段的配置代码,并将每个渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中,也就是说,将生成的每个渲染阶段的渲染配置代码填充至每个渲染阶段的工作描述的对应描述符结构中。
S104、根据预设描述符配置表,以及预设描述符配置表对应的通用代码库,构建代码工程。
其中,预设描述符配置表对应的通用代码库中包括:渲染程序运行时,预设描述符配置表中工作描述符的通用代码,从通用代码库中获取工作描述符的通用代码,并根据填充后的预设描述符配置表,以及工作描述符的通用代码,构建代码工程。
值得说明的是,还可以根据渲染需求,增加其他细节性代码,根据预设描述符配置表、预设描述符配置表对应的通用代码库以及增加的细节性代码,构建代码工程。
S105、对代码工程进行编译,生成目标渲染程序。
采用渲染程序生成平台的编译器或者使用第三方编译工具,将代码工程进行编译,以生成可执行的目标渲染程序,编译完成后,可点击可执行的目标渲染程序,以查看待渲染对象的渲染效果。
在本实施例的渲染程序生成方法中,通过针对预设渲染流程中每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码,将渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中,根据预设描述符配置表,以及预设描述符配置表对应的通用代码库,构建代码工程,对代码工程进行编译,生成目标渲染程序。原API层面的工作被替代,采用生成的目标渲染程序进行图形渲染,相比OpenGL、Vulkan 接近底层硬件,直接基于GPU硬件描述符来构建目标渲染程序,渲染效率更高,并且摒弃无关功能、只调用相关驱动工作描述符,进一步提高了渲染效率,还密切关联底层硬件、更好排查底层硬件故障和设计缺陷,同时,在GPU设计阶段,早期采用基于工作描述符生成可执行的渲染程序代码,有助于提前发现工作描述符和对应底层设计不合理之处,即有助于驱动开发人员分析GPU和渲染程序的性能瓶颈。
在一可选的实施方式中,该方法还可以包括:
根据针对至少两个渲染阶段中目标渲染阶段的描述符导出操作,将目标渲染阶段的工作描述符导出至预设文件中。
目标渲染阶段为至少两个渲染阶段中的任意渲染阶段,根据用户输入的针对的目标渲染阶段的描述符导出操作,将目标渲染阶段的填充后的工作描述符导出至预设文件中,以便人工核查填充后的工作描述符是否有错误。
值得说明的是,渲染程序生成平台在每个渲染阶段的配置页面可以提供有描述符导出选项,则将渲染配置代码填充至对应工作描述符中后,可选择该描述符导出选项,以将填充后的工作描述符导出至预设文件,通过描述符导出操作,进一步提高了填充后的工作描述符的准确度,进而避免生成的渲染程序有错误。
图3为本申请实施例提供的渲染程序生成方法的流程示意图二,如图3所示,在一可选的实施方式中,至少两个渲染阶段包括:顶点输入阶段,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S201、获取通过顶点输入阶段的配置页面输入的待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息。
用户可以通过顶点输入阶段的配置页面输入待渲染对象的顶点数据,并将输入的顶点数据作为顶点输入阶段的渲染配置信息,其中,待渲染对象的顶点数据可以包括:待渲染对象的顶点坐标、顶点颜色、顶点纹理坐标。
顶点坐标可以为二维坐标或三维坐标,具体可根据待渲染对象的渲染需求而定,以待渲染对象为三角形为例,顶点坐标可以包括:[0.0,1.0]、[1.0,0.0]、[0.0,0.0],顶点颜色可以采用四位颜色(RGBA)坐标表示,顶点纹理可以采用二维纹理坐标表示。
或者,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S202、获取通过顶点输入阶段的配置页面导入的待渲染对象的顶点数据文件。
顶点渲染阶段的渲染配置信息包括:待渲染对象的顶点数据。用户可以通过顶点输入阶段的配置页面导入待渲染对象的顶点数据文件,其中,顶点数据文件可以为包括待渲染对象的顶点数据的文件,或者顶点数据文件还可以为待渲染对象的图片文件,例如,导入一个三角形的图片。
S203、根据顶点数据文件,确定待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息。
根据顶点数据文件,确定待渲染对象的顶点数据,并将待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息,顶点输入阶段的渲染配置信息包括:待渲染对象的顶点数据。
或者,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S204、获取通过顶点输入阶段的配置页面输入的待渲染对象的顶点选择操作。
S205、根据顶点选择操作,确定待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息。
用户可以通过顶点输入阶段的配置页面输入待渲染对象的顶点选择操作,顶点选择操作即对待渲染对象的顶点的选择操作,在顶点输入阶段的配置页面可以选择待渲染对象的顶点,其中,可以通过绘制待渲染对象,以实现对待渲染对象的顶点选择。
根据该顶点选择操作,可以确定待渲染对象的顶点数据,顶点输入阶段的渲染配置信息包括:待渲染对象的顶点数据。
在本实施例的渲染程序生成方法中,在顶点输入阶段通过顶点输入阶段的配置页面进行顶点数据的确定,操作上更加灵活。
图4为本申请实施例提供的渲染程序生成方法的流程示意图三,如图4所示,在一可选的实施方式中,至少两个渲染阶段还包括:图元装配阶段,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S301、获取通过图元装配阶段的配置页面选择的目标图元装配模式的信息作为图元装配阶段的渲染配置信息。
其中,图元是构成图形实体的最小单元,图元装配阶段负责对待渲染对象的图元进行装配,以确定待渲染对象的最终渲染效果。
图元装配阶段的配置页面上显示有多个图元装配模式的信息,包括点模式、线模式、三角形模式、线带模式、线环模式等,关于图元装配模式的具体解释可参见现有技术中的相关描述,在此不再赘述。
其中,目标图元装配模式为从图元装配阶段的配置页面上显示的多个图元装配模式中所选择的任意一个,图元装配阶段的渲染配置信息包括:目标图元装配模式的信息。
在一可选的实施方式中,至少两个渲染阶段还包括:着色器阶段,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S302、获取通过着色器阶段的配置页面选择的着色器阶段的状态参数。
用户可以通过着色器阶段的配置页面输入针对着色器阶段的状态参数的选择操作,以确定着色器阶段的状态参数,其中,着色器阶段的配置页面显示有着色器阶段的至少两个状态参数选项,用户可以通过该配置页面,输入针对其中一个状态参数选项的选择操作,以将所选择的状态参数选项对应的状态参数作为着色器阶段的状态参数。
其中,至少两个状态参数选项例如可以包括:开启状态参数选项和不开启状态参数选项。
S303、若状态参数指示着色器阶段被选择为开启状态,则获取通过着色器阶段的配置页面选择的着色器阶段的着色器源码,或者内置着色器代码作为着色器阶段的渲染配置信息。
其中,着色器阶段的配置页面可以内置有着色器阶段的着色器代码,若着色器阶段的状态参数指示着色器阶段被选择为开启状态,则用户可以通过着色器阶段的配置页面选择着色器阶段的着色器源码,或者通过着色器阶段的配置页面选择内置着色器代码,并确定输入的着色器源码或者选择的内置着色器代码为着色器阶段的渲染配置信息。
通过着色器阶段的配置页面选择着色器阶段的着色器源码可以理解为通过着色器阶段的配置页面导入着色器源码,选择的内置着色器代码可以理解为通过着色器阶段的配置页面选择的着色器类型而得到该着色器类型的内置着色器代码。
在一些实施例中,着色器阶段包括:几何着色器阶段,通过几何着色器阶段的配置页面可以选择是否开启几何着色器,若开启,则可以输入几何着色器的着色器源码,或者内置的几种几何着色器。
在一些实施例中,着色器阶段还包括:细分着色器,细分着色器包括:细分控制着色器和细分评估器,通过细分着色器的配置页面可以选择是否开启细分着色器,若开启,则可以选择内置的细分控制着色器和细分评估器,或者也可以自定义二者,即输入二者的着色器源码。
在一些实施例中,着色器阶段还包括:顶点着色器阶段和片段着色器阶段,具体配置过程参见与几何着色器阶段、细分着色器阶段类似。
在一可选的实施方式中,至少两个渲染阶段还包括:光栅化阶段,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:
S304、获取通过光栅化阶段的配置页面输入的光栅化配置参数,作为光栅化阶段的渲染配置信息。
用户可以通过光栅化阶段的配置页面输入光栅化配置参数,将光栅化配置阶段作为光栅化阶段的渲染配置信息。
光栅化配置参数可以包括:点的大小、填充模式、剔除模式、正反面指定、深度偏向、线宽、是否选择丢弃、是否开启多重采样、是否使用采样着色、最小着色器设置等。
其中,点的大小用于指示待渲染对象中点的大小,填充模式用于指示待渲染对象的填充模式,剔除模式用于指示待渲染对象受到光线影响的剔除方法,例如受到前方光线影响隐藏其背面,正反面指定用于待渲染对象为至少两个子对象组成时的前后设置,深度偏向用于待渲染对象的深度信息,线宽用于指示待渲染对象中线的宽度,是否选择丢弃用于指示针对待渲染对象中的点是否选择不渲染,是否开启多重采样用于指示在渲染待渲染对象时是否基于多重采样进行渲染,是否使用采样着色用于指示在渲染待渲染对象时,是否开启采样着色功能,最小着色器设置用于指示在渲染待渲染对象时最小着色器的设置信息。
在一可选的实施方式中,至少两个渲染阶段还包括:测试和混合阶段,步骤S101,获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,可以包括:获取通过测试和混合阶段输入的测试混合参数,作为测试和混合阶段的渲染配置信息。
其中,测试混合参数包括:测试参数和混合参数,测试参数包括:是否开启深度测试的指示信息、深度掩码,混合参数包括:是否开启颜色融合的指示信息、以及颜色融合方式。
深度测试用于测试待渲染对象是否被遮挡,深度掩码为深度测试的测试参数,颜色融合指的是待渲染对象的两个部位造成遮挡的话,根据这两个部位的颜色进行融合以显示融合后的颜色。
在本实施例的渲染程序生成方法中,在图元配置阶段和着色器阶段通过对应配置页面进行图元装配模式的配置以及着色器代码的配置,从而实现不同渲染阶段的渲染配置参数的配置。
在一可选的实施方式中,步骤S102,根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码,可以包括:
若着色器阶段的渲染配置信息包括:着色器源码,则将着色器阶段的着色器源码转换为预设代码格式,生成着色器阶段的执行代码作为着色器阶段的配置代码。
若着色器阶段的渲染配置信息包括:着色器源码,则还可以将着色器阶段的着色器源码转换为预设代码格式,其中,预设代码格式例如可以为二进制代码或SPV代码,以生成着色器阶段的执行代码,着色器阶段的配置代码包括:着色器阶段的执行代码。
在一可选的实施方式中,步骤S102,根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码,可以包括:
若着色器阶段的渲染配置信息包括:内置着色器代码,则根据内置着色器代码,生成着色器阶段的配置代码。
若着色器阶段的渲染配置信息包括:内置着色器代码,着色器阶段的配置代码包括:内置着色器代码。
图5为本申请实施例提供的渲染程序生成方法的流程示意图四,如图5所示,在一可选的实施方式中,将着色器阶段的着色器源码转换为预设代码格式,可以包括:
S401、对着色器源代码进行语法树构建,得到语法树。
S402、根据语法树进行语法判断,得到代码测试结果。
S403、若代码测试结果指示着色器源码不存在语法错误,则将着色器阶段的着色器源码转换为预设代码格式。
对着色器阶段的着色器源代码进行语法树构建,其中,语法树是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示执行代码中的一种结构,然后根据语法树对着色器源代码进行语法判断,得到并输出显示着色器源代码的代码测试结果。
若着色器源代码的代码测试结果指示着色器源码不存在语法错误,则将着色器阶段的着色器源码转换为预设代码格式,若着色器源码存在语法错误,则用户可对着色器源码进行校验分析。
在一些实施例中,该方法还可以包括:
将着色器阶段的执行代码转换为着色器阶段的着色器源码。
在一些情况下,若存在一些代码反向转化需求,则还可以将着色器阶段的执行代码反向转换为着色器阶段的着色器源码。从而灵活实现着色器阶段的执行代码和源码的双向转换。
在一些实施例中,渲染程序生成平台还可以提供有着色器代码转化工具,采用该工具可将着色器源码转换为预设代码格式的执行代码,还可以采用该工具进行语法树构建,以判断着色器源代码是否存在语法错误,并且,还可以采用该工具将着色器的执行代码反向转化为源码。
在本实施例的渲染程序生成方法中,通过对自定义的着色器源码进行语法判断,提高了着色器执行代码的准确度。
在上述实施例的基础上,下面结合一个具体实施例对本方案进行说明。
图6为本申请实施例提供的一种具体的渲染程序生成过程的示意图,如图6所示,分别在顶点着色器配置页面、图元装配配置页面、几何着色器配置页面、细分着色器配置页面、光栅化配置页面、片段着色器配置页面、测试和混合配置页面进行对应配置项的配置(即渲染配置信息的配置),再对所有的配置项进行综合配置校验以判断是否存在配置项冲突等。
然后根据着色器代码转化、描述符配置表以及描述符通用代码库进行代码构建,再经过代码编译得到目标渲染程序。
其中,在上述过程中,将配置代码填充至工作描述符后,还可以导出填充后的工作描述符到预设文件,以及将其反向导入。
基于同一发明构思,本申请实施例中还提供了与渲染程序生成方法对应的渲染程序生成装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述渲染程序生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图7为本申请实施例提供的渲染程序生成装置的结构示意图,该装置可以集成在电子设备中。如图7所示,该装置可以包括:
获取模块401,用于获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息;
生成模块402,用于根据每个渲染阶段的渲染配置信息,生成每个渲染阶段的配置代码;
填充模块403,用于将渲染阶段的渲染配置代码填充至预设描述符配置表中每个渲染阶段的工作描述符中;
构建模块404,用于根据预设描述符配置表,以及预设描述符配置表对应的通用代码库,构建代码工程;
生成模块402,还用于对代码工程进行编译,生成目标渲染程序。
在一可选的实施方式中,至少两个渲染阶段包括:顶点输入阶段,获取模块401,具体用于:
获取通过顶点输入阶段的配置页面输入的待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息;或者,
获取通过顶点输入阶段的配置页面导入的待渲染对象的顶点数据文件;
根据顶点数据文件,确定待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息;或者,
获取通过顶点输入阶段的配置页面输入的待渲染对象的顶点选择操作;
根据顶点选择操作,确定待渲染对象的顶点数据作为顶点输入阶段的渲染配置信息。
在一可选的实施方式中,至少两个渲染阶段包括:图元装配阶段,获取模块401,具体用于:
获取通过图元装配阶段的配置页面选择的目标图元装配模式的信息作为图元装配阶段的渲染配置信息。
在一可选的实施方式中,至少两个渲染阶段包括:着色器阶段,获取模块401,具体用于:
获取通过着色器阶段的配置页面选择的着色器阶段的状态参数;
若状态参数指示着色器阶段被选择为开启状态,则获取通过着色器阶段的配置页面选择的着色器阶段的着色器源码,或者内置着色器代码作为着色器阶段的渲染配置信息。
在一可选的实施方式中,生成模块402,具体用于:
若着色器阶段的渲染配置信息包括:着色器源码,则将着色器阶段的着色器源码转换为预设代码格式,生成着色器阶段的执行代码作为着色器阶段的配置代码。
在一可选的实施方式中,生成模块402,具体用于:
对着色器源码进行语法树构建,得到语法树;
根据语法树进行语法判断,得到代码测试结果;
若代码测试结果指示着色器源码不存在语法错误,则将着色器阶段的着色器源码转换为预设代码格式。
在一可选的实施方式中,该装置还包括:
转换模块405,用于将着色器阶段的执行代码转换为着色器源码。
在一可选的实施方式中,生成模块402,具体用于:
若着色器阶段的渲染配置信息包括:内置着色器代码,则根据内置着色器代码,生成着色器阶段的配置代码。
在一可选的实施方式中,至少两个渲染阶段包括:光栅化阶段,获取模块401,具体用于:
获取通过光栅化阶段的配置页面输入的光栅化配置参数,作为光栅化阶段的渲染配置信息。
在一可选的实施方式中,该装置还包括:
导出模块406,用于根据针对至少两个渲染阶段中目标渲染阶段的描述符导出操作,将目标渲染阶段的工作描述符导出至预设文件中。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
图8本申请实施例提供的电子设备的结构示意图,如图8所示,该设备包括:处理器501、存储器502和总线503,存储器502存储有处理器501可执行的机器可读指令,当电子设备运行时,处理器501与存储器502之间通过总线503通信,处理器501执行机器可读指令,以执行上述方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,所述处理器执行上述方法。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种渲染程序生成方法,其特征在于,包括:
获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息;
根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码;
将所述每个渲染阶段的渲染配置代码填充至预设描述符配置表中所述每个渲染阶段的工作描述符中;
根据所述预设描述符配置表,以及所述预设描述符配置表对应的通用代码库,构建代码工程;
对所述代码工程进行编译,生成目标渲染程序。
2.根据权利要求1所述的方法,其特征在于,所述至少两个渲染阶段包括:顶点输入阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述顶点输入阶段的配置页面输入的待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面导入的所述待渲染对象的顶点数据文件;
根据所述顶点数据文件,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息;或者,
获取通过所述顶点输入阶段的配置页面输入的所述待渲染对象的顶点选择操作;
根据所述顶点选择操作,确定所述待渲染对象的顶点数据作为所述顶点输入阶段的渲染配置信息。
3.根据权利要求1所述的方法,其特征在于,所述至少两个渲染阶段还包括:图元装配阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述图元装配阶段的配置页面选择的目标图元装配模式的信息作为所述图元装配阶段的渲染配置信息。
4.根据权利要求1所述的方法,其特征在于,所述至少两个渲染阶段还包括:着色器阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述着色器阶段的配置页面选择的所述着色器阶段的状态参数;
若所述状态参数指示所述着色器阶段被选择为开启状态,则获取通过所述着色器阶段的配置页面选择的所述着色器阶段的着色器源码,或者内置着色器代码作为所述着色器阶段的渲染配置信息。
5.根据权利要求4所述的方法,其特征在于,所述根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码,包括:
若所述着色器阶段的渲染配置信息包括:着色器源码,则将所述着色器阶段的着色器源码转换为预设代码格式,生成所述着色器阶段的执行代码作为所述着色器阶段的配置代码。
6.根据权利要求5所述的方法,其特征在于,所述将所述着色器阶段的着色器源码转换为预设代码格式,包括:
对所述着色器源码进行语法树构建,得到语法树;
根据所述语法树进行语法判断,得到代码测试结果;
若所述代码测试结果指示所述着色器源码不存在语法错误,则将所述着色器阶段的着色器源码转换为预设代码格式。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述着色器阶段的执行代码转换为所述着色器源码。
8.根据权利要求4所述的方法,其特征在于,所述根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码,包括:
若所述着色器阶段的渲染配置信息包括:内置着色器代码,则根据所述内置着色器代码,生成所述着色器阶段的配置代码。
9.根据权利要求1所述的方法,其特征在于,所述至少两个渲染阶段还包括:光栅化阶段,所述获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息,包括:
获取通过所述光栅化阶段的配置页面输入的光栅化配置参数,作为所述光栅化阶段的渲染配置信息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据针对所述至少两个渲染阶段中目标渲染阶段的描述符导出操作,将所述目标渲染阶段的工作描述符导出至预设文件中。
11.一种渲染程序生成装置,其特征在于,包括:
获取模块,用于获取针对预设渲染流程中至少两个渲染阶段的渲染配置信息;
生成模块,用于根据每个渲染阶段的渲染配置信息,生成所述每个渲染阶段的配置代码;
填充模块,用于将所述渲染阶段的渲染配置代码填充至预设描述符配置表中所述每个渲染阶段的工作描述符中;
构建模块,用于根据所述预设描述符配置表,以及所述预设描述符配置表对应的通用代码库,构建代码工程;
所述生成模块,还用于对所述代码工程进行编译,生成目标渲染程序。
12.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1至10任一项所述的渲染程序生成方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至10任一项所述的渲染程序生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311467088.3A CN117215592B (zh) | 2023-11-07 | 2023-11-07 | 渲染程序生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311467088.3A CN117215592B (zh) | 2023-11-07 | 2023-11-07 | 渲染程序生成方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215592A true CN117215592A (zh) | 2023-12-12 |
CN117215592B CN117215592B (zh) | 2024-02-20 |
Family
ID=89042940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311467088.3A Active CN117215592B (zh) | 2023-11-07 | 2023-11-07 | 渲染程序生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215592B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0710795D0 (en) * | 2007-06-05 | 2007-07-18 | Arm Norway As | Method of and apparatus for processing graphics |
GB2444628A (en) * | 2006-12-04 | 2008-06-11 | Arm Norway As | Sorting graphics data for processing |
CN103946836A (zh) * | 2011-09-26 | 2014-07-23 | 谷歌公司 | 使用非光栅地图数据的修改来渲染地图图像 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
CN108139897A (zh) * | 2015-09-30 | 2018-06-08 | 苹果公司 | 在不预处理宏的情况下使用Ubershader变体的系统和方法 |
CN111813380A (zh) * | 2019-04-29 | 2020-10-23 | 厦门雅基软件有限公司 | 基于游戏引擎的着色数据处理方法、装置及电子设备 |
CN112288841A (zh) * | 2020-12-18 | 2021-01-29 | 完美世界(北京)软件科技发展有限公司 | 一种渲染框架图的创建方法和装置 |
US20220108497A1 (en) * | 2020-10-05 | 2022-04-07 | Nvidia Corporation | Light-resampling with surface similarity test |
CN114661324A (zh) * | 2022-03-14 | 2022-06-24 | 稿定(厦门)科技有限公司 | 特效插件的编译、渲染方法、装置及存储介质 |
CN115248881A (zh) * | 2021-04-28 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 网页输入信息的渲染方法、装置、电子设备及存储介质 |
CN115311399A (zh) * | 2022-09-15 | 2022-11-08 | 厦门雅基软件有限公司 | 图像渲染方法、装置、电子设备以及存储介质 |
CN116719523A (zh) * | 2023-05-18 | 2023-09-08 | 浙江天猫技术有限公司 | 页面渲染方法及电子设备 |
-
2023
- 2023-11-07 CN CN202311467088.3A patent/CN117215592B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2444628A (en) * | 2006-12-04 | 2008-06-11 | Arm Norway As | Sorting graphics data for processing |
GB0710795D0 (en) * | 2007-06-05 | 2007-07-18 | Arm Norway As | Method of and apparatus for processing graphics |
CN103946836A (zh) * | 2011-09-26 | 2014-07-23 | 谷歌公司 | 使用非光栅地图数据的修改来渲染地图图像 |
CN108139897A (zh) * | 2015-09-30 | 2018-06-08 | 苹果公司 | 在不预处理宏的情况下使用Ubershader变体的系统和方法 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
CN111813380A (zh) * | 2019-04-29 | 2020-10-23 | 厦门雅基软件有限公司 | 基于游戏引擎的着色数据处理方法、装置及电子设备 |
US20220108497A1 (en) * | 2020-10-05 | 2022-04-07 | Nvidia Corporation | Light-resampling with surface similarity test |
CN112288841A (zh) * | 2020-12-18 | 2021-01-29 | 完美世界(北京)软件科技发展有限公司 | 一种渲染框架图的创建方法和装置 |
CN115248881A (zh) * | 2021-04-28 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 网页输入信息的渲染方法、装置、电子设备及存储介质 |
CN114661324A (zh) * | 2022-03-14 | 2022-06-24 | 稿定(厦门)科技有限公司 | 特效插件的编译、渲染方法、装置及存储介质 |
CN115311399A (zh) * | 2022-09-15 | 2022-11-08 | 厦门雅基软件有限公司 | 图像渲染方法、装置、电子设备以及存储介质 |
CN116719523A (zh) * | 2023-05-18 | 2023-09-08 | 浙江天猫技术有限公司 | 页面渲染方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
刘红健;: "基于GPU的集群渲染管理系统设计与实现", 广州航海高等专科学校学报, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN117215592B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kessenich et al. | OpenGL Programming Guide: The official guide to learning OpenGL, version 4.5 with SPIR-V | |
CN102930564B (zh) | 视觉着色器设计器 | |
KR101286318B1 (ko) | 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이 | |
US8154554B1 (en) | Unified assembly instruction set for graphics processing | |
CN100507852C (zh) | 用于优化流处理程序的方法、装置和系统 | |
US8203558B2 (en) | Dynamic shader generation | |
US20130063472A1 (en) | Customized image filters | |
KR20040086481A (ko) | 애셋 렌더링의 쉐더 드리븐 컴플리에이션을 실행하는시스템들 및 방법들 | |
CN107209951B (zh) | 单遍表面溅射 | |
CN109544674B (zh) | 一种体积光实现方法及装置 | |
EP2875490A1 (en) | Customized image filters | |
CN117215592B (zh) | 渲染程序生成方法、装置、电子设备和存储介质 | |
JP5864474B2 (ja) | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 | |
US10062140B2 (en) | Graphics processing systems | |
Kosarevsky et al. | 3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan | |
Dunwoody et al. | Tracing interactive 3D graphics programs | |
Espíndola et al. | The Unity Shader Bible | |
CN113593028A (zh) | 一种用于航电显控的三维数字地球构建方法 | |
US11107264B2 (en) | Graphics processing systems for determining blending operations | |
US20110032258A1 (en) | Source code generator for a graphics card | |
Angel et al. | Introduction to modern OpenGL programming | |
Ragan-Kelley | Practical interactive lighting design for RenderMan scenes | |
Karwowski et al. | LPFG user’s manual | |
CN116310037A (zh) | 模型外观更新方法、装置及计算设备 | |
KR101008809B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |