一种采用ID像素图的三维对象快速选取方法技术

技术编号:26344364 阅读:36 留言:0更新日期:2020-11-13 20:57
本发明专利技术提供了一种采用ID像素图的三维对象快速选取方法,包括:根据三维图形输出窗口大小创建离屏渲染帧缓冲对象;创建三个渲染缓冲区,将三个渲染缓冲区与离屏渲染帧缓冲对象绑定;在片元着色器中把对象最终的颜色输出到0号颜色缓冲区,把对象的ID输出到1号颜色缓冲区;在每帧渲染前,绑定当前渲染帧缓冲为创建的离屏渲染帧缓冲对象;执行三维场景渲染;绑定当前渲染帧缓冲为窗口系统帧缓冲,绑定当前读取帧缓冲为离屏渲染帧缓冲对象;采用帧缓冲数据复制函数,将离屏渲染画面的0号颜色缓冲区的内容,复制到当前窗口系统的帧缓冲中;采用帧缓冲数据读取函数,将1号颜色缓冲区的内容拷贝到内存中,作为对象ID图像。

【技术实现步骤摘要】
一种采用ID像素图的三维对象快速选取方法
本专利技术涉及三维计算机图形学业领域,具体涉及三维可视化信息领域,尤其是一种采用ID像素图的三维对象快速选取方法。
技术介绍
三维可视化系统中,三维场景中对象的交互选择是必不可少的一个功能。现有的三维对象选择手段一般是通过相交测试来完成。假设三维场景没有复杂的组织结构,只是一个个的三维对象组成,那么三维对象选取的基本流程如下:(1)根据屏幕点击位置进行反投影计算,得出在三维视景体近裁剪面和远裁剪面的两个点,以这两点构成的相交测试用线段;(2)将相交测试线段与整个三维场景中每一个三维对象执行如下操作:a.和该三维对象的包围球进行相交测试计算;b.如果没有相交点,说明和该三维对象不相交,那么就转到下一个三维对象执行a步骤;c.如果有相交点,则把该三维对象中的所有三角形均和相交测试线段进行相交测试计算,如果有相交点,则把相交点和对象指针或对象ID存入相交结果列表;如果没有相交点,则转到下一个三维对象执行a步骤;(3)使用相交结果列表。从上述流程可以看出,本文档来自技高网...

【技术保护点】
1.一种采用ID像素图的三维对象快速选取方法,其特征在于包括:/n第一步骤:根据三维图形输出窗口大小创建离屏渲染帧缓冲对象;/n第二步骤:创建三个渲染缓冲区:深度与模板缓冲区、0号颜色缓冲区、1号颜色缓冲区;并将三个渲染缓冲区与离屏渲染帧缓冲对象绑定;/n第三步骤:在片元着色器中把对象最终的颜色输出到0号颜色缓冲区,把对象的ID输出到1号颜色缓冲区;/n第四步骤:在每帧渲染前,绑定当前渲染帧缓冲为创建的离屏渲染帧缓冲对象;/n第五步骤:执行三维场景渲染;/n第六步骤:渲染结束后,绑定当前渲染帧缓冲为窗口系统帧缓冲,绑定当前读取帧缓冲为离屏渲染帧缓冲对象;/n第七步骤:采用帧缓冲数据复制函数,将...

【技术特征摘要】
20200703 CN 20201063796381.一种采用ID像素图的三维对象快速选取方法,其特征在于包括:
第一步骤:根据三维图形输出窗口大小创建离屏渲染帧缓冲对象;
第二步骤:创建三个渲染缓冲区:深度与模板缓冲区、0号颜色缓冲区、1号颜色缓冲区;并将三个渲染缓冲区与离屏渲染帧缓冲对象绑定;
第三步骤:在片元着色器中把对象最终的颜色输出到0号颜色缓冲区,把对象的ID输出到1号颜色缓冲区;
第四步骤:在每帧渲染前,绑定当前渲染帧缓冲为创建的离屏渲染帧缓冲对象;
第五步骤:执行三维场景渲染;
第六步骤:渲染结束后,绑定当前渲染帧缓冲为窗口系统帧缓冲,绑定当前读取帧缓冲为离屏渲染帧缓冲对象;
第七步骤:采用帧缓冲数据复制函数,将离屏渲染画面的0号颜色缓冲区的内容,复制到当前窗口系统的帧缓冲中;
第八步骤:采用帧缓冲数据读取函数,将1号颜色缓冲区的内容拷贝到内存中,作为对象ID图像。


2.根据权利要求1所述的采用ID像素图的三维对象快速选取方...

【专利技术属性】
技术研发人员:凌东伟王开栋陈好陈金磊林笃斌门伟郑昊周俭
申请(专利权)人:北京庚图科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1