社区
图形处理/算法
帖子详情
关于OpenGL中实现子模型选择的问题
seniorbb
2009-04-15 08:32:31
用OpenGL通过导入3DS文件,那么怎么控制3DS文件中的某一个子模型?
用OpenGL自己画图,可以用seletion/feedback机制来人为管理特定的图元,但如果是导入的3D图元呢?怎么让单个的模型实现变换?
我还在学习中, 谢谢各位牛哥,帮我看看这个问题。
...全文
110
7
打赏
收藏
关于OpenGL中实现子模型选择的问题
用OpenGL通过导入3DS文件,那么怎么控制3DS文件中的某一个子模型? 用OpenGL自己画图,可以用seletion/feedback机制来人为管理特定的图元,但如果是导入的3D图元呢?怎么让单个的模型实现变换? 我还在学习中, 谢谢各位牛哥,帮我看看这个问题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seniorbb
2009-04-19
打赏
举报
回复
感觉taxi 的想法还是选择机制配合轨迹的做法啊。 游戏里都是这样做的吗?
seniorbb
2009-04-19
打赏
举报
回复
谢谢各位的帮忙,我分不多,加了100。。。P_hantom, 谢谢你给我的两个方案。
我会按zwqxin的思路试试看。再次谢谢!
taxi
2009-04-18
打赏
举报
回复
每个子模型你可以访问到吗,如果可以给每个子模型生成一个包围体,拾取的时候生成一条光线,如果光线和子模型的包围体相交则拾取到了,游戏一般都是这么做的。
zwqxin
2009-04-18
打赏
举报
回复
其实也不一定要VBO,只要你另外给一个容器装入子模型(Object,ID是0X4000)的数据就可以了。(还得搞清楚哪个OBJECT对应哪个子模型)
但是你要有很好的控制的话,这些数据最好包括顶点材质颜色纹理UV等等,不然就“分不开”了。。。。
说到底其实就是分别装入子模型和其他部分,。。。
小声:或者在3DSMAX里把原MODEL先删子模型,保存为MODEL1,然后把原MODEL子模型外其余部分删了,保存为MODEL2,再分别导入好了。。。- -
IONPhantom
2009-04-16
打赏
举报
回复
VBO是后来OGL2.0以后加入的东西,如果不用VBO的话,你就需要把模型的两个Object的顶点分别保存
seniorbb
2009-04-16
打赏
举报
回复
谢谢你的回复,你讲的是我想要的。可是VBO我似乎没有什么概念。。我真是一只菜鸟。。呵呵。
IONPhantom
2009-04-16
打赏
举报
回复
你所谓的子模型是可以独立为一个Object的吗?
根据我的理解你的问题应该是这样的:
画一个方块可以导出为一个模型,也可以画两个方块,这两个方块是不相关的,但是还是可以做为一个模型导出,两个方块公用一个坐标系,而不是每一个方块有自己独立的坐标系,你想单独控制其中一个方块.
我理解的对吗?
如果是这样的话可以实现单独控制其中一个,但是很复杂,而且逻辑性不强,不适于封装,最好不要这么做.我说一下如何实现.
想实现上面这样单独对每一个方块的进行控制首先要得到两个方块自己独立的顶点缓冲(DX里叫VertexBuffer,OGL里好像叫VertexBufferObject),然后对每个独立的顶点缓冲定义一个世界坐标系变换矩阵,其实还是要把一个模型中的两个方块独立为两个Object.当实现到这一步的时候模型的 概念已经没有了,剩下的只是两个 Object.
现在你就可以对单独的Object进行变换了
OpenGL
基础46:切线空间
前置:
OpenGL
基础11:空间 一、什么是切线空间(Tangent Space) 在《
OpenGL
基础11:空间》
中
提到了观察空间、裁剪空间、世界空间等。切线空间和它们一样,都属于坐标空间 上面就是一个切线空间的例
子
,对于切线空间: N:该顶点本身的法线方向,z轴 T:该顶点的一条切线,但由于切线数量有无数条,其一般由
模型
给定,对应着UV图
中
的U,也就是使用和纹理坐标方向相同的那条 B:由前两者叉乘得到,对应着UV图
中
的V UV图:用于告知计算机,如何用2维的贴图包住3维的物体,本...
OpenGL
加载
模型
-Assimp
一、简介 现在市面上有一个很流行的
模型
加载库,叫做Assimp,全称为Open Asset Import Library。Assimp可以导入几十种不同格式的
模型
文件(同样也可以导出部分
模型
格式)。只要Assimp加载完了
模型
文件,我们就可以从Assimp上获取所有我们需要的
模型
数据。Assimp把不同的
模型
文件都转换为一个统一的数据结构,所有无论我们导入何种格式的
模型
文件,都可以用同一个方式去访...
【一步步学
OpenGL
4】-《着色器》
教程4:着色器原文:http://ogldev.atspace.co.uk/www/tutorial04/tutorial04.html背景:从这篇教程开始,我们将使用shader着色器来
实现
每一个效果和技术点。着色器是目前做3D图形最流行的方式。在某种程度上我们可以说这是一个“退步”吧,或者说技术
实现
上的一个回退,因为本来多数固定功能管线提供的那些3D功能(开发者只需要定义配置参数即可
实现
的功能函
OpenGL
着色器程序解析--着色器
转载至:https://blog.csdn.net/cordova/article/details/52495077背景:从这篇教程开始,我们将使用shader着色器来
实现
每一个效果和技术点,着色器是目前做3D图形最流行的方式。在某种程度上着色器功能是一个“退步”,或者说技术
实现
上的一个回退,因为本来多数固定功能管线自身就提供的那些3D功能(开发者只需要定义配置参数即可
实现
的功能函数)现在开发者必...
OpenGL
深入探索——Assimp加载
模型
并绑定VAO
转载自:第三十二课 顶点数组对象 背景 顶点数组对象( VAO )是一种特殊类型对象,它封装了与顶点处理器有关的所有数据,它仅仅是记录顶点缓存区和索引缓冲区的引用,以及顶点的各种属性的布局而不是实际的数据。这样做的好处是一旦你为一个 mesh 设置一个 VAO ,你就可以通过简单的绑定 VAO 来导入 mesh 的所有状态。之后你就可以直接渲染 mesh 对象而不需要担心它的状态,VAO 为你
图形处理/算法
19,464
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章