×
現在地 >> メニュー >> 基本編05 >> 材質の設定
>> 材質の設定2

<材質の設定>


「材質特性」によって、「反射の仕方」が変わる。

設定には、「glMaterial()関数」を使う。

  • glMaterialf(GLenum face, GLenum pname, GLfloat param)
  • glMateriali(GLenum face, GLenum pname, GLint param)
  • glMaterialfv(GLenum face, GLenum pname, const GLfloat *parame)
  • glMaterialiv(GLenum face, GLenum pname, const GLint *params)


「face」:設定する「面」を指定 (「GL_FRONT」,「GL_BACK」,「GL_FRONT_AND_BACK」のいずれか)
「pname」:「材質パラメータ」を指定(後述)

「param」:「GL_SHININESS」の新しい設定値を指定。
「params」:「pname」に設定する「新しい設定値」へのポインタ

[pname:材質のパラメータ]


材質のパラメータは次のようになる。
パラメータ名内容初期値
GL_AMBIENT環境光(0.2, 0.2, 0.2, 1)
GL_DIFFUSE拡散光GL_LIGHT=(0.8, 0.8, 0.8, 1)
GL_SPECULAR鏡面光(0,0,0,1)
GL_EMISSION放射輝度(0,0,0,1)
GL_SHININESS鏡面光の指数0。0〜128までできる
GL_AMBIENT_AND_DIFFUSE「環境光」、「拡散光」を同時に指定する
GL_COLOR_INDEXES「環境光」、「拡散光」、「鏡面光」のカラー座標



【金色の例】
        GLfloat gold_amb[] = { 0.24725, 0.1995, 0.0745, 1.0 };
        GLfloat gold_diff[] = { 0.75164, 0.60648 , 0.22648, 1.0 };
        GLfloat gold_spe[] = { 0.628281, 0.555802,0.366065,1.0 };
        GLfloat gold_shin[] = { 51.2 };

        glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, gold_amb);
        glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, gold_diff);
        glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, gold_spe);
        glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, gold_shin);

>> 材質の設定2

メモ


M. Kilgard のカラーサンプルに具体的な数値がある。

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます