CN116245999A - 文字渲染方法、装置、电子设备及可读存储介质 - Google Patents
文字渲染方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116245999A CN116245999A CN202310520601.4A CN202310520601A CN116245999A CN 116245999 A CN116245999 A CN 116245999A CN 202310520601 A CN202310520601 A CN 202310520601A CN 116245999 A CN116245999 A CN 116245999A
- Authority
- CN
- China
- Prior art keywords
- characters
- character
- text
- information
- distance field
- 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
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/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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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
本公开涉及一种文字渲染方法、装置、电子设备及可读存储介质,该方法包括:获取三维场景下待渲染的文字的信息,文字的信息包括文字位置、文字内容数据和相机数据,基于文字的信息生成有向距离场字符集贴图,记录文字在有向距离场字符集贴图中的坐标,根据有向距离场字符集贴图创建文字的几何体和材质,根据文字的几何体和材质创建文字对应的文字网格,将多个文字网格合批为一个目标文字网格,根据目标文字网格将文字渲染到二维场景,得到渲染后的文字。通过有向距离场字符集贴图将每个像素设为与字形轮廓的距离,可以减轻文字放大导致的锯齿边缘问题,多个文字共用一个纹理贴图,由多次绘制调用转化成一次,提升了渲染文字的性能。
Description
技术领域
本公开涉及自动驾驶技术领域,尤其涉及一种在自动驾驶中使用的可视化回放工具中的文字渲染方法、装置、电子设备及可读存储介质。
背景技术
Three.js是一款运行在浏览器中的3D 引擎,可以用其创建各种三维场景,包括了相机、光影、材质等各种对象。在three.js的场景渲染中,除了一些需要渲染到场景中的模型,有时还需要给模型添加必要的文字说明。比如游戏中的人物积分、人物生命值等。随着终端设备及渲染技术的发展,对文字的渲染性能提出了更高的要求。Three.js中传统的文字渲染方案还存在一些问题,如在文字表现上,文字放大时会出现锯齿边缘;在渲染性能上,当渲染大量文字时会导致绘制调用(draw call)次数过多,同时如果每个文字单独使用一个纹理贴图,将会进一步降低渲染性能。出现上述这些情况都会严重影响用户的体验。此外,在一些应用场景中,需要将3D场景中的文字反投到2D场景,由于相机的畸变,3D场景中的文字不能精确定位到2D场景,还需进一步展开研究。
发明内容
为克服相关技术中存在的问题,本公开提供一种文字渲染方法、装置、电子设备及可读存储介质。
根据本公开实施例的第一方面,提供一种文字渲染方法,包括:获取三维场景下待渲染的文字的信息;所述文字的信息包括文字位置、文字内容数据和相机数据;
基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标;
根据所述有向距离场字符集贴图创建所述文字的几何体和材质;
根据所述文字的几何体和材质创建所述文字对应的文字网格;
将多个文字网格合批为一个目标文字网格;
根据所述目标文字网格将所述文字渲染到二维场景,得到渲染后的文字。
可选的,所述基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标,包括:
基于所述文字的信息生成有向距离场文字信息,并记录所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息;
根据所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息创建所述有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标。
可选的,所述根据所述有向距离场字符集贴图创建所述文字的几何体和材质,包括:
根据所述文字的顶点坐标、纹理坐标和顶点相关的信息创建所述文字的几何体;
通过顶点着色器、片元着色器以及纹理贴图创建所述文字的材质。
可选的,所述通过顶点着色器、片元着色器以及纹理贴图创建所述文字的材质,包括:
通过所述片元着色器剔除所述文字的原始背景色,并对所述文字进行平滑处理;
通过所述顶点着色器对所述文字的各个顶点进行反投处理。
可选的,所述通过所述顶点着色器对所述文字的各个顶点进行反投处理,包括:
向所述顶点着色器中输入所述文字的顶点信息、位置信息以及所述相机数据;
根据所述相机信息对所述文字的位置坐标进行畸变处理;所述畸变处理包括径向畸变处理和切向畸变处理;
根据所述文字的中心坐标,将所述文字平移至世界坐标系中心;
将所述文字的顶点平移至所述畸变处理后的位置;
输出所述反投处理后的所述文字的顶点坐标。
可选的,所述将多个文字网格合批为一个目标文字网格,包括:
获取对所述文字预设置的位置坐标;
更新所述多个文字网格的变换矩阵;
基于所述变换矩阵,将所述文字的顶点坐标从模型坐标系转换到世界坐标系;
将所有所述文字的顶点合并,得到一个合并后的文字几何体;
基于所述合并后的文字几何体和所述有向距离场字符集贴图将多个文字网格合批为一个所述目标文字网格。
根据本公开实施例的第二方面,提供一种文字渲染装置,包括:获取模块,被配置为获取三维场景下待渲染的文字的信息;所述文字的信息包括文字位置、文字内容数据和相机数据;
处理模块,被配置为基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标;
创建模块,被配置为根据所述有向距离场字符集贴图创建所述文字的几何体和材质;
所述创建模块,还被配置为根据所述文字的几何体和材质创建所述文字对应的文字网格;
所述处理模块,还被配置为将多个文字网格合批为一个目标文字网格;
渲染模块,被配置为根据所述目标文字网格将所述文字渲染到二维场景,得到渲染后的文字。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令实现前述的文字渲染方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现本公开第一方面所提供的文字渲染方法的步骤。
根据本公开实施例的第五方面,提供一种芯片,包括处理器和接口;所述处理器用于读取指令以执行前述的文字渲染方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:获取三维场景下待渲染的文字的信息,文字的信息包括文字位置、文字内容数据和相机数据,基于文字的信息生成有向距离场字符集贴图,记录文字在有向距离场字符集贴图中的坐标,根据有向距离场字符集贴图创建文字的几何体和材质,根据文字的几何体和材质创建文字对应的文字网格,将多个文字网格合批为一个目标文字网格,根据目标文字网格将文字渲染到二维场景,得到渲染后的文字。通过有向距离场字符集贴图将每个像素设为与字形轮廓的距离,而不是直接设为实际栅格化的像素,可以减轻文字放大导致的锯齿边缘问题,在渲染大量文字时,多个文字共用一个纹理贴图,由多次绘制调用转化成一次,提升了渲染文字的性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本公开示例性实施例示出的计算机系统的结构示意图。
图2为本公开示例性实施例示出的一种文字渲染方法的流程图。
图3为本公开示例性实施例示出的一种文字合批的示意图。
图4为根据一示例性实施例示出的一种文字渲染装置的框图。
图5为根据一示例性实施例示出的一种装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。 “和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
图1示出了本公开一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括终端120和服务器140。
终端120与服务器140之间通过有线或者无线网络相互连接。
终端120可以包括笔记本电脑、台式电脑、平板电脑、智能机器人中的至少一种。
终端120包括显示器;显示器可以用于显示渲染后的文字。
终端120包括第一存储器和第一处理器。第一存储器中存储有第一程序;上述第一程序被第一处理器调用执行以实现本公开提供的文字渲染方法。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器 (Read OnlyMemory,ROM)、可编程只读存储器 (Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。可选地,第一处理器可以用来实现本公开提供的文字渲染方法。
服务器140包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本公开提供的文字渲染方法。可选地,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。可选地,第二处理器可以是通用处理器,比如,CPU或者NP。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
在three.Js的场景渲染中,除了一些需要渲染到场景中的模型,有时还需要给模型添加必要的文字说明,比如游戏中的人物积分、生命值等,又例如地图中的文字说明。随着终端设备及渲染技术的发展,对文字的渲染性能提出了更高的要求。基于此,本公开提出了一种文字渲染方法,如下所述。
图2为本公开示例性实施例示出的一种文字渲染方法的流程图,如图2所示,该文字渲染方法用于图1所示的终端或服务器中,文字渲染方法包括以下步骤。
在步骤S11中,获取三维场景下待渲染的文字的信息。
其中,文字的信息包括文字在三维场景中的文字位置、文字内容数据和相机数据;
示例性的,可以获取已知的、待渲染的三维场景,三维场景中的语义信息、相机信息、特征点以及特征点的坐标均为已知的。因此,可以根据语义信息获取到三维场景中表征文字的特征点,以及这些特征点的像素点对应的坐标。
在步骤S12中,基于文字的信息生成有向距离场字符集贴图,记录文字在有向距离场字符集贴图中的坐标。
对于一些有限可枚举的字符场景,可以用到字符集的方法,即一次性上传字符所有纹理,记录下所有字符的坐标位置,在渲染文本的时候,逐字符拼接达到效果。这种方法的好处是纹理贴图一旦生成就无需再更新,但是在放大时,就会出现较明显的模糊痕迹。
为了解决文字放大时出现的较明显的模糊痕迹,本公开基于文字的信息生成有向距离场(SDF,Signed Distance Fields)字符集贴图,并记录文字在有向距离场字符集贴图中的坐标。
示例性的,基于文字的信息生成SDF文字信息,并记录文字的宽、高、基线、及文字内区域与文字边缘的距离信息,然后根据文字的宽、高、基线、及文字内区域与文字边缘的距离信息创建SDF字符集贴图,记录文字在SDF字符集贴图中的坐标。创建一次SDF字符集贴图,所有待渲染的文字均可以使用。
SDF的方法旨在用较小的像素数,解决各种尺度的文字渲染问题,也即是说,就是通过距离场记录像素网格中,每个点到文字边缘的距离,符号为外负内正,这样就通过矢量距离描述了字符中的边缘,在着色器中,结合平滑过渡函数(smoothstep)对边缘处做平滑处理,就可以轻易化解文字边缘模糊的问题。
在步骤S13中,根据有向距离场字符集贴图创建文字的几何体和材质。
示例性的,根据待渲染的文字信息、创建的SDF字符集贴图以及文字在SDF字符集贴图中的坐标,创建文字的几何体和材质。文字几何体主要依赖于文字的顶点坐标、文字的纹理坐标等一系列和顶点相关的信息,并且一行文字需要基线对齐;文字材质主要依赖于顶点着色器、片元着色器以及纹理贴图,片元着色器中需剔除文字背景色以及对文字做平滑处理;需要说明的是,文字材质只创建一次,所有文字共用该材质;在材质对应的顶点着色中,对文字的各个顶点进行反投处理。
需要说明的时,顶点着色器,是对顶点进行一系列操作的着色器。顶点除了有最基本的位置属性,还可能包含很多其他属性,比如纹理,法线等等。通过顶点着色器,显卡就知道文字的顶点应该绘制在具体什么位置。片元着色器是用来描述片段上执行操作的片元着色器程序源代码,可以用于图片/视频/图形中每个像素的颜色填充,在片元着色器的业务处理有计算颜色、获取纹素以及往像素点中填充颜色值等。
示例性的,在材质对应的顶点着色中,对文字的各个顶点进行反投处理包括:首先向顶点着色器中输入文字的顶点信息、位置信息以及相机数据,顶点信息是指文字的顶点坐标、纹理坐标等信息,位置信息是指文字在三维场景中的中心坐标,相机数据包括相机种类、相机的视野角度以及相机的近截面和远截面,相机的视野角度是指用户在显示器上看到的场景的范围,三维场景中的物体某些部分比摄像机的远截面远或者比近截面近的时候,这些部分将不会被渲染到场景中,相机种类、近截面和远截面可以由用户确定;根据相机信息对文字的位置坐标进行畸变处理,其中,畸变处理包括径向畸变处理和切向畸变处理,径向畸变是指相机光线在远离透镜中心的地方比靠近中心的地方更加弯曲,切向畸变是指透镜不完全平行于图像平面,即传感器装配时与相机镜头间的角度不准,径向畸变和切向畸变都会导致文字变形,因此需要对文字进行径向畸变处理和切向畸变处理,以修正文字的形状;然后获取文字的中心坐标,根据文字的中心坐标,将文字平移至世界坐标系中心;将文字的顶点平移至畸变处理后的位置;最后输出反投处理后的文字的顶点坐标。
在步骤S14中,根据文字的几何体和材质创建文字对应的文字网格。
在前述步骤中已经确定了文字的几何体和材质,本步骤中根据文字的几何体和材质创建文字对应的文字网格(Mesh);网格包含一个几何体以及作用在此几何体上的材质;在渲染大量文字时,创建每个文字对应的文字网格。
在步骤S15中,将多个文字网格合批为一个目标文字网格。
由于多行文字共用同一材质,即字符集材质,为了能够实现真正意义上的合批,文字合批的具体方法如图3所示,图3为本公开示例性实施例示出的一种文字合批的示意图。示例性的,首先设置每行文字的位置坐标;更新文字网格的变换矩阵;基于该变换矩阵,将文字的顶点坐标从模型坐标系转换到世界坐标系;将所有的文字顶点合并,得到一个合并后的文字几何体;基于合并后的几何体和字符集材质,将多个文字mesh转化为一个目标文字mesh。合批后,所有文字均可以使用前述创建的SDF字符集贴图。
在步骤S16中,根据目标文字网格将文字渲染到二维场景,得到渲染后的文字。
综上所述,本公开提供的文字渲染方法,包括:获取三维场景下待渲染的文字的信息,文字的信息包括文字位置、文字内容数据和相机数据,基于文字的信息生成有向距离场字符集贴图,记录文字在有向距离场字符集贴图中的坐标,根据有向距离场字符集贴图创建文字的几何体和材质,根据文字的几何体和材质创建文字对应的文字网格,将多个文字网格合批为一个目标文字网格,根据目标文字网格将文字渲染到二维场景,得到渲染后的文字。通过有向距离场字符集贴图将每个像素设为与字形轮廓的距离,而不是直接设为实际栅格化的像素,可以减轻文字放大导致的锯齿边缘问题,在渲染大量文字时,多个文字共用一个纹理贴图,由多次绘制调用转化成一次,提升了渲染文字的性能。
图4为本公开示例性实施例示出的一种文字渲染装置框图。参照图4,该文字渲染装置20包括获取模块201,处理模块202,创建模块203和渲染模块204。
该获取模块201,被配置为获取三维场景下待渲染的文字的信息;所述文字的信息包括文字位置、文字内容数据和相机数据;
该处理模块202,被配置为基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标;
该创建模块203,被配置为根据所述有向距离场字符集贴图创建所述文字的几何体和材质;
该创建模块203,还被配置为根据所述文字的几何体和材质创建所述文字对应的文字网格;
该处理模块202,还被配置为将多个文字网格合批为一个目标文字网格;
该渲染模块204,被配置为根据所述目标文字网格将所述文字渲染到二维场景,得到渲染后的文字。
可选的,该处理模块202,还被配置为基于所述文字的信息生成有向距离场文字信息,并记录所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息;
根据所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息创建所述有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标。
可选的,该创建模块203,还被配置为根据所述文字的顶点坐标、纹理坐标和顶点相关的信息创建所述文字的几何体;
通过顶点着色器、片元着色器以及纹理贴图创建所述文字的材质。
可选的,该创建模块203,还被配置为通过所述片元着色器剔除所述文字的原始背景色,并对所述文字进行平滑处理;
通过所述顶点着色器对所述文字的各个顶点进行反投处理。
可选的,该创建模块203,还被配置为向所述顶点着色器中输入所述文字的顶点信息、位置信息以及所述相机数据;
根据所述相机信息对所述文字的位置坐标进行畸变处理;所述畸变处理包括径向畸变处理和切向畸变处理;
根据所述文字的中心坐标,将所述文字平移至世界坐标系中心;
将所述文字的顶点平移至所述畸变处理后的位置;
输出所述反投处理后的所述文字的顶点坐标。
可选的,该处理模块202,还被配置为获取对所述文字预设置的位置坐标;
更新所述多个文字网格的变换矩阵;
基于所述变换矩阵,将所述文字的顶点坐标从模型坐标系转换到世界坐标系;
将所有所述文字的顶点合并,得到一个合并后的文字几何体;
基于所述合并后的文字几何体和所述有向距离场字符集贴图将多个文字网格合批为一个所述目标文字网格。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的文字渲染方法的步骤。
图5是根据一示例性实施例示出的一种用于文字渲染的装置的框图。例如,装置800可以是计算机设备。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的文字渲染方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
输入/输出接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的文字渲染方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述的文字渲染方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述装置除了可以是独立的电子设备外,也可是独立电子设备的一部分,例如在一种实施例中,该装置可以是集成电路(Integrated Circuit,IC)或芯片,其中该集成电路可以是一个IC,也可以是多个IC的集合;该芯片可以包括但不限于以下种类:GPU(GraphicsProcessing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、FPGA(Field Programmable Gate Array,可编程逻辑阵列)、DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、SOC(System on Chip,SoC,片上系统或系统级芯片)等。上述的集成电路或芯片中可以用于执行可执行指令(或代码),以实现上述的文字渲染方法。其中该可执行指令可以存储在该集成电路或芯片中,也可以从其他的装置或设备获取,例如该集成电路或芯片中包括处理器、存储器,以及用于与其他的装置通信的接口。该可执行指令可以存储于该存储器中,当该可执行指令被处理器执行时实现上述的文字渲染方法;或者,该集成电路或芯片可以通过该接口接收可执行指令并传输给该处理器执行,以实现上述的文字渲染方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的文字渲染方法的代码部分。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (9)
1.一种文字渲染方法,其特征在于,包括:
获取三维场景下待渲染的文字的信息;所述文字的信息包括文字位置、文字内容数据和相机数据;
基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标;
根据所述有向距离场字符集贴图创建所述文字的几何体和材质;
根据所述文字的几何体和材质创建所述文字对应的文字网格;
将多个文字网格合批为一个目标文字网格;
根据所述目标文字网格将所述文字渲染到二维场景,得到渲染后的文字。
2.根据权利要求1所述的方法,其特征在于,所述基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标,包括:
基于所述文字的信息生成有向距离场文字信息,并记录所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息;
根据所述文字的宽、高、基线、及所述文字内区域与所述文字边缘的距离信息创建所述有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标。
3.根据权利要求1所述的方法,其特征在于,所述根据所述有向距离场字符集贴图创建所述文字的几何体和材质,包括:
根据所述文字的顶点坐标、纹理坐标和顶点相关的信息创建所述文字的几何体;
通过顶点着色器、片元着色器以及纹理贴图创建所述文字的材质。
4.根据权利要求3所述的方法,其特征在于,所述通过顶点着色器、片元着色器以及纹理贴图创建所述文字的材质,包括:
通过所述片元着色器剔除所述文字的原始背景色,并对所述文字进行平滑处理;
通过所述顶点着色器对所述文字的各个顶点进行反投处理。
5.根据权利要求4所述的方法,其特征在于,所述通过所述顶点着色器对所述文字的各个顶点进行反投处理,包括:
向所述顶点着色器中输入所述文字的顶点信息、位置信息以及所述相机数据;
根据所述相机信息对所述文字的位置坐标进行畸变处理;所述畸变处理包括径向畸变处理和切向畸变处理;
根据所述文字的中心坐标,将所述文字平移至世界坐标系中心;
将所述文字的顶点平移至所述畸变处理后的位置;
输出所述反投处理后的所述文字的顶点坐标。
6.根据权利要求1所述的方法,其特征在于,所述将多个文字网格合批为一个目标文字网格,包括:
获取对所述文字预设置的位置坐标;
更新所述多个文字网格的变换矩阵;
基于所述变换矩阵,将所述文字的顶点坐标从模型坐标系转换到世界坐标系;
将所有所述文字的顶点合并,得到一个合并后的文字几何体;
基于所述合并后的文字几何体和所述有向距离场字符集贴图将多个文字网格合批为一个所述目标文字网格。
7.一种文字渲染装置,其特征在于,包括:
获取模块,被配置为获取三维场景下待渲染的文字的信息;所述文字的信息包括文字位置、文字内容数据和相机数据;
处理模块,被配置为基于所述文字的信息生成有向距离场字符集贴图,记录所述文字在所述有向距离场字符集贴图中的坐标;
创建模块,被配置为根据所述有向距离场字符集贴图创建所述文字的几何体和材质;
所述创建模块,还被配置为根据所述文字的几何体和材质创建所述文字对应的文字网格;
所述处理模块,还被配置为将多个文字网格合批为一个目标文字网格;
渲染模块,被配置为根据所述目标文字网格将所述文字渲染到二维场景,得到渲染后的文字。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令实现权利要求1~6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1~6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310520601.4A CN116245999A (zh) | 2023-05-09 | 2023-05-09 | 文字渲染方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310520601.4A CN116245999A (zh) | 2023-05-09 | 2023-05-09 | 文字渲染方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116245999A true CN116245999A (zh) | 2023-06-09 |
Family
ID=86628154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310520601.4A Pending CN116245999A (zh) | 2023-05-09 | 2023-05-09 | 文字渲染方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116245999A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117011492A (zh) * | 2023-09-18 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130063475A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | System and method for text rendering |
CN112132941A (zh) * | 2020-09-24 | 2020-12-25 | 杭州海康威视系统技术有限公司 | 一种文字渲染方法、装置、设备及存储介质 |
WO2020263471A1 (en) * | 2019-06-26 | 2020-12-30 | Magic Leap, Inc. | Caching and updating of dense 3d reconstruction data |
CN113177172A (zh) * | 2021-04-26 | 2021-07-27 | 杭州新迪数字工程系统有限公司 | 基于WebGL的大批量三维文字高效显示的方法 |
CN114627212A (zh) * | 2022-03-15 | 2022-06-14 | 南京师范大学 | 一种基于纹理的三角带字符表示和实例化渲染方法及系统 |
CN116027951A (zh) * | 2023-03-29 | 2023-04-28 | 小米汽车科技有限公司 | 车辆采集数据的可视化方法、装置以及存储介质 |
-
2023
- 2023-05-09 CN CN202310520601.4A patent/CN116245999A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130063475A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | System and method for text rendering |
WO2020263471A1 (en) * | 2019-06-26 | 2020-12-30 | Magic Leap, Inc. | Caching and updating of dense 3d reconstruction data |
CN112132941A (zh) * | 2020-09-24 | 2020-12-25 | 杭州海康威视系统技术有限公司 | 一种文字渲染方法、装置、设备及存储介质 |
CN113177172A (zh) * | 2021-04-26 | 2021-07-27 | 杭州新迪数字工程系统有限公司 | 基于WebGL的大批量三维文字高效显示的方法 |
CN114627212A (zh) * | 2022-03-15 | 2022-06-14 | 南京师范大学 | 一种基于纹理的三角带字符表示和实例化渲染方法及系统 |
CN116027951A (zh) * | 2023-03-29 | 2023-04-28 | 小米汽车科技有限公司 | 车辆采集数据的可视化方法、装置以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117011492A (zh) * | 2023-09-18 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN117011492B (zh) * | 2023-09-18 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111932664A (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN112907760B (zh) | 三维对象的标注方法及装置、工具、电子设备和存储介质 | |
TWI752473B (zh) | 圖像處理方法及裝置、電子設備和電腦可讀儲存媒體 | |
EP3163423A1 (en) | Method and device for setting background of ui control and terminal | |
CN114125320B (zh) | 一种图像特效的生成方法及装置 | |
CN106611056B (zh) | 三维仿真地图的切图方法及装置 | |
CN106097428B (zh) | 三维模型测量信息的标注方法及装置 | |
CN109285126B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN111325220B (zh) | 图像生成方法、装置、设备及存储介质 | |
CN116245999A (zh) | 文字渲染方法、装置、电子设备及可读存储介质 | |
JP2023172893A (ja) | 対象物の双方向な三次元表現の制御方法、制御装置及び記録媒体 | |
CN107219989B (zh) | 图标处理方法、装置及终端 | |
CN110677586B (zh) | 图像显示方法、图像显示装置及移动终端 | |
CN112508020A (zh) | 标注方法及装置、电子设备和存储介质 | |
CN110047126B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN116095413B (zh) | 视频处理方法及电子设备 | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN116310169A (zh) | 高精地图的绘制方法、装置、设备、介质及程序产品 | |
EP4135317A2 (en) | Stereoscopic image acquisition method, electronic device and storage medium | |
CN112950535B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US20230087476A1 (en) | Methods and apparatuses for photorealistic rendering of images using machine learning | |
CN112308766B (zh) | 一种图像数据展示方法、装置、电子设备及存储介质 | |
CN114238859A (zh) | 数据处理系统、方法、电子设备以及存储介质 | |
CN111192191B (zh) | 显示方法、装置及可读存储介质 | |
CN116527993A (zh) | 视频的处理方法、装置、电子设备、存储介质和程序产品 |
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 |