美文网首页OpenGL学习笔记
【四十五,光照-材质04使用变化的光属性】

【四十五,光照-材质04使用变化的光属性】

作者: Woodlouse | 来源:发表于2019-12-12 22:21 被阅读0次

光属性随时间变化

目前为止,我们使用的是固定的光源颜色照射物体,改变的是光的颜色强度,并没有影响物体的真实颜色。通过上节将光属性的封装现在我们可以很容易的访问光的属性了,我们可以随着时间改变它们的颜色来获得一些不同的效果。

如何改变光的属性呢?之前我们一直用的是singlfwGetTime函数来做随着时间改变一些属性值得方法,这次,我们依旧使用这两个函数随着时间的改变简单的改变光源的颜色:

    glm::vec3 lightColor;
    lightColor.x = sin(glfwGetTime() * 2.0f);
    lightColor.y = sin(glfwGetTime() * 0.7f);
    lightColor.z = sin(glfwGetTime() * 1.3f);
    
    // 设置光源的属性
    m_pShader->setVec3("light.position", lightPos);
    m_pShader->setVec3("light.ambient", lightColor*glm::vec3(0.5f));
    m_pShader->setVec3("light.diffuse", lightColor*glm::vec3(0.2f));
    m_pShader->setVec3("light.specular", 1.0f, 1.0f, 1.0f);

运行效果

随机截取两个时间点的运行效果:


运行效果01 运行效果02

随机光源颜色代码

相关文章

  • 【四十五,光照-材质04使用变化的光属性】

    光属性随时间变化 目前为止,我们使用的是固定的光源颜色照射物体,改变的是光的颜色强度,并没有影响物体的真实颜色。通...

  • OpenGLES5-光照

    光照基础 环境光照 漫反射光照 镜面光照 光照特性 材质属性 泛射材质 漫反射材质 镜面反射材质 发射材质 光照计...

  • 【四十四,光照-材质03设置光的属性】

    光属性的定义 在上一节中我们设置了材质属性,为材质对环境光、漫反射光、镜面光照和高光系统的敏感性定义了不同的值,总...

  • OpenGL #07 Materials

    物体的材质属性   不同物体的材质会影响光照结果,那么在我们上节学的光照模型中,光照是由三种光照合成的,也就是说材...

  • 光照-07.复习

    在你这几个教程中,学习了有关颜色,冯氏光照模型(包括环境,漫反射,镜面反射光照),对象材质,可配置的光照属性,漫反...

  • 从0开始的OpenGL学习(十二)-材质

    本文主要解决一个问题: 如何使用材质控制光照效果? 引言 真实世界里,每个物体对光的反射属性都不同。铁轮子永远都比...

  • OpenGL ES之旅(四)-- OpenGL ES 光照计算

    光照是个很复杂的话题,尤其是多光源,阴影的计算。在这篇文章中,我会详细介绍不同类型光的性质以及物体的材质属性,以及...

  • OpenGL学习11——光照图

    光照图(Lighting Maps) 现实世界的物体通常包含不止一种材质,而上一章我们为物体整体定义了一种材质属性...

  • 第二十节—光照计算2

    本文为L_Ares个人写作,如需转载请表明原文出处。 上一节已经学习过了光照的种类,特性,关于光照材质的属性,以及...

  • UE4材质_属性贴图0123bate1

    材质_属性 贴图 更深入探讨组成材质的属性。 通过调整这些属性,您可以选择当应用材质到物体时材质的外观,以及其如何...

网友评论

    本文标题:【四十五,光照-材质04使用变化的光属性】

    本文链接:https://www.haomeiwen.com/subject/hplxnctx.html