本申请实施例涉及计算机,尤其涉及一种录制方法、装置、计算机设备、计算机可读存储介质。
背景技术:
1、随着计算机技术的发展,人们可以在计算机设备上进行各类网络游戏。在对战游戏中,玩家往往会有复盘的需求,部分游戏平台会提供游戏的录制和回放功能。
2、现有的游戏录制方式是屏幕录制或对渲染指令进行缓存等,不适用于小游戏,性能消耗大。
3、需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。
技术实现思路
1、本申请实施例的目的是提供一种录制方法、装置、计算机设备及计算机可读存储介质,用于解决上述问题。
2、本申请实施例的一个方面提供了一种录制方法,所述方法包括:
3、创建第一帧缓冲对象和第一渲染缓冲对象;
4、响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到关联到所述帧缓冲对象上的第二渲染缓冲对象;
5、基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;
6、通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;
7、通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。
8、可选地,所述通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图,包括:
9、通过所述第二帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二渲染缓冲对象中;
10、将所述第二渲染缓冲对象中的数据用于显示所述目标视图。
11、可选地,所述通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频,包括:
12、通过所述第三帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二纹理对象,所述第二纹理对象关联到所述第三帧缓冲对象上;
13、根据所述第二纹理对象中的数据进行视频编码,以得到所述目标视频。
14、可选地,所述方法还包括:
15、在启动录制之前,将所述第一渲染缓冲对象关联到所述第一帧缓冲对象上;
16、通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中。
17、可选地,所述通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中,包括:
18、基于所述第一帧缓冲对象,将预设绘制逻辑的实时内容渲染到所述第一渲染缓冲对象中;
19、根据gles的绘制api的操作信息确定执行显示操作;
20、在确定执行所述显示操作的情形下,将所述第一渲染缓冲对象中的内容展示到所述相应的视图中。
21、可选地,所述方法还包括:
22、在启动录制之后,通过所述第一纹理对象替换所述第一渲染缓冲对象,以将所述第一纹理对象关联到所述第一帧缓冲对象上;
23、将所述第一渲染缓冲对象和所述第一帧缓冲对象解除关联,将所述第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到第二渲染缓冲对象。
24、可选地,所述方法还包括:
25、配置屏幕交换方法的执行代码,所述屏幕交换方法用于将所述第二渲染缓冲对象中的数据显示到屏幕上;
26、将所述屏幕交换方法的调用顺序设置在目标代码的后面,所述目标代码的功能包括:通过所述第二帧缓冲对象、所述第二渲染缓冲对象渲染第一纹理的数据,以及通过所述第三帧缓冲对象和所述第二纹理渲染所述第一纹理对象中的数据。
27、本申请实施例的另一个方面提供了一种录制装置,所述装置包括:
28、第一创建模块,用于创建第一帧缓冲对象和第一渲染缓冲对象;
29、第二创建模块,用于响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到关联到所述帧缓冲对象上的第二渲染缓冲对象;
30、渲染模块,用于基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;
31、显示模块,用于通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;
32、录制模块,用于通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。
33、本申请实施例的另一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的录制方法的步骤。
34、本申请实施例的另一个方面提供了一种计算机可读存储介质,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的录制方法的步骤。
35、本申请实施例提供的录制方法、装置、计算机设备、计算机可读存储介质,具有如下优点:在启动录制之后,将录制逻辑和渲染逻辑进行隔离。在不影响原有绘制逻辑的情况下,完成录制,降低代码侵入性和性能损耗。而且,避免屏幕录制会将非小游戏场景的ui界面(比如关闭按钮)录制进视频的问题,确保用户的回放体验。
1.一种录制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的录制方法,其特征在于,所述通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图,包括:
3.根据权利要求1所述的录制方法,其特征在于,所述通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频,包括:
4.根据权利要求1至3任意一项所述的录制方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的录制方法,其特征在于,所述通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中,包括:
6.根据权利要求4所述的录制方法,其特征在于,所述方法还包括:
7.根据权利要求1至3任意一项所述的录制方法,其特征在于,所述方法还包括:
8.一种录制装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7中任意一项所述的录制方法的步骤。
10.一种计算机可读存储介质,其特征在于,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7中任意一项所述的录制方法的步骤。