[发明专利]一种采用ID像素图的三维对象快速选取方法在审
申请号: | 202010970797.3 | 申请日: | 2020-09-15 |
公开(公告)号: | CN111932689A | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 凌东伟;王开栋;陈好;陈金磊;林笃斌;门伟;郑昊;周俭 | 申请(专利权)人: | 北京庚图科技有限公司 |
主分类号: | G06T19/20 | 分类号: | G06T19/20;G06T15/00 |
代理公司: | 北京金蓄专利代理有限公司 11544 | 代理人: | 赵敏 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 id 像素 三维 对象 快速 选取 方法 | ||
1.一种采用ID像素图的三维对象快速选取方法,其特征在于包括:
第一步骤:根据三维图形输出窗口大小创建离屏渲染帧缓冲对象;
第二步骤:创建三个渲染缓冲区:深度与模板缓冲区、0号颜色缓冲区、1号颜色缓冲区;并将三个渲染缓冲区与离屏渲染帧缓冲对象绑定;
第三步骤:在片元着色器中把对象最终的颜色输出到0号颜色缓冲区,把对象的ID输出到1号颜色缓冲区;
第四步骤:在每帧渲染前,绑定当前渲染帧缓冲为创建的离屏渲染帧缓冲对象;
第五步骤:执行三维场景渲染;
第六步骤:渲染结束后,绑定当前渲染帧缓冲为窗口系统帧缓冲,绑定当前读取帧缓冲为离屏渲染帧缓冲对象;
第七步骤:采用帧缓冲数据复制函数,将离屏渲染画面的0号颜色缓冲区的内容,复制到当前窗口系统的帧缓冲中;
第八步骤:采用帧缓冲数据读取函数,将1号颜色缓冲区的内容拷贝到内存中,作为对象ID图像。
2.根据权利要求1所述的采用ID像素图的三维对象快速选取方法,其特征在于还包括第九步骤:根据用户的选取操作,读取用户的鼠标或触摸位置,然后直接读取对象ID图像中该位置的ID值,得到用户选取的对象ID。
3.根据权利要求1或2所述的采用ID像素图的三维对象快速选取方法,其特征在于,在第三步骤采用OpenGL着色器语言编写三维对象的着色器代码,得到片元着色器。
4.根据权利要求1或2所述的采用ID像素图的三维对象快速选取方法,其特征在于,帧缓冲数据复制函数是OpenGL的帧缓冲数据复制函数。
5.根据权利要求1或2所述的采用ID像素图的三维对象快速选取方法,其特征在于,第四步骤将离屏渲染缓冲区设置为输出画面。
6.根据权利要求1或2所述的采用ID像素图的三维对象快速选取方法,其特征在于,第六步骤将真正的窗口画面设置为输出画面,将离屏渲染缓冲区改为读取画面。
7.根据权利要求1或2所述的采用ID像素图的三维对象快速选取方法,其特征在于,在第三步骤采用DirectX着色器语言编写三维对象的着色器代码,得到片元着色器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京庚图科技有限公司,未经北京庚图科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010970797.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:可自动处理燃气泄漏的智能燃气报警装置
- 下一篇:一种防止锂电池自燃装置