課題09:透明処理

個々の物体に透明度 Kt を与えて,これが 0 でないものは、向こう側が透けて見えるようにしてください. Kt は,構造体 Material の要素に t を追加し, この構造体の変数のそれぞれの要素に格納するものとします.

struct Material {
  float a[3];  /* 環境光に対する反射係数 Ka */
  float d[3];  /* 物体表面の拡散反射係数 Kd */
  float s[3];  /* 物体表面の鏡面反射係数 Ks */
  float e;     /* ハイライトの広がり */
  float r;     /* 映り込みの反射率 */
  float t;     /* 透明度 */
};

struct Material red = {
  { 0.5, 0.1, 0.1 },
  { 0.5, 0.1, 0.1 },
  { 0.4, 0.4, 0.4 },
  40.0,
  1.0,
  0.5,
};

struct Material green = {
  { 0.1, 0.5, 0.1 },
  { 0.1, 0.5, 0.1 },
  { 0.4, 0.4, 0.4 },
  40.0,
  1.0,
  0.8,
};

struct Material blue = {
  { 0.1, 0.1, 0.5 },
  { 0.1, 0.1, 0.5 },
  { 0.4, 0.4, 0.4 },
  40.0,
  1.0,
  0.3,
};

どうしても分からなければ…

【次:課題10】