CN116385599B - 文字交互方法、装置、电子设备和存储介质 - Google Patents

文字交互方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116385599B
CN116385599B CN202310317800.5A CN202310317800A CN116385599B CN 116385599 B CN116385599 B CN 116385599B CN 202310317800 A CN202310317800 A CN 202310317800A CN 116385599 B CN116385599 B CN 116385599B
Authority
CN
China
Prior art keywords
character
rendering
grid
text
grids
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.)
Active
Application number
CN202310317800.5A
Other languages
English (en)
Other versions
CN116385599A (zh
Inventor
孙欢欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Automobile Technology Co Ltd
Original Assignee
Xiaomi Automobile Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaomi Automobile Technology Co Ltd filed Critical Xiaomi Automobile Technology Co Ltd
Priority to CN202310317800.5A priority Critical patent/CN116385599B/zh
Publication of CN116385599A publication Critical patent/CN116385599A/zh
Application granted granted Critical
Publication of CN116385599B publication Critical patent/CN116385599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及一种文字交互方法、装置、电子设备和存储介质,该方法包括:根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格,得到交互网格组和渲染网格组;对渲染网格组中的渲染文字网格进行合批操作,将合批后的目标文字网格渲染到页面中;响应于对交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格,确定渲染网格组中对应的渲染文字网格,并根据该拾取操作对应的文字操作,对对应的渲染文字网格进行更新;将更新后的渲染文字网格重新合批到目标文字网格中,再将目标文字网格重新渲染到页面中。本公开的技术方案在对文字进行合批后仍然能够单独拾取其中的某行文字,以及对该行文字进行操作。

Description

文字交互方法、装置、电子设备和存储介质
技术领域
本公开涉及车辆自动驾驶技术领域,尤其涉及一种文字交互方法、装置、电子设备和存储介质。
背景技术
车辆对障碍物的感知预测功能十分重要,感知预测算法可以根据车辆上布置的设备,如激光雷达等,采集环境感知数据,来对周围的障碍物进行预测。为了获得预测效果较为准确的感知预测算法,需要预先对感知预测算法进行调试。在调试过程中,通常需要将算法预测的结果进行可视化,例如通过ThreeJs引擎对算法预测的结果进行场景渲染,渲染出预测的各个障碍物的模型和障碍物的文字标识信息,因此文字模型的渲染是必不可少的。
为了提高渲染性能,通常会选择将待渲染的多行文字的模型进行合批后渲染,但ThreeJs提供的拾取物体的方案存在限制,即不能够拾取合批物体中的某个子物体,也就是说,如果将待渲染的多行文字的模型进行合批后渲染,则将无法再单独拾取其中的某行文字进行操作。
发明内容
为克服相关技术中存在的问题,本公开提供一种文字交互方法、装置、电子设备和存储介质。
根据本公开实施例的第一方面,提供一种文字交互方法,包括:
根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格;
将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组;
对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,并将所述目标文字网格渲染到页面中;
响应于对所述交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格,确定所述渲染网格组中对应的渲染文字网格;
根据所述拾取操作对应的文字操作,对所述对应的渲染文字网格进行更新;
将更新后的渲染文字网格重新合批到所述目标文字网格中,并将所述目标文字网格重新渲染到页面中。
可选地,创建每处理行文字对应的渲染文字网格的步骤,包括:
根据所述处理行文字的文字信息,获取对应文字的有向距离场SDF字符贴图,每一文字的SDF字符贴图是根据所述文字的SDF文字信息生成,所述SDF文字信息包括所述文字的宽高、基线和文字内各点到边缘的距离信息;
根据所述SDF字符贴图对各个文字进行基线对齐,剔除文字的背景色以及在剔除背景色后对文字的边缘进行平滑处理,并创建文字几何体和材质;
根据所述文字几何体和材质创建所述渲染文字网格。
可选地,所述对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,包括:
针对每一所述渲染文字网格,确定所述渲染文字网格对应的位置信息;
根据所述位置信息更新所述渲染文字网格对应的变换矩阵;
根据所述变换矩阵,将所述渲染文字网格中各文字的顶点坐标从模型坐标系转换到世界坐标系;
将所有渲染文字网格中各文字的顶点合并,得到合并后的文字几何体;
根据合并后的文字几何体和所述渲染文字网格的材质,得到所述目标文字网格。
可选地,所述方法还包括:
响应于对所述页面的点击操作,根据每一所述交互文字网格对应的位置信息,和所述交互文字网格中的文字在相机当前视角下的朝向,确定所述点击操作的点击位置是否选中交互文字网格;
若确定选中交互文字网格,则确定接收到对所述交互网格组中的交互文字网格的拾取操作。
可选地,所述方法还包括:
监听相机旋转事件,所述相机旋转事件表征相机被控制器控制进行旋转;
响应于所述相机旋转事件,根据相机的旋转信息分别控制所述交互网格组和所述渲染网格组中的文字朝向,以使文字正面朝向相机当前视角;
将控制所述渲染网格组中的文字朝向后所得的目标文字网格重新渲染到页面中。
可选地,根据相机的旋转信息控制所述交互网格组中的文字朝向的步骤,包括:
通过ThreeJs提供的旋转方法,对所述交互网格组中的文字执行旋转变换。
可选地,根据相机的旋转信息控制所述渲染网格组中的文字朝向的步骤,包括:
针对每一所述处理行文字,确定所述处理行文字的中心点坐标,并根据所述中心点坐标将所述处理行文字平移至世界坐标系中心;
根据相机的所述旋转信息确定所述处理行文字的旋转矩阵,并根据所述旋转矩阵将所述处理行文字绕自身进行旋转变换;
将旋转变换后的所述处理行文字平移至原位置。
根据本公开实施例的第二方面,提供一种文字交互装置,包括:
网格创建模块,被配置为根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格,以及将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组;
第一处理模块,被配置为对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,以及将所述目标文字网格渲染到页面中;
拾取处理模块,被配置为响应于对所述交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格,确定所述渲染网格组中对应的渲染文字网格;
更新处理模块,被配置为根据所述拾取操作对应的文字操作,对所述对应的渲染文字网格进行更新;
第二处理模块,被配置为将更新后的渲染文字网格重新合批到所述目标文字网格中,并将所述目标文字网格重新渲染到页面中。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行存储器中存储的指令,以实现本公开实施例第一方面提供的文字交互方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开实施例第一方面提供的文字交互方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开提供的文字交互方法,在需要渲染障碍物对应的ID或预测置信度等文字信息时,针对每处理行文字分别创建交互文字网格和渲染文字网格,其中,多个渲染文字网格先进行合批并在合批后渲染到页面,多个交互文字网格不进行合批,且不渲染到页面,使得每个交互文字网格可以单独被拾取,从而根据被拾取的交互文字网格可以定位到对应的渲染文字网格,进而根据该拾取操作对应的文字操作,对对应的渲染文字网格进行更新。因此本技术方案,一方面,通过对渲染文字网格进行合批,能够减少DrawCall的次数和传输的数据量,提升文字渲染时的性能,另一方面,在对文字进行合批后仍然能够单独拾取其中的某行文字,以及对该行文字进行操作。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的文字交互方法的流程图。
图2是根据一示例性实施例示出的步骤S103的具体实施方式的流程图。
图3是根据一示例性实施例示出的文字交互方法的又一流程图。
图4是根据一示例性实施例示出的文字交互装置的框图。
图5是根据一示例性实施例示出的电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
如背景技术所述,在对感知预测算法进行调试的过程中,需要在ThreeJs中进行可视化场景渲染,除了一些需要渲染到场景中的障碍物模型以外,有时还需要给模型添加必要的文字说明,如障碍物的ID或预测置信度等需要的信息,以便于调试人员根据渲染出的可视化场景确定感知预测算法的预测效果是否准确,从而辅助进行感知预测算法的调试。其中,对于场景渲染的引擎,ThreeJs支持将多个物体进行合批后渲染,但一旦进行合批,将不能够拾取合批物体中的某个子物体,也就是说,如果将待渲染的多行文字的模型进行合批后渲染,则不能单独拾取其中的某行文字进行修改等操作。
针对上述技术问题,本公开实施例提供一种文字交互方法。图1是根据一示例性实施例示出的一种文字交互方法的流程图,如图1所示,该文字交互方法包括以下步骤:
步骤S101,根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格。
在本公开中,处理行可以是一行,或者是两行或两行以上,因此一处理行文字可以表示一行文字,两行文字,三行或更多行文字。为便于描述,下文以处理行表示一行来进行举例说明。示例性地,在上述步骤中,根据多行文字的文字信息,分别创建每行文字对应的交互文字网格和渲染文字网格。其中,交互文字网格和渲染文字网格一一对应,两者可以通过相同的文字标识来进行关联。
步骤S102,将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组。
在本公开中,将所有交互文字网格添加到交互网格组,交互网格组用于进行交互操作,如下文中的拾取操作和文字操作,值得注意的是,交互网格组不渲染到页面中。将所有渲染文字网格添加到渲染网格组,渲染网格组用于渲染到页面中。
步骤S103,对渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,并将目标文字网格渲染到页面中。
在本公开中,为了提高渲染性能,将渲染网格组中的渲染文字网格进行合批。合批,也可以称之为批量渲染,其通过减少向图形处理器发送渲染命令(DrawCall)的次数,提升渲染线的整体效率。在合批后,能够将多个渲染文字网格转换为一个文字网格,即得到目标文字网格。随后,向图形处理器发送渲染命令以将目标文字网格渲染到页面中。
步骤S104,响应于对交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格,确定渲染网格组中对应的渲染文字网格。
在一种实施例中,响应于对页面的点击操作,根据每一交互文字网格对应的位置信息,和交互文字网格中的文字在相机当前视角下的朝向,确定点击操作的点击位置是否选中交互文字网格;若确定选中交互文字网格,则确定接收到对交互网格组中的交互文字网格的拾取操作。
可选地,每一交互文字网格对应的位置信息根据对应的处理行文字的位置信息得到。因此,在步骤S101前,需要获取每处理行文字的位置信息和文字信息。
容易理解的是,交互网格组中的交互文字网格与渲染网格组中的渲染文字网格的数量及位置信息相同,且一一对应。在一些实施例中,相互对应的交互文字网格与渲染文字网格具有相同的文字标识,因此,响应于对交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格的文字标识,可以定位到渲染网格组中对应的渲染文字网格。
步骤S105,根据拾取操作对应的文字操作,对对应的渲染文字网格进行更新。
在本公开中,文字操作可以包括但不限于修改文字的颜色、内容位置等操作。在一些实施例中,文字操作可以是根据拾取操作预先定义好的,例如预先定义拾取操作对应的文字操作为“将文字颜色变为红色”。在另一些实施例中,文字操作可以是在对交互文字网格进行拾取操作后所进一步作出的操作,例如在拾取某个交互文字网格后,进一步操作修改文字颜色。
步骤S106,将更新后的渲染文字网格重新合批到目标文字网格中,并将目标文字网格重新渲染到页面中。
容易理解的是,通过对渲染文字网格进行合批,能够减少DrawCall的次数和传输的数据量,提升文字渲染时的性能。
通过本公开提供的文字交互方法,在需要渲染障碍物对应的ID或预测置信度等文字信息时,针对每处理行文字分别创建交互文字网格和渲染文字网格,其中,渲染文字网格在合批后渲染到页面,交互文字网格不进行合批,且不渲染到页面,使得每个交互文字网格可以单独被拾取,从而根据被拾取的交互文字网格可以定位到对应的渲染文字网格,进而根据该拾取操作对应的文字操作,对对应的渲染文字网格进行更新。因此本公开提供的技术方案,在对文字进行合批后仍然能够单独拾取其中的某行文字,以及对该行文字进行操作。
为便于理解本公开实施例提供的文字交互方法,下面对上述方法的一些步骤的具体实施方式进行说明。
在步骤S101中,渲染文字网格可以通过如下步骤进行创建:
首先,对于一处理行文字,根据该处理行文字的文字信息,获取对应文字的SDF(Signed Distance Fields,有向距离场)字符贴图,其中,每一文字的SDF字符贴图是根据文字的SDF文字信息生成,SDF文字信息包括文字的宽高、基线和文字内各点到边缘的距离信息。
在本公开中,可以预先定义好每个文字的SDF文字信息,并根据每个文字的SDF文字信息生成对应文字的SDF字符贴图,这样在需要创建渲染文字网格时,可以方便地根据文字信息去获取相应文字的字符贴图。
然后,根据SDF字符贴图对各个文字进行基线对齐,剔除文字的背景色以及在剔除背景色后对文字的边缘进行平滑处理,并创建文字几何体和材质。
可以理解的,文字几何体主要依赖于顶点坐标等一系列和顶点相关的信息,在创建文字几何体时,一行文字需要基线对齐;文字材质主要依赖于顶点着色器、片元着色器以及纹理贴图,片元着色器中需剔除文字背景色以及对文字的边缘做平滑处理。值得注意的是,文字的材质只需要创建一次,所有文字共用该材质,这样便于在后续步骤中对渲染文字网格进行合批操作。
最后,根据上述的文字几何体和材质创建渲染文字网格。
在上述技术方案中,利用有向距离场,根据文字内各点到边缘的距离信息来创建渲染文字网格,能够实现文字的无损放大,可以避免文字放大时出现锯齿的问题。
另外,交互文字网格可以同样采用上述方式来进行创建,在创建交互文字网格时,对于一处理行文字,根据该处理行文字的文字信息获取对应文字的SDF字符贴图,根据SDF字符贴图创建对应的文字几何体和材质,最后根据文字几何体和材质创建交互文字网格。值得注意的是,由于交互文字网格不渲染到页面中,其对于用户是不可见的,因此在创建交互文字网格时可以不必达到与渲染文字网格相等的文字效果。相比于渲染文字网格的创建过程,可以无须进行基线对齐,剔除背景色以及文字边缘的平滑处理。
可以理解的,交互文字网格也可以采用相关技术中生成文字网格的常规方式来进行创建,本公开中对交互文字网格的实现方式不进行限定。
进一步地,图2是根据一示例性实施例示出的步骤S103的一种具体实施方式的流程图,如图2所示,对渲染网格组中的渲染文字网格进行合批操作的过程可以包括以下步骤:
步骤S201,针对每一渲染文字网格,确定该渲染文字网格对应的位置信息。
可选地,每一渲染文字网格对应的位置信息根据对应的处理行文字的位置信息得到。
步骤S202,根据该位置信息更新该渲染文字网格对应的变换矩阵。
步骤S203,根据该变换矩阵,将该渲染文字网格中各文字的顶点坐标从模型坐标系转换到世界坐标系。
步骤S204,将所有渲染文字网格中各文字的顶点合并,得到合并后的文字几何体。
步骤S205,根据合并后的文字几何体和渲染文字网格的材质,得到目标文字网格。
根据上述技术方案,通过对各渲染文字网格中各文字的顶点进行处理,实现将多个渲染文字网格转换为一个文字网格,即得到目标文字网格。
进一步地,在渲染完可视化场景后,调试人员想要切换到另一个角度去观察障碍物信息,当对相机进行旋转后,如旋转至场景的反面或侧面,从反面或侧面无法看到文字的完整信息。因此本公开实施例提出,监听相机旋转事件,根据相机的旋转信息分别对交互网格组和渲染网格组进行处理,消除相机旋转对文字朝向的影响,使得文字始终正面朝向相机当前视角,即无论相机如何旋转变换,页面中的文字始终正对浏览者,这样,保证调试人员无论如何旋转相机,始终能够清晰看到障碍物的文字标识信息。
图3是根据一示例性实施例示出的一种文字交互方法的流程图,如图3所示,该文字交互方法包括以下步骤:
步骤S301,监听相机旋转事件,该相机旋转事件表征相机被控制器控制进行旋转。
步骤S302,响应于相机旋转事件,根据相机的旋转信息分别控制交互网格组和渲染网格组中的文字朝向,以使文字正面朝向相机当前视角。
步骤S303,将控制渲染网格组中的文字朝向后所得的目标文字网格重新渲染到页面中。
在本公开中,当相机进行旋转后,一方面需要控制渲染网格组中的文字朝向,使得渲染到页面中的文字正对浏览者,另一方面需要控制交互网格组中的文字朝向,以确保相机旋转后,仍然能够通过交互网格组,来单独操作页面中的某行文字。
在一些实施例中,对于交互网格组,可以通过ThreeJs提供的旋转方法,对交互网格组中的文字执行旋转变换。
在一些实施例中,对于渲染网格组,针对每一处理行文字,首先确定该处理行文字的中心点坐标,并根据该中心点坐标将该处理行文字平移至世界坐标系中心,然后根据相机的旋转信息确定该处理行文字的旋转矩阵,并根据该旋转矩阵将该处理行文字绕自身进行旋转变换,然后将旋转变换后的处理行文字平移至原位置。
需要说明的是,由于渲染网格组进行合批后,不便于如交互网格组一样在外层对它进行旋转操作,因此在内层通过顶点着色器进行处理。在顶点着色器中不能直接对文字执行旋转操作,这会导致文字的位置发生变化,因此对于渲染网格组,通过顶点着色器在合批后的目标文字网格中逐顶点进行操作。对于目标文字网格中的各个顶点,传入其所在处理行的中心点坐标,并对顶点进行相应的平移、旋转变换等操作,以实现上述实施例中对渲染网格组的处理过程。
通过上述实施例的操作,精确消除了相机旋转对文字朝向的影响。
图4是根据一示例性实施例示出的一种文字交互装置的框图。参照图4,该文字交互装置400包括:
网格创建模块401,被配置为根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格,以及将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组;
第一处理模块402,被配置为对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,以及将所述目标文字网格渲染到页面中;
拾取处理模块403,被配置为响应于对所述交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格,确定所述渲染网格组中对应的渲染文字网格;
更新处理模块404,被配置为根据所述拾取操作对应的文字操作,对所述对应的渲染文字网格进行更新;
第二处理模块405,被配置为将更新后的渲染文字网格重新合批到所述目标文字网格中,并将所述目标文字网格重新渲染到页面中。
在一些实施例中,网格创建模块401被配置为:根据所述处理行文字的文字信息,获取对应文字的有向距离场SDF字符贴图,每一文字的SDF字符贴图是根据所述文字的SDF文字信息生成,所述SDF文字信息包括所述文字的宽高、基线和文字内各点到边缘的距离信息;根据所述SDF字符贴图对各个文字进行基线对齐,剔除文字的背景色以及在剔除背景色后对文字的边缘进行平滑处理,并创建文字几何体和材质;根据所述文字几何体和材质创建所述渲染文字网格。
在一些实施例中,第一处理模块402包括:
位置确定单元,被配置为针对每一所述渲染文字网格,确定所述渲染文字网格对应的位置信息;
矩阵更新单元,被配置为根据所述位置信息更新所述渲染文字网格对应的变换矩阵;
位置转换单元,被配置为根据所述变换矩阵,将所述渲染文字网格中各文字的顶点坐标从模型坐标系转换到世界坐标系;
顶点合并单元,被配置为将所有渲染文字网格中各文字的顶点合并,得到合并后的文字几何体;
合批处理单元,被配置为根据合并后的文字几何体和所述渲染文字网格的材质,得到所述目标文字网格。
在一些实施例中,该文字交互装置400还包括:拾取确定模块,被配置为响应于对所述页面的点击操作,根据每一所述交互文字网格对应的位置信息,和所述交互文字网格中的文字在相机当前视角下的朝向,确定所述点击操作的点击位置是否选中交互文字网格,并在确定选中交互文字网格时,确定接收到对所述交互网格组中的交互文字网格的拾取操作。
在一些实施例中,该文字交互装置400还包括:
旋转监听模块,被配置为监听相机旋转事件,所述相机旋转事件表征相机被控制器控制进行旋转;
朝向控制模块,被配置为响应于所述相机旋转事件,根据相机的旋转信息分别控制所述交互网格组和所述渲染网格组中的文字朝向,以使文字正面朝向相机当前视角;
第三处理模块,被配置为将控制所述渲染网格组中的文字朝向后所得的目标文字网格重新渲染到页面中。
在一些实施例中,朝向控制模块包括第一控制模块,被配置为通过ThreeJs提供的旋转方法,对所述交互网格组中的文字执行旋转变换。
在一些实施例中,朝向控制模块包括第二控制模块,被配置为针对每一所述处理行文字,确定所述处理行文字的中心点坐标,并根据所述中心点坐标将所述处理行文字平移至世界坐标系中心,以及根据相机的所述旋转信息确定所述处理行文字的旋转矩阵,并根据所述旋转矩阵将所述处理行文字绕自身进行旋转变换,以及将旋转变换后的所述处理行文字平移至原位置。
关于上述实施例中的文字交互装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的文字交互方法的步骤。
图5是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备500可以是智能手机,台式计算机,笔记本电脑,游戏控制台,平板设备,个人数字助理等具备图形处理能力的设备,可以用于进行三维场景中各物体模型及文字的渲染。值得说明的是,在一些应用场景中,该电子设备500可以用于对车辆的感知预测算法的预测结果进行可视化场景渲染,以便于调试人员根据渲染出的可视化场景确定感知预测算法的预测效果是否准确,从而辅助进行感知预测算法的调试。
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述文字交互方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
输入/输出接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述文字交互方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述文字交互方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述文字交互方法的代码部分。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种文字交互方法,其特征在于,包括:
根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格;
将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组,其中,交互网格组中的交互文字网格与渲染网格组中的渲染文字网格的数量及位置信息相同,且一一对应,相互对应的交互文字网格与渲染文字网格具有相同的文字标识;
对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,并将所述目标文字网格渲染到页面中;
响应于对所述交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格的文字标识,确定所述渲染网格组中对应的渲染文字网格;
根据所述拾取操作对应的文字操作,对所述对应的渲染文字网格进行更新;
将更新后的渲染文字网格重新合批到所述目标文字网格中,并将所述目标文字网格重新渲染到页面中。
2.根据权利要求1所述的方法,其特征在于,创建每处理行文字对应的渲染文字网格的步骤,包括:
根据所述处理行文字的文字信息,获取对应文字的有向距离场SDF字符贴图,每一文字的SDF字符贴图是根据所述文字的SDF文字信息生成,所述SDF文字信息包括所述文字的宽高、基线和文字内各点到边缘的距离信息;
根据所述SDF字符贴图对各个文字进行基线对齐,剔除文字的背景色以及在剔除背景色后对文字的边缘进行平滑处理,并创建文字几何体和材质;
根据所述文字几何体和材质创建所述渲染文字网格。
3.根据权利要求1所述的方法,其特征在于,所述对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,包括:
针对每一所述渲染文字网格,确定所述渲染文字网格对应的位置信息;
根据所述位置信息更新所述渲染文字网格对应的变换矩阵;
根据所述变换矩阵,将所述渲染文字网格中各文字的顶点坐标从模型坐标系转换到世界坐标系;
将所有渲染文字网格中各文字的顶点合并,得到合并后的文字几何体;
根据合并后的文字几何体和所述渲染文字网格的材质,得到所述目标文字网格。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于对所述页面的点击操作,根据每一所述交互文字网格对应的位置信息,和所述交互文字网格中的文字在相机当前视角下的朝向,确定所述点击操作的点击位置是否选中交互文字网格;
若确定选中交互文字网格,则确定接收到对所述交互网格组中的交互文字网格的拾取操作。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听相机旋转事件,所述相机旋转事件表征相机被控制器控制进行旋转;
响应于所述相机旋转事件,根据相机的旋转信息分别控制所述交互网格组和所述渲染网格组中的文字朝向,以使文字正面朝向相机当前视角;
将控制所述渲染网格组中的文字朝向后所得的目标文字网格重新渲染到页面中。
6.根据权利要求5所述的方法,其特征在于,根据相机的旋转信息控制所述交互网格组中的文字朝向的步骤,包括:
通过ThreeJs提供的旋转方法,对所述交互网格组中的文字执行旋转变换。
7.根据权利要求5所述的方法,其特征在于,根据相机的旋转信息控制所述渲染网格组中的文字朝向的步骤,包括:
针对每一所述处理行文字,确定所述处理行文字的中心点坐标,并根据所述中心点坐标将所述处理行文字平移至世界坐标系中心;
根据相机的所述旋转信息确定所述处理行文字的旋转矩阵,并根据所述旋转矩阵将所述处理行文字绕自身进行旋转变换;
将旋转变换后的所述处理行文字平移至原位置。
8.一种文字交互装置,其特征在于,包括:
网格创建模块,被配置为根据至少一处理行文字的文字信息,创建每处理行文字对应的交互文字网格和渲染文字网格,以及将交互文字网格添加到交互网格组并将渲染文字网格添加到渲染网格组,其中,交互网格组中的交互文字网格与渲染网格组中的渲染文字网格的数量及位置信息相同,且一一对应,相互对应的交互文字网格与渲染文字网格具有相同的文字标识;
第一处理模块,被配置为对所述渲染网格组中的渲染文字网格进行合批操作,得到目标文字网格,以及将所述目标文字网格渲染到页面中;
拾取处理模块,被配置为响应于对所述交互网格组中的交互文字网格的拾取操作,根据被拾取的交互文字网格的文字标识,确定所述渲染网格组中对应的渲染文字网格;
更新处理模块,被配置为根据所述拾取操作对应的文字操作,对所述对应的渲染文字网格进行更新;
第二处理模块,被配置为将更新后的渲染文字网格重新合批到所述目标文字网格中,并将所述目标文字网格重新渲染到页面中。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行存储器中存储的指令,以实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
CN202310317800.5A 2023-03-27 2023-03-27 文字交互方法、装置、电子设备和存储介质 Active CN116385599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310317800.5A CN116385599B (zh) 2023-03-27 2023-03-27 文字交互方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310317800.5A CN116385599B (zh) 2023-03-27 2023-03-27 文字交互方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116385599A CN116385599A (zh) 2023-07-04
CN116385599B true CN116385599B (zh) 2024-01-30

Family

ID=86980018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310317800.5A Active CN116385599B (zh) 2023-03-27 2023-03-27 文字交互方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116385599B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106683189A (zh) * 2016-11-29 2017-05-17 浙江科澜信息技术有限公司 一种在三维场景中渲染文字的方法
CN108205960A (zh) * 2016-12-19 2018-06-26 北京四维图新科技股份有限公司 一种文字渲染的方法和装置、电子地图制作系统及导航系统
CN113177172A (zh) * 2021-04-26 2021-07-27 杭州新迪数字工程系统有限公司 基于WebGL的大批量三维文字高效显示的方法
CN114218890A (zh) * 2021-12-09 2022-03-22 北京百度网讯科技有限公司 页面渲染方法、装置、电子设备以及存储介质
CN114580350A (zh) * 2020-12-02 2022-06-03 久瓴(江苏)数字智能科技有限公司 文本文字标注方法、装置、计算机设备和存储介质
CN114862999A (zh) * 2022-07-11 2022-08-05 杭州安恒信息技术股份有限公司 一种打点渲染方法、装置、设备及存储介质
WO2022227868A1 (zh) * 2021-04-28 2022-11-03 北京字跳网络技术有限公司 场景渲染方法、装置、电子设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537279B2 (en) * 2020-06-09 2022-12-27 Talent Unlimited Online Services Private Limited System and method for enhancing an expression of a digital pictorial image

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106683189A (zh) * 2016-11-29 2017-05-17 浙江科澜信息技术有限公司 一种在三维场景中渲染文字的方法
CN108205960A (zh) * 2016-12-19 2018-06-26 北京四维图新科技股份有限公司 一种文字渲染的方法和装置、电子地图制作系统及导航系统
CN114580350A (zh) * 2020-12-02 2022-06-03 久瓴(江苏)数字智能科技有限公司 文本文字标注方法、装置、计算机设备和存储介质
CN113177172A (zh) * 2021-04-26 2021-07-27 杭州新迪数字工程系统有限公司 基于WebGL的大批量三维文字高效显示的方法
WO2022227868A1 (zh) * 2021-04-28 2022-11-03 北京字跳网络技术有限公司 场景渲染方法、装置、电子设备及可读存储介质
CN114218890A (zh) * 2021-12-09 2022-03-22 北京百度网讯科技有限公司 页面渲染方法、装置、电子设备以及存储介质
CN114862999A (zh) * 2022-07-11 2022-08-05 杭州安恒信息技术股份有限公司 一种打点渲染方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Bartosz Bogacz等.Feature Descriptors for Spotting 3D Characters on Triangular Meshes.《IEEE》.2018,全文. *
付昕乐.精细三维空间数据交互可视化研究.《中国优秀硕士学位论文全文数据库 基础科学辑》.2014,第2014年卷(第12期),全文. *
余莉 ; .基于Three.js的拾取方法的研究.计算机时代.2020,(第06期),全文. *

Also Published As

Publication number Publication date
CN116385599A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN106778773B (zh) 图片中目标物的定位方法及装置
CN112907760B (zh) 三维对象的标注方法及装置、工具、电子设备和存储介质
EP4246287A1 (en) Method and system for displaying virtual prop in real environment image, and storage medium
CN110989901B (zh) 图像定位的交互显示方法及装置、电子设备和存储介质
CN114019473A (zh) 对象检测方法及装置、电子设备和存储介质
CN110929616B (zh) 一种人手识别方法、装置、电子设备和存储介质
CN114518822A (zh) 应用图标管理方法、装置和电子设备
CN114430460A (zh) 拍摄方法、装置和电子设备
CN113268687A (zh) 一种确定元素渲染位置的方法、装置及存储介质
JP2023510443A (ja) ラベリング方法及び装置、電子機器並びに記憶媒体
CN116385599B (zh) 文字交互方法、装置、电子设备和存储介质
CN116245999A (zh) 文字渲染方法、装置、电子设备及可读存储介质
CN112308766B (zh) 一种图像数据展示方法、装置、电子设备及存储介质
CN114296587A (zh) 光标控制方法、装置、电子设备和存储介质
CN113869295A (zh) 对象检测方法及装置、电子设备和存储介质
CN114817072A (zh) 基于虚拟场景的车辆测试方法、装置、设备及存储介质
CN109389547B (zh) 图像显示方法及装置
CN110941389A (zh) 一种焦点触发ar信息点的方法及装置
CN117391038B (zh) 芯片版图的金属栈空间信息划分方法及芯片
CN116893816B (zh) 远程渲染方法、装置及存储介质
CN116740158B (zh) 图像深度确定方法、装置和存储介质
CN113409185B (zh) 图像处理方法、装置、电子设备及存储介质
CN114626468B (zh) 在图像中生成阴影的方法、装置、电子设备及存储介质
CN112506393B (zh) 图标显示方法、装置及存储介质
CN111879331B (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
GR01 Patent grant
GR01 Patent grant