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

本文深入探讨Qt 3D如何指定渲染材质以实现丰富的视觉效果,包括使用Phong材质展现光滑透明的模型,以及通过自定义Effect、Technique、RenderPass和ShaderProgram来编写和应用自己的着色器,实现更复杂的渲染效果。
摘要由CSDN通过智能技术生成

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

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

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

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

    Entity
    {
        Mesh
        {
            id: mesh
            objectName: "toyPlane"
            source: "qrc:/toyplane.obj"
        }

        //! [4]
        PhongMaterial
        {
            id: phongMaterial
        }
        //! [4]

        components: [ mesh, phongMaterial ]
    }

       运行结果如下:

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值