买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明属于计算机视觉技术领域,具体涉及一种三维场景渲染方法、系统、装置及存储介质。该方法包括:划分三维模型场景数据;创建三维场景相机;场景渲染。其中,定义当前渲染场景为S,将当前渲染场景S划分为固定部分场景Sf和变化部分场景,所述变化部分场景拆分为透明部分场景St与不透明部分场景Sc;创建相机C,作为当前渲染场景S的主相机,在主相机C下创建三个从属相机Cf、Cc、Ct分别加载场景Sf、Sc、St的场景数据。本发明通过缓存当前主体的渲染数据,在后面的每一帧场景渲染中复用并合成动态修改的部分,可以大大的降低当前帧场景的渲染内容,提高交互的流畅性。
主权项:1.一种三维场景渲染方法;其特征在于,该三维场景渲染方法包括:一、划分三维模型场景数据;定义当前渲染场景为S,将当前渲染场景S划分为固定部分场景Sf和变化部分场景,其中,所述变化部分场景拆分为透明部分场景St与不透明部分场景Sc;二、创建三维场景相机;创建相机C,作为当前渲染场景S的主相机,在主相机C下创建三个从属相机Cf、Cc、Ct分别加载场景Sf、Sc、St的场景数据,并为每个相机创建当前窗口像素大小的用于渲染使用的两张纹理图片;所述创建三维场景相机时,还包括:在主相机C下再创建一个始终填充屏幕的矩形HUD相机Ch,用于针对矩形屏幕进行纹理填充,实现场景数据的渲染;其中,HUD相机Ch的创建方式为:根据固定视口矩阵Mv与投影矩阵Mp在HUD相机Ch下添加一个对应的矩形,获得矩形顶点列表;所述固定视口矩阵Mv为: 所述投影矩阵Mp为: 所述矩形顶点列表为-1,-1,0、-1,1,0、1,1,0、1,-1,0;三、场景渲染;将数据变化部分场景渲染到变化部分的纹理图片中缓存;将固定部分场景Sf渲染到帧场景缓存对象,复用上一帧场景的纹理图片;将缓存的变化部分的纹理图片数据以及固定部分渲染的帧场景缓存对象的纹理图片数据混合,得到渲染成果,将渲染成果提交到界面渲染,并重复上述场景渲染操作开始下一帧场景的渲染;所述场景渲染时,调用OpenGL进行场景渲染,在绘制到指定相机节点时进行分情况处理;其中,将数据变化部分场景渲染到变化部分的纹理图片中缓存,包括:将主相机C的相机姿态,更新到从属相机Cc和从属相机Ct的相机姿态中;其中,所述相机姿态由视口变换矩阵、投影矩阵、视口矩阵组成;通过OpenGL的glBindFramebufferEXT方法将从属相机Cc和从属相机Ct的深度缓存与颜色缓存分别渲染到纹理图片CTc、纹理图片DTc和纹理图片CTt、纹理图片DTt中,其中,所述纹理图片CTc、纹理图片DTc为从属相机Cc对应的不透明部分场景Sc对应的纹理图片CT和纹理图片DT,所述纹理图片CTt、纹理图片DTt为从属相机Ct对应的透明部分场景St对应的纹理图片CT和纹理图片DT;所述将固定部分场景Sf渲染到帧场景缓存对象,复用上一帧场景的纹理图片,包括:记录当前从属相机Cf的相机姿态,与主相机C的进行比较,记录是否发生变化,并记录变量Bc;根据当前场景元素与上一帧场景元素比较是否发生变化,并记录变量Bs;根据变量Bc与变量Bs决定是否需要重新渲染从属相机Cf的深度缓存与颜色缓存分别渲染到纹理图片CTf、纹理图片DTf,否则复用上一帧的纹理;将缓存的变化部分的纹理图片数据以及固定部分渲染的帧场景缓存对象的纹理图片数据混合,得到渲染成果,包括:基于获得的纹理图片CTc、纹理图片DTc、纹理图片CTt、纹理图片DTt、纹理图片CTf及纹理图片DTf的数据,通过调用OpenGL的glBindTexture函数,将所有贴图绑定到HUD相机Ch中,HUD相机Ch下的矩形采用OpenGL的自定义渲染管线进行逐个片元的渲染,其中,OpenGL渲染管道里面会将渲染内容拆分成一个个的像素,每个片元表示对应的一个像素。
全文数据:
权利要求:
百度查询: 江西博微新技术有限公司 三维场景渲染方法、系统、装置及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。