[发明专利]一种图像渲染方法、装置及电子设备有效
申请号: | 201610052947.6 | 申请日: | 2016-01-26 |
公开(公告)号: | CN106997610B | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 季丹 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 图像 渲染 方法 装置 电子设备 | ||
本申请公开了一种图像渲染方法、装置及电子设备。其中所述图像渲染方法包括:获取待处理的图像及特定图像渲染效果;根据为特定图像渲染效果预先生成的着色器程序配置文件及实现特定图像渲染效果所需的各个着色器的程序代码文件,生成实现特定图像渲染效果的着色器程序;执行着色器程序,对待处理的图像进行图像渲染处理。采用本申请提供的方法,将着色器程序的程序结构、各个着色器的程序代码文件的文件名及常量参数设置在着色器程序配置文件中,避免将着色器的程序代码直接写入应用程序中,使得能够复用预先编写的着色器的程序代码,从而达到提高GPU开发效率的效果。
技术领域
本申请涉及图像处理技术领域,具体涉及一种图像渲染方法、装置及电子设备。
背景技术
随着图形硬件的发展,渲染管线由固定不可更改向着可编程和更平滑的方向不断发展。通过GPU(Graphics Processing Unit,图形处理单元)对图像进行渲染处理,能够显著增加渲染的速度,同时可以在一些复杂的大程序中释放CPU空间而提高效率。
着色器(Shader)是在图形卡的GPU上执行的自定义程序,是一个描述顶点或像素特性的简单程序。着色器代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程型,例如:视图转换、投影转换等。着色器可分为三种类型:Vertex Shader(顶点着色器)、Fragment Shader(片断着色器)和Geometry Shader(几何着色器)。其中,顶点着色器的功能是将每个顶点在虚拟空间中的三维坐标变换为可以在屏幕上显示的二维坐标,并带有用于z-buffer的深度信息。对于发送给GPU的每一个顶点,都要通过顶点着色器对该顶点进行处理。顶点着色器可操作的属性包括位置、颜色及纹理坐标。片断着色器用于计算每个像素的颜色和其它属性。通过应用光照值、凹凸贴图、阴影、镜面高光、半透明等处理来计算像素的颜色并输出,也可改变像素的深度(z-buffering)或在多个渲染目标被激活的状态下输出多种颜色。一个片断着色器不能产生复杂的效果,因为它只在一个像素上进行操作,而不知道场景的几何形状。
着色器的编写语言包括GLSL(OpenGL Shading Language,OpenGL着色语言)或HLSL(High Level Shader Language,高阶着色器语言)等语言。其中,GLSL是用来在OpenGL中进行着色编程的语言;而HLSL是由微软开发的一种语言,HLSL独立的工作在Windows平台上,通常供微软的Direct3D使用。下面以OpenGL+GLSL为例对图像渲染的现有技术及存在的问题进行说明。
OpenGL(Open Graphics Library,开放图形库)是一个定义了跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大、调用方便的底层图形库。通过OpenGL的API可以进行绘制图元、变换图形等处理,但不能改变基础的渲染管线。采用与OpenGL结合非常紧密的GLSL(OpenGL Shading Language,OpenGL着色语言),能将渲染管线中固定的功能阶段转变成可编程的。
目前,基于OpenGL实现图像渲染的方法是,直接将GLSL编写的图像着色代码写入Java或者Object-C等语言编写的OpenGL应用程序中,例如,基于OpenGL实现个性化的图像滤镜功能,需要将着色器代码直接写入Java或者Object-C程序中,以及根据不同的图形纹理(Texture)不断的调整程序代码。
然而,由于上述方法将着色器的程序代码直接写入到应用程序中,因此,当其它应用场景或应用程序需要进行相同的着色处理时,将出现无法复用已有着色器的程序代码的问题。例如,实现类似于Photoshop的不同图层Blend时,需要用GLSL编写大量OpenGL的程序代码,而这些代码是无法复用的。由于GLSL程序片段无法复用,因此将出现系统逐渐臃肿、开发人员难以阅读程序、以及程序可维护性差的问题。此外,随着实际业务的不断发展变更,程序的灵活性也会逐渐变差。
综上所述,现有技术存在无法复用着色器的程序代码的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610052947.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种PC/ABS合金料挤出结构
- 下一篇:线缆双色外皮挤塑成型机构
- 彩色图像和单色图像的图像处理
- 图像编码/图像解码方法以及图像编码/图像解码装置
- 图像处理装置、图像形成装置、图像读取装置、图像处理方法
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
- 图像形成设备、图像形成系统和图像形成方法
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序