LoginSignup
1
3

More than 5 years have passed since last update.

OpenFrameworksでのLightingについて

Posted at

OpenFrameworksでのLightingについてのメモを残していこうと思います。

光の種類についての説明

AmbientColorは環境光色

DiffuseColorは拡散光色:物体自体は光を基本発していなく見た目は光が当たった場合、
どのような色の光を拡散するかで決まります。

SpecularColorは鏡面光色:

EmissiveColorは放射光色:物体が自ら発光する色

実装

setup(){
 material_1.setEmissiveColor(ofFloatColor::blue);
 material_1.setDiffuseColor(ofFloatColor::green);
 light.setPosition(0,100,0);
 light.setPointLight();
 light.setup();
}

スクリーンショット 2017-08-23 11.52.34.png

光が当たっている部分は自己発光色と拡散光が合わさっていることが確認できます。
この色は足し算によって計算されるので自己発光色が白だと拡散光色を設定しても白のままです。

またSpecularColorを追加してみると
スクリーンショット 2017-08-23 12.02.13.png

この鏡面光は視点に関係なく色が決定されるDiffuseColorに比べて視点の位置によって変化するものです。
またsetShininess(float)で輝き具合を決定してください。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3