0
点赞
收藏
分享

微信扫一扫

基于openGL和VC++搭建虚拟系统遇到的问题

谁知我新 2022-04-29 阅读 96
mfc

记录一下用openGL和VC++搭建虚拟系统遇到的问题

1.将3DS文件拖入view3ds应用程序图标,在弹出界面右键生成C代码,生成.h和.gl文件,将所生成的文件放入工作文件夹(opengllap)
2. 鼠标右键拖动放大缩小,退出前clear清除数据
3. 修改程序中的关节名称
4. 修改轴的位置
5. 3ds max :
网格细化:视图:粘土+边面
转换为可编辑多边形,选面,细化
网格减面:专业优化,保持纹理,计算,修改百分比
https://jingyan.baidu.com/article/6079ad0ec48c5728ff86db00.html

配置环境操作记录:
1:
在这里插入图片描述
头文件位置为绝对位置,放在名为HD的文件夹中,去掉HD后,无报错。新问题:hd.h头文件的作用是什么?
2:
在这里插入图片描述
hduVector.h已放在程序包中
3. GLAux.lib文件打不开---------项目属性—链接器-----常规------附加库目录----添加地址
在这里插入图片描述
4.
在这里插入图片描述

丢失hd.dll文件,在D:\Desktop\test_system\GTR680\opengllap\Debug 中放了hd.dll文件,在C:\Windows\System32中也放了一个

  1. 丢失PhantomIoLib42.dll文件,安装主手驱动后解决
  2. 丢失MSVCP100D.dll文件,360安全卫士—人工服务----搜索MSVCP100D.dll 解决。
  3. 丢失hduVector.inl文件,放在D:\Desktop\test_system\GTR680文件夹中。
    456的dll文件应该找出来单独放入程序包中。
  4. 在同一个装配图中对零件进行拆解,不可进行拖动,直接导出成3DS文件。
  5. 3Ds MAX文件中的坐标就是程序中的坐标
    10.openGL可能与AMD显卡冲突
  6. 3DS view可以通过±键放大
  7. 导入模型独立的话要加
    glPushMatrix();
    glScalef(0.01, 0.012, 0.01);
    glPopMatrix();
    13.修改灯光
    glLightfv(GL_LIGHT2, GL_AMBIENT, ambientLight2);
    glLightfv(GL_LIGHT2, GL_DIFFUSE, diffuseLight2);
    glLightfv(GL_LIGHT2, GL_POSITION, lightPos2);
    glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight2);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT2);

glLightfv(GL_LIGHT1, GL_AMBIENT, ambientLight1);
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuseLight1);
glLightfv(GL_LIGHT1, GL_POSITION, lightPos1);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight1);

glEnable(GL_LIGHTING);
glEnable(GL_LIGHT1);

glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight0);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight0);

glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
//glEnable(GL_LIGHTING);                   //光源的总开关
//glEnable(GL_LIGHT0);                     //开启相应号数的光源
举报

相关推荐

0 条评论