位置: 编程技术 - 正文
推荐整理分享Opengl 导入3Dmax制作的.3ds模型 并显示出来(opengl导入obj能动起来吗),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl导入模型,opengl导入3dmax模型,opengl导入obj,opengl导入obj,opengl导入obj能动起来吗,opengl导入3dmax模型,opengl导入3dmax模型,opengl导入3dmax模型,内容如对您有帮助,希望把文章链接给更多的朋友!
由于opengl并没有原始支持这种模型,所以导入是件麻烦事,但是又有很多的模型是这个式的,这次在做图形学大作业的时候,特别想用到。
开始以为很简单,就几十行代码就能解决,但是翻了好多列子,都从解析文件式,到分离顶点,纹理式等等,非常复杂的工作,最后才能显示模型。
因此我把网上的列子总结成了2个文件,一个头文件和一个CPP文件,文件在最后面贴出来
叫做CLoad3DS.cpp CLoad3DS.h
下面用nehe最简单的一个列子来展现如何导入,非常的简单 不需要管这个两个文件里面具体复杂的操作是啥,直接当成库吧。
这个模型导入进去 我把模型的包围盒的代码踢出掉了,只能显示出来看,不能某个部分运动等更具体的操作。
先看效果吧
1. 首先建一个win程序
这里直接拿nehe的第6课 就是那个立方体贴图的列子
lesson6.cpp
上图就是主要的逻辑代码,我已经改成了显示3ds模型的代码了。 下面我指出改的地方都有哪首先是文件目录。
3D模型一定要放在Data/3ds文件夹里面
3D模型贴图一定要放在Data/pic文件夹里面 如下图:
这是VC工程,VS是一样的,直接用nehe那个工程导入CLoad3DS 并且建立那3ds和pic两个文件夹即可, 最后讲给出全部源代码和一些网上的模型
下面是主要对nehe添加3D模型支持的代码
首先加上头文件
然后在定义全局变量的地方,也就是 定义完头文件紧接着就写如下 3D模型的定义上面代码很简单,就是加载了CLoad3DS类, t3DModel类,然后定义了一个参数数组,中文说明。定义好了后就要初始化了。
在InitGL 也就是opengl初始化那个函数里面 初始化,就一句话。
初始化直接就填你想要那个模型的XXX.3DS即可,纹理不用管,放在pic文件夹里面,他自动从模型信息里面找出纹理的对应文件名最后就是运行了,在绘制函数里面用changeObject 导入之前设置好的参数,再用drawModel函数(在CLoad3DS定义好了的全局函数) 绘制。即可
完成,很简单吧, 就是添加2个文件,然后三两行代码即可实现模型导入。下面是整个工程文件。
点我下载
cocos2dx openGL cocos2dx之渲染树的绘制Cocos2d-x游戏的层次:导演类CCDirector直接控制渲染树的根节点--场景(CCScene),场景包含多个层(CCLayer),层中包含多个精灵(CCSp
Qt_OpenGL:3D空间中移动图像 Qt_OpenGL:3D空间中移动图像//.h#ifndefGLWIDGET_H#defineGLWIDGET_H#includeQGLWidget#includeQtOpenGLclassQGLWidget;classQTimer;typedefstructStars{public:intr,g,b;GLfloatdist,angle;}Stars;classGL
OpenGL学习-OpenGL变换 绝大多数3D图形并不是真正的3D的。我们使用3D的概念和术语描述看上去像3D的东西,然后把这种3D图形压平到2D计算机屏幕上,把3D图形压平为3D图形的过
标签: opengl导入obj能动起来吗
本文链接地址:https://www.jiuchutong.com/biancheng/373220.html 转载请保留说明!上一篇:OpenGL学习总结(opengl learn cn)
下一篇:cocos2dx openGL
友情链接: 武汉网站建设