OpenGL读取显示3ds,flt模型的一般过程(小结)

问题:

      最近一直在学习OpenGL读取显示3ds,flt模型的过程,终于有了一点点心得,其中走了很多的弯路,希望能对以后也研究的人有一点点帮助,同时自己也总结一下。

回答:OpenGL读取显示3ds,flt模型的一般过程(小结)

第一步:读取模型

{  先获取模型的数据信息:添加到自己定义的结构体中,结构体一般包括

   点列表:(定点坐标,纹理坐标)
   面列表:
   纹理信息:(纹理得图像名称,个数)
   材质信息(主要是光照类)

   3ds是读取“chunk”结构体,而后获得模型的信息添加到自己的结构体中。

   flt是利用multiGen提供的api函数来读取模型得信息,其中主要利用waklflt()这个函数,其中比较特殊的是这个是一个回调函数。根据flt的标示符来获得相关的面片列表和点列表。
}

第二步:根据读取得数据信息计算面和顶点得法向量
{
   这个过程一般为:先计算面的法向量,然后计算顶点的法向量,这其中也包括法向量的规范化
}

第三步:根据读取信息中的纹理文件的名字来生成纹理
{
  根据纹理文件的名字来生成纹理,这其中因为不同的图片的格式不一样诸如(*.rgb,*jpg,*bmp)所以需要能处理各种各样得文件格式来得到纹理
}

第四步:根据数据信息绘制模型
{
      遍历所有得面,如果有纹理映射,打开纹理映射,给出法向量,纹理坐标, 颜色值,绘制各个顶点的坐标。
  这其中还包含获得模型得缩放比例(因为即使是一样的B52轰炸机,不同的人建  立得模型的大小也是不一样得。)
  然后按照这个比例来绘制点的坐标。
}

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值