我要发帖 回复

中级会员

27

主题

124

积分

0

专家分

:

私信
发表时间 : 2009-4-19 18:41:54 | 浏览 : 1471    评论 : 3
我在MFC下调用3ds格式的模型,采用的方法是把模型数据读入到内存中,然后再绘制出来.
    现在遇到的问题是有些模型可以显示,如在代码中的飞机模型可以显示纹理与颜色,但在调用其它具有颜色和纹理的模型时,颜色与纹理均不能正常显示,比如下面上传的汽车模型(汽车模型将模型与纹理分两次上传了).
    不知道怎么处理这个问题.
    谢谢!
    代码如下!!!!!!!!!!!!!!!!!!

openGL读3ds.rar

259.58 KB, 下载次数: 28

代码

汽车模型.rar

356.75 KB, 下载次数: 22

汽车模型

汽车纹理.rar

359.36 KB, 下载次数: 24

汽车模型的纹理

最近VR访客

tan_dunming 评论于2009-4-20 09:43:03
汽车的模型 那个是用的纹理只占整个模型的一小部分 其他的是材质信息 而不是颜色
你好好研究下OpenGL的光照和材质部分 要么据此修改程序中的DrawModel函数,要么干脆重新找一个3ds的绘制包。后者可能更快一点吧。
追求卓越
tan_dunming 评论于2009-4-20 10:32:26
这个是OpenGL高级编程一书中的3ds读取例子,在程序中是用了如下几句,和你的3ds读取程序有所不同,你对比一下,看看能否解决这个问题吧。
    glEnable(GL_COLOR_MATERIAL);
    glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);

虽然这个3ds读取程序可以很好的解决材质,但是它似乎没有读取纹理等处理,你可以结合一下二者,实现纹理和材质的处理。
3DSLoader.rar (583.27 KB, 下载次数: 48)
追求卓越
yaojianfu 评论于2009-4-22 20:55:04
谢谢你,我先看看

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2022-1-26 06:36 AM

返回顶部