zoukankan      html  css  js  c++  java
  • Specular light 计算

    Specular lighting is most commonly used to give light reflection off of metallic surfaces such as mirrors and highly polished/reflective metal surfaces. It is also used on other materials such as reflecting sunlight off of water. Used well it can add a degree of photo realism to most 3D scenes.

    The equation for specular lighting is the following:

    	SpecularLighting = SpecularColor * (SpecularColorOfLight * ((NormalVector dot HalfWayVector) power SpecularReflectionPower) * Attentuation * Spotlight)
    

    We will modify the equation to produce just the basic specular lighting effect as follows:

    	SpecularLighting = SpecularLightColor * (ViewingDirection dot ReflectionVector) power SpecularReflectionPower
    

    The reflection vector in this equation has to be produced by multiplying double the light intensity by the vertex normal. The direction of the light is subtracted which then gives the reflection vector between the light source and the viewing angle:

    	ReflectionVector = 2 * LightIntensity * VertexNormal - LightDirection
    

    The viewing direction in the equation is produced by subtracting the location of the camera by the position of the vertex:

    	ViewingDirection = CameraPosition - VertexPosition
  • 相关阅读:
    left、pixelLeft、posLeft的区别
    mysql null 值查询问题
    把php.exe加入系统环境变量-使用命令行可快速执行PHP命令
    《软件测试》
    《软件实现》
    《面向对象设计》
    《面向对象分析》
    《面向对象基础》
    《软件工程中的形式化方法》
    《需求工程》
  • 原文地址:https://www.cnblogs.com/seebro/p/3553345.html
Copyright © 2011-2022 走看看