Behind Coleus

大学生なのに特別大学で楽しいことが一 つもない。虐待と男子校病のせいにしてみる。→日本脱出しました 今ジャカルタにいます。→ジャカルタから帰ってきました。

シェーディングできたよ あにき

よくわからないけど、上の式通りにプログラミングしたら、影ができたわ。
あ、shininess(i)を忘れてたわ

 

 


なんか手本と微妙に違うなー
できたわ

()の右下についてる+の意味は、値が負だった場合は、0にするということを意味していて、x_+=std::max(0.0, x)でプログラミングできる。

点光源の距離減衰はそんな難しくなかった。


ホントこれだけだったよ。

無限遠の光源の影は、簡単だった。
その方向に、障害物があるかどうかだけ。
点光源の影は難しかった。
その方向に障害物があってかつ、光源と交点との間にあるかどうかを判定しなきゃいけない。

Vec3d PointLight::shadowAttenuation(const Vec3d& P) const
{
    Vec3d d = getDirection(P);
    // 光源への方向ベクトルをとる

    d.normalize();

    ray r(P, d, ray::SHADOW);
    // Pからdへ進む、影の判定用のRayを生成

    isect i;
    // 交点情報を保存するためのオブジェクトを生成

    Vec3d dv = position - P;
    // 光源の位置ベクトルと交点の位置ベクトルの差をとる

    double dist = dv.length();

    if (getScene()->intersect(r, i)&& i.t < dist - 1e-6) {
            return Vec3d(0, 0, 0);    
    }
     return Vec3d(1, 1, 1);
    
}

 

 




二つ影が重なってる場所をクリックすると、法線が3つ出るようになってるね。

やはりこれか、
中間報告で、教職はあと1回実習行けばとれるし、講義も10回やったよ。
過去作の改善点は夏コミでやる。
宗教の理解は、インドネシア行ったら深まったね。

デジタルゲームは今年中に何とかします。
鬼海外修行を果たさなければ。

100曲作るのは、ちょっといつになるかわからない。

emfa-japan.or.jpいろいろあったけど

透過と反射できた。