<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>現役ゲームプログラマーが教えるシャドウボリューム</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/" />
   <link rel="self" type="application/atom+xml" href="http://program-tips.com/shadow-volume/atom.xml" />
   <id>tag:program-tips.com,2009:/shadow-volume//4</id>
   <updated>2008-03-08T15:30:13Z</updated>
   <subtitle>最新ゲーム機ではものすごく奇麗な映像表現が可能になりました。映像表現技術の中でも特に重要な影の表現であるシャドウボリュームについてわかりやすく説明します。
一般的な説明だけでなく、実際にゲームに取り入れ、E3などのショーでNo1のクオリティーと言われた方法まで暴露します。</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.35</generator>

<entry>
   <title>シャドウボリュームの概念</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/cat8/post_3.html" />
   <id>tag:maopy.net,2007:/mami//4.5</id>
   
   <published>2008-11-29T17:13:46Z</published>
   <updated>2008-03-08T15:30:13Z</updated>
   
   <summary> 左上図のように2枚の板があり、上の板をA、下の板をBとします。 現実世界では上...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="002シャドウボリュームの概念" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[<a href="http://program-tips.com/shadow-volume/pic/01.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/01.jpg" width="200" height="150" alt="" border=""></a><a href="http://program-tips.com/shadow-volume/pic/02.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/02.jpg" width="200" height="150" alt="" border=""></a>

左上図のように2枚の板があり、上の板をA、下の板をBとします。
現実世界では上から平行光が当たったときに、Aの影がBに落ちます。
それを右上図に示します。

Aが作る影の領域は次の下図のようになります。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri01.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri01.jpg" width="400" height="300" alt="" border=""></a>

この領域に入ったものは全てAの影が落ちます。
このときにAが作る影の領域のことをシャドウボリューム(shadow volume)といいます。
上手の四角柱がシャドウボリュームになります。
試しに下図のように、このシャドウボリュームに別の板を突き刺した状態を考えます。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri02.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri02.jpg" width="400" height="300" alt="" border=""></a>

この状態のときに影がどのように落ちるかを表したのが下図です。
下図を見ていただくと、その様子が現実世界で起きることと同じであることがわかると思います。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri03.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri03.jpg" width="400" height="300" alt="" border=""></a>

Bに落ちている影は、Aの影だけでなく、新しく突き刺した板の影も落ちています。
これは新しく突き刺した板も、Aと同様にシャドウボリュームを作るからです。
このようにシャドウボリュームは合成することが可能です。]]>
      
   </content>
</entry>
<entry>
   <title>ピクセルフィルレート</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/100_1/post_8.html" />
   <id>tag:program-tips.com,2008:/shadow-volume//4.13</id>
   
   <published>2008-02-16T04:50:50Z</published>
   <updated>2008-02-16T04:58:39Z</updated>
   
   <summary>ステンシルシャドウを行うときに、一番問題になるのは、ピクセルフィルレートです。 ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="100ステンシルシャドウの高速化" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      ステンシルシャドウを行うときに、一番問題になるのは、ピクセルフィルレートです。

ピクセルフィルレートとは、ゲーム機やパソコンが画面上に点を打つスピードのことで、この値が大きいほどシャドウボリュームに向いています。
ピクセルフィルレートは、マシンにより変えようがないので、プログラムで点を打つ面積を減らすことを考えます。

これがシャドウボリュームの高速化で最も効果が得られる部分です。

シャドウボリュームやシャドウマップだけでなく、グラフィックス全体に関してもピクセルフィルレートは重要なので、覚えておくとよいと思います。

      
   </content>
</entry>
<entry>
   <title>デプスフェイル法</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/004/cat5/post_7.html" />
   <id>tag:maopy.net,2007:/mami//4.12</id>
   
   <published>2007-12-01T15:22:37Z</published>
   <updated>2008-03-08T15:30:12Z</updated>
   
   <summary>シャドウボリュームの問題点の1つである、 「カメラがシャドウボリュームの中に入る...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="007デプスフェイル法" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[シャドウボリュームの問題点の1つである、
「カメラがシャドウボリュームの中に入ると影が破綻する」
を解決する方法について説明します。

一番簡単に解決する方法はデプスフェイル法です。
id Softwareのジョン・カーマックが広めた方法です。
別名カーマックリバースとも言われています。

ステンシルバッファに描画するときの+1、-1の決め方を変えるだけなのでほとんど手直しすることなく実装できます。
簡単なので、一般的によく使われていると思います。
ではさっそく簡単に説明します。

デプスフェイル法では、ステンシルバッファにシャドウボリュームを描画するときの条件が違います。
まず描画をするのはZテストが失敗したときです。
普通はZテストが成功したときしか描画しませんが、この方法では失敗したときに描画します。
それでこの方法の名前がデプスフェイル法と呼ばれています。
また、+1、-1の操作も違います。

裏面を描画するときには、Zテストに失敗したものを+1で描画する。

表面を描画するときには、Zテストに失敗したものを-1で描画する。

どちらの場合も、フレームバッファやZバッファには何も操作しません。
デプスフェイル法での、ステンシルバッファにシャドウボリュームを描画していく手順を図で説明します。

<a href="http://program-tips.com/shadow-volume/pic/depth_fail01.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/depth_fail01.jpg" width="400" height="300" alt="" border=""></a>
上の図は、裏面を+1で描画したものです。
赤い部分の値は+1になっています。


<a href="http://program-tips.com/shadow-volume/pic/depth_fail02.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/depth_fail02.jpg" width="400" height="300" alt="" border=""></a>
上の図は、表面を-1で描画したものです。
青い部分の値は-1になっています。

そしてこれらを合成すると、最終的なステンシルバッファが出来上がります。
下の図は+1の領域と-1の領域を合成したものです。

<a href="http://program-tips.com/shadow-volume/pic/depth_fail03.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/depth_fail03.jpg" width="400" height="200" alt="" border=""></a>

元の画像に、影の色をグレーにして塗りつぶしてみると下の図のようになります。

<a href="http://program-tips.com/shadow-volume/pic/02.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/02.jpg" width="400" height="300" alt="" border=""></a>

普通のステンシルシャドウの結果と同じことが確認できました。]]>
      
   </content>
</entry>
<entry>
   <title>シャドウボリュームの問題点</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/004/006/post_6.html" />
   <id>tag:maopy.net,2007:/mami//4.11</id>
   
   <published>2007-12-01T14:29:05Z</published>
   <updated>2008-03-10T15:22:13Z</updated>
   
   <summary>シャドウボリュームは影の表現としては最も美しいものを作ることができます。 前のペ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="006シャドウボリュームの問題点" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[シャドウボリュームは影の表現としては最も美しいものを作ることができます。
前のページで紹介した、簡単なステンシルシャドウでは、そこまで美しい影はつくれません。
もっとリアルで美しい影を作るには、現在最高峰のゲーム機であるPLAYSTATION3でもリアルタイムでは不可能です。
今はその方法は置いておくとして、シャドウボリュームの問題についていくつか説明します。

シャドウボリュームの問題点は大きく分けて
<ul><li>カメラがシャドウボリュームの中に入ると影が破綻する</li>
<li>ピクセルフィルレートを大量に消費する</li>
</ul>の２つがあります。

まずは、カメラ（視点）がシャドウボリュームの中に入ると影が破綻することについて説明します。
前のページで図解したようにステンシルを描画するときに+1、-1といった値でシャドウボリュームを描画します。
このときカメラがシャドウボリュームの中に入ると+1で描かれるはずの面が、カメラの後ろに行ってしまうために描かれません。
その結果、影の形がおかしくなってしまいます。

この影が破綻するという問題に対する解決方法は３つあります。
おそらくほとんどのプログラマーはデプスフェイル法しか知らないかと思います。
なぜなら他の２つは実装が面倒なため、ほとんど解説されることがありません。
他の２つの方法というのは、ZP+法と、キャッピング法です。
私がお勧めするのは、キャッピング法です。
実装するのは面倒ですが、これはデプスフェイル法に比べて30%ほど高速になるからです。
後でデプスフェイル法、キャッピング法について説明します。

２つめの問題として、ピクセルフィルレートを大量に消費する（描画が重くなる）という問題があります。
多くのプログラマーはピクセルフィルレートを理由に、シャドウボリュームではなくシャドウマッピング法を使用します。
私の周りでもシャドウボリュームを使用している人はいません。
しかし、あらゆる手を尽くすと、シャドウボリュームは各段に早くなります。
この高速化も後で解説していきます。
]]>
      
   </content>
</entry>
<entry>
   <title>簡単なステンシルシャドウボリュームの手順</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/004/003/post_5.html" />
   <id>tag:maopy.net,2007:/mami//4.10</id>
   
   <published>2007-12-01T11:51:27Z</published>
   <updated>2008-03-08T15:30:12Z</updated>
   
   <summary>簡単なステンシルシャドウボリュームの手順 シャドウボリュームを実現するときの手順...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="005簡単なステンシルシャドウ" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[簡単なステンシルシャドウボリュームの手順

シャドウボリュームを実現するときの手順について説明します。
まず一番簡単な方法を説明します。

　１．シーンを描画する（ZバッファにはZ値を作る）
　２．ステンシルバファにシャドウボリュームを描画
　３．ステンシルを使い影になる部分に影の色をつける

この手順では一番簡単にステンシルシャドウボリュームが実現できますが、これで出来る影のクオリティは低いです。
まず一番簡単な方法でイメージできるように、この手順で説明します。

１．シーンを描画する（ZバッファにはZ値を作る）

このパスは普段の画面の描画と同じです。
何も気にせずにシーンを描画します。

２．ステンシルバッファにシャドウボリュームを描画

まず前に説明した図をもう一度見てみましょう。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri06.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri06.jpg" width="400" height="300" alt="" border=""></a>

Aが作るシャドウボリュームは図の4角柱です。
つまり上下の2面と4つの側面、合計6枚の面から出来ています。
この6面をステンシルバッファに描画します。

ステンシルバッファにシャドウボリュームを描画するときに、いくつかの条件があります。
<ul><li>表面を描画するときには、Zテストに合格したものを+1で描画する。</li>
	<li>裏面を描画するときには、Zテストに合格したものを-1で描画する。</li>
</ul>
どちらの場合も、フレームバッファやZバッファには何も操作しません。
それでは、ステンシルバッファにシャドウボリュームを描画していく手順を図で見てみましょう。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri08.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri08.jpg" width="400" height="300" alt="" border=""></a>
上の図は、表面を+1で描画したものです。
赤い部分の値は+1になっています。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri09.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri09.jpg" width="400" height="300" alt="" border=""></a>
上の図は、裏面を-1で描画したものです。
青い部分の値は-1になっています。

そしてこれらを合成すると、最終的なステンシルバッファが出来上がります。
下の図は+1の領域と-1の領域を合成したものです。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri10.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri10.jpg" width="400" height="200" alt="" border=""></a>
最終的なステンシルバッファには+1の領域が少し残っています。
これが影になる部分です。
このステンシルを参照しながら、+1になっている部分に影の色をつけると最終的な画像ができます。
元の画像に、影の色をグレーにして塗りつぶしてみると下の図のようになります。

<a href="http://program-tips.com/shadow-volume/pic/02.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/02.jpg" width="400" height="300" alt="" border=""></a>

これが最終的に、テレビやパソコンのモニターに表示される画面です。
]]>
      
   </content>
</entry>
<entry>
   <title>ステンシルシャドウボリュームの原理</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/cat3/post.html" />
   <id>tag:maopy.net,2007:/mami//4.7</id>
   
   <published>2007-12-01T07:03:26Z</published>
   <updated>2008-03-08T15:30:12Z</updated>
   
   <summary>シャドウボリュームの概念がわかったところで、これをコンピューター上で実現しなけれ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="003シャドウボリューム" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[シャドウボリュームの概念がわかったところで、これをコンピューター上で実現しなければいけません。
実現方法はいろいろあります。

現在のハイエンドなマシン（PLAYSTATION3、Xbox360、PC）ではステンシルバッファが標準で装備されているので、これを使います。

　　<a href="http://program-tips.com/shadow-volume/080/post_4.html">もしステンシルバッファがないときは？</a>

それではシャドウボリュームを作る過程を説明します。

<a href="http://program-tips.com/shadow-volume/pic/01.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/01.jpg" width="400" height="300" alt="" border=""></a>

説明を簡単にするために、上から並行光があたっているものとします。
そのときに、できるシャドウボリュームはAの各辺から、板を作ることにより表現できます。
その様子が下の図になります。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri05.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri05.jpg" width="400" height="300" alt="" border=""></a>

Aが作るシャドウボリュームは無限に伸びていきます。
実際には適当な長さで切ってしまっても問題ありません。
この図では省略していますが、Bも同じようにシャドウボリュームを作ります。
もしBの下にさらに板や何かの物体があれば、その物体にBの影が落ちます。
ここでは説明を簡単にするためAのシャドウボリュームについてのみ考えることにします。

さらに見やすくするために、板BのうちでAが作るシャドウボリュームに関係のない部分をカットします。
（Bのカットされた部分は影になるとこはないので、気にしないで大丈夫です。）
すると下のような図になります。

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri06.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri06.jpg" width="400" height="300" alt="" border=""></a>

わかりやすくBの部分を紫色にすると下のようになります(笑)

<a href="http://program-tips.com/shadow-volume/pic/shadow_volume_genri07.jpg" target="_blank" rel="nofollow"><img src="http://program-tips.com/shadow-volume/pic/shadow_volume_genri07.jpg" width="400" height="300" alt="" border=""></a>

次のページからは、この図を用いてステンシルバッファをどのように操作していくかを説明します。
]]>
      
   </content>
</entry>
<entry>
   <title>最新ゲーム機でも実現できない超最先端の技術</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/090/post_1.html" />
   <id>tag:maopy.net,2007:/mami//4.4</id>
   
   <published>2007-11-27T16:56:28Z</published>
   <updated>2007-12-03T13:58:16Z</updated>
   
   <summary>このサイトでは主にシャドウボリューム法を説明します。 さらに一般に知られていない...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="800このサイトで得られるもの" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      このサイトでは主にシャドウボリューム法を説明します。

さらに一般に知られていない高速化の方法や、次世代での（PLAYSTATION3やXbox360の後継機で可能になると思われる）影表現についても解説する予定です。

状況によっては、普通のプログラムの数十倍の速さのシャドウボリュームを作ることができます。


一般的なプログラムに関するサイトのようにプログラムコードを並べて説明するのではなく、頭の中でイメージできるような図を用いて説明していきます。

私はゲームプログラマーとして、今まで色々なゲーム開発（製作）に関わってきました。
皆さんがご存じのゲームや、数百万本のセールスを達成したゲームの開発にも関わり、今も続編を製作しています。

その経験から学んだことは、プログラムコードを書くよりも、アルゴリズムの内容が頭の中でイメージできる（ビジュアルを思い浮かべるとこができる）ことの方が重要だということです。
頭の中でイメージできると、その先の発展があると思うからです。
プログラムコードを見ているだけでは、新しいアイデアがなかなか出てきません。
ビジュアルとして思い浮かべることができ、紙に書いて人に説明できると、さらに新しい技術が生まれます。

そんな理由で、このサイトではイメージできることを重視します。
新しいアイデアで皆が驚くようなゲームがたくさん登場することを楽しみにしています。

実際のプログラムコードは、マイクロソフトのホームページで無料配布しているDirectXのサンプルの中にたくさんあるので、そちらを参考にしてください。

      
   </content>
</entry>
<entry>
   <title>ゲームにおける影の表現</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/cat7/post_2.html" />
   <id>tag:maopy.net,2007:/mami//4.2</id>
   
   <published>2007-11-12T17:02:39Z</published>
   <updated>2007-12-01T16:19:30Z</updated>
   
   <summary>最新のゲーム機PLAYSTATION3やXbox360、Wiiでは以前とは比較で...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="001ゲームにおける影表現" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[最新のゲーム機PLAYSTATION3やXbox360、Wiiでは以前とは比較できないほど映像が奇麗になっています。
とくにPLAYSTATION3やXbox360ではリアルな映像のゲームが多いです。
リアルな映像を作るときに重要なファクターの１つに影の表現があります。
CGにおいて影表現の方法はいくつかあります。

以前のゲーム機では丸いテクスチャを地面に投影するだけの影表現で、丸影などと言われています。

それよりすこし高度なプロジェクションシャドウというものがあります。
リアルタイムに遮蔽物の形をテクスチャとしてレンダリングし、できたテクスチャを投影するというものです。

これらの表現は簡単なので調べればすぐにわかると思います。
また最新のゲーム機ではほとんど使われないので、このサイトでは説明を割愛します。


最新のゲーム機でリアルな影表現をするときに使われる方法は２つあります。
シャドウボリューム法と、シャドウマッピング法です。

このサイトでは主にシャドウボリューム法とシャドウマッピング法を説明します。
また一般的なプログラムの説明のようにプログラムコードを並べて説明するのではなく、頭の中でイメージできるような図を用いて説明していきます。
実際のプログラムコードはマイクロソフトが配布している、DirectXのサンプルの中にたくさんあるのでそちらを参考にしてください。


ゲームで用いられる主な影の表現方法<ul><li>丸影</li>
	<li>プロジェクションシャドウ</li>
	<li>シャドウボリューム</li>
	<li>シャドウマッピング</li>
</ul>
]]>
      
   </content>
</entry>
<entry>
   <title>シャドウボリュームの紹介</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/cat7/tete.html" />
   <id>tag:maopy.net,2007:/mami//4.3</id>
   
   <published>2007-11-11T16:54:45Z</published>
   <updated>2007-12-01T16:19:30Z</updated>
   
   <summary>最新のゲーム機PLAYSTATION3やXbox360、Wiiなどにはステンシル...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="001ゲームにおける影表現" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[最新のゲーム機PLAYSTATION3やXbox360、Wiiなどにはステンシルバッ
ファというものが搭載されています。
このステンシルバッファを使うとシャドウボリュームが比較的簡単に行えます。

私が十数年前に初めてシャドウボリュームのプログラムをしたときはOpenGLというグラフィックスライブラリを使用しました。

ちなみに、OpenGLというのはフリーのグラフィックスライブラリです。当時はコンピューターグラフィックスのプログラミングといえばOpenGLというほどメジャーなグラフィックスライブラリでした。SGIというグラフィックスワークステーションとセットで使われることが多かったですね。

そのOpenGLを使ってシャドウボリュームのプログラムをしたのですが、たしかSGIのMark J. Kilgard氏の論文を参考にした記憶があります。現在ではMark J. Kilgard氏はNvidiaに勤めているようです。
Nvidiaのサイトで<a href="http://developer.nvidia.com/object/fast_shadow_volumes.html" target="_blank" rel="nofollow">Fast, Practical, and Robust Shadow Volumes</a>という論文が公開されています。
この論分もとても参考になるので、英語ですが読んでみることをお勧めします。
]]>
      
   </content>
</entry>
<entry>
   <title>ステンシルバッファがないときは？</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/080/post_4.html" />
   <id>tag:maopy.net,2007:/mami//4.8</id>
   
   <published>2007-11-01T07:09:14Z</published>
   <updated>2007-12-01T16:19:30Z</updated>
   
   <summary>もし、ステンシルバッファがないプラットフォームでは他の方法でも実現できます。 例...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="810メモ" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      もし、ステンシルバッファがないプラットフォームでは他の方法でも実現できます。

例えばZバッファ（深度バッファ）を使って実現することもできます。
その他にもカラーバッファのアルファチャンネルを利用して実現することも可能です。
このようなことは他の本やサイトでは紹介されていないですね！

私はステンシルバッファが存在していないころから、シャドウボリュームを実現しようといろいろ試していたのでこのような発想が生まれます。
      
   </content>
</entry>
<entry>
   <title>プロフィール</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/profile.html" />
   <id>tag:maopy.net,2007:/mami//4.6</id>
   
   <published>2006-11-30T18:04:08Z</published>
   <updated>2007-12-02T09:58:32Z</updated>
   
   <summary>現役のゲームプログラマー。 長年Playstation2、PLAYSTATION...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      現役のゲームプログラマー。
長年Playstation2、PLAYSTATION3、Xbox、Xbox360、PCなどハイエンドなマシンでのゲーム開発に携わる。
2年ほどアメリカでのゲーム開発を経験。
かかわったタイトルは全てミリオンセールスを達成。
開発したゲームが、E3（アメリカで開催されるコンピューターゲーム関連の展示会）で家庭用ゲームで最高のグラフィックスと称された経験を持つ。
      
   </content>
</entry>
<entry>
   <title>リンク集01</title>
   <link rel="alternate" type="text/html" href="http://program-tips.com/shadow-volume/link01.html" />
   <id>tag:program-tips.com,2006:/shadow-volume//4.9</id>
   
   <published>2006-11-01T09:05:19Z</published>
   <updated>2008-10-26T10:14:38Z</updated>
   
   <summary> 当サイトでは、相互リンクを募集しています。 リンクを貼っていただける方は、 「...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://program-tips.com/shadow-volume/">
      <![CDATA[<p>
当サイトでは、相互リンクを募集しています。
リンクを貼っていただける方は、
「リンクを貼ったURL、サイトタイトル、ご希望の紹介文」
をサイドバーのお問い合わせからお知らせください。
<br />
</p>

<p>
<div id="al-c">
<h3>プログラミング関連サイト</h3>

<table border="1" cellspacing="0" class="f10pt"  summary="リンク集">

<tr><td width="150"><a href="http://www.site-cooler.com/" target="_blank">Knave Web講座 --- Java, ASP, Perl, JavaScript, HTML</a></td>
<td>JavaScript、Java、ASP、Perl等のプログラミング講座、Tips。体系的にWebプログラミングを学べます。</td></tr>

<tr><td width="150"><a href="http://www.monmon-dance.com/" target="_blank"><img src="http://program-tips.com/shadow-volume/banner/dokugaku_programing.gif" width="78" height="29" alt="独学プログラミング言語のページ" /></a></td>
<td>C/C++、Delphi、Visual Basic等の言語をサンプルを通して学ぶことが出来ます。</td></tr>

<tr><td width="150"><a href="http://sasuke.main.jp/" target="_blank">さすけのプログラミング入門</a></td>
<td>Java,SQL,HTMLなどのソースを掲載しているサイトです。命令などを忘れてしまったときなどに見ていただけると役にたつと思います。</td></tr>

<tr><td width="150"><a href="http://ag5.net/~prgroad/index.html" target="_blank">Programmer's Road</a></td>
<td>プログラムに関するTipsや豊富なサンプルが紹介されています。</td></tr>

<tr><td width="150"><a href="http://remomani.com/" target="_blank">リモートマニア</a></td>
<td>PCリモート操作ガイド。フリーソフトRealVNCを使ったリモート操作方法を、PC初心者向けに解説。</td></tr>

<tr><td width="150">サイトURL</td>
<td>こちらにサイト説明文が入ります。</td></tr>

</table>
</div>
</p>

<br />

<!----------------------------------------------------------------------------->
<p>
<div id="al-c">
<h3>趣味関連サイト</h3>

<table border="1" cellspacing="0" class="f10pt"  summary="リンク集">

<tr><td width="150"><a href="http://redsky.under.jp/blog/ " target="_blank">ジャズ・ブログ</a></td>
<td>ジャズ（パット・メセニー、マイルス・デイヴィス）や、ロック（スティーリー・ダン、ローリング・ストーンズ、ボブ・ディラン）中心の音楽ブログ。</td></tr>

<tr><td width="150"><a href="http://ipo.livedoor.biz/" target="_blank">IPO・新規公開株日記</a></td>
<td>IPO・新規公開株に、初値予想だけを当てにしてひたすら申し込む株式投資初心者。ごくまれなIPO・新規公開株の当選＆初値売りと、落選の日々の日記ブログ。</td></tr>

</table>
</div>
</p>

<br />


<!----------------------------------------------------------------------------->

<p>
<div id="al-c">
<h3>お役立ちサイト</h3>

<table border="1" cellspacing="0" class="f10pt"  summary="リンク集">

<tr><td><a href="http://php.webnavisys.com/link1/" target="_blank">ＰＨＰプログラミングを楽しむサイト</a></td>
<td>PHPを使って作成したツールを公開しています。</td></tr>

<tr><td><a href="http://infoi.jp/" target="_blank">総合情報島</a></td>
<td>ＩＴ情報から、ゲーム情報まで幅広い情報を配信しています。</td></tr>

<tr><td><a href="http://keni-fanclub.com/" target="_blank">賢威FanClub</a></td>
<td>賢威ユーザーによる推薦文とリンク集</td></tr>

<tr><td><a href="http://saiseiken.rakurakuhp.com" target="_blank"><img src="http://program-tips.com/shadow-volume/banner/tohokudai.gif" width="145" height="30" alt="" /></a></td>
<td>東北大学法学部の自主ゼミ裁判制度研究会公式ホームページ。</td></tr>

<tr><td><a href="http://www.data-res9.net/" target="_blank">データ復旧</a></td>
<td>データ復旧（ハードディスク[HDD]、システム、ファイルの復元、修復）</td></tr>

<tr><td><a href="http://www.plastic-garage.com/" target="_blank">ウォーターサーバー 水 宅配</a></td>
<td>ウォーターサーバーや水の宅配に関する情報を紹介します。</td></tr>

<tr><td><a href="http://career.value-ark.com/" target="_blank">ITエンジニア専門の転職支援サイト「ハッピーエンジニア転職支援」</a></td>
<td>ＩＴエンジニアのキャリアアップを応援する独立・転職・派遣情報サイト</td></tr>

<tr>
<td><a href="http://www.shige-net.net/" target="_blank">育児 子育て 体験談</a></td>
<td>子育て体験記です。妊娠してから出産、育児まで、いろいろ経験したことを綴っていきます。</td>
</tr>

<tr>
<td><a href="http://www.media-ref.com/" target="_blank">妊娠 兆候 出産</a></td>
<td>妊娠から出産までの体験記です。初めての妊娠や出産に役立つサイトです。</td>
</tr>

<tr>
<td width="150"><a href="http://www.life-roots.com/" target="_blank">出産 体験記 妊娠</a></td>
<td>出産体験記～はじめての妊娠～</td>
</tr>

<tr>
<td width="150"><a href="http://www.eda-foods.com/" target="_blank">育児 体験記</a></td>
<td>育児体験記</td>
</tr>

<!--
<tr><td>リンクURL</td>
<td>サイトの説明がここに入ります。</td></tr>
-->

</table>
</div>
</p>
]]>
      
   </content>
</entry>

</feed>
