当前位置:   article > 正文

Qt 3D的研究(四):指定渲染的材质以及效果_qt 加载obj的材质和图片

qt 加载obj的材质和图片

Qt 3D的研究(四):指定渲染的材质以及效果

       在上一篇文章中我了解到了怎样简单地显示模型。Qt3D内置了一个obj模型的解析器,这样可以将简单的obj模型载入并且显示出来。其实Qt3D对于渲染的配置还是很厉害的,通过设定材质,我们可以得到很不错的渲染效果,而且可以通过设定Effect,将自己指定的着色器载入,让Qt 3D和OpenGL进行编译,得到自己想要的渲染效果。

蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/43983493。欢迎同行前来探讨。

       在上一篇文章介绍的QML代码的基础上,我们简单地添加一个材质。代码如下:

  1. Entity
  2. {
  3. Mesh
  4. {
  5. id: mesh
  6. objectName: "toyPlane"
  7. source: "qrc:/toyplane.obj"
  8. }
  9. //! [4]
  10. PhongMaterial
  11. {
  12. id: phongMaterial
  13. }
  14. //! [4]
  15. components: [ mesh, phongMaterial ]
  16. }

       运行结果如下:

       这里我们在//! [4]之间添加了一个常用的材质:Phong材质。Phong光照模型是一种常见的光照模型,他揭示了生成高光的方法。以前我的博客也介绍并且实现了这样的光照模型。之所以它的广泛性,Qt 3D将其封装了一个类,方便操作。图中显示的是使用Phong光照模型,让玩具飞机呈现光滑透明的效果。我们也可以设定具体的参数,让光照呈现不同的效果:设定全局光(ambient)、漫反射(diffuse)、镜面反射(specular)以及自发光亮度(shininess)。添加的代码如下所示:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/619091
推荐阅读
相关标签
  

闽ICP备14008679号