<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=%E3%83%95%E3%82%A9%E3%82%B0</id>
	<title>フォグ - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=%E3%83%95%E3%82%A9%E3%82%B0"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=%E3%83%95%E3%82%A9%E3%82%B0&amp;action=history"/>
	<updated>2026-06-04T03:33:47Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=%E3%83%95%E3%82%A9%E3%82%B0&amp;diff=11117&amp;oldid=prev</id>
		<title>2019年7月23日 (火) 03:01に124.87.119.49による</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=%E3%83%95%E3%82%A9%E3%82%B0&amp;diff=11117&amp;oldid=prev"/>
		<updated>2019-07-23T03:01:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2019年7月23日 (火) 03:01時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;2行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;2行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 概要 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 概要 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[プリレンダリング]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;では主に遠近感を出したい�場合に薄いフォグを掛けるという手法が用いられる。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[プリレンダリング]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;では主に遠近感を出したい場合に薄いフォグを掛けるという手法が用いられる。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[ゲーム]]などの[[リアルタイムレンダリング]]では遠方にあるモデルを真面目に描画すると無駄に重くなるので、濃いフォグを掛けて「これ以上は見えません（描画しません）」としてしまう手法として用いられることが多い。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[ゲーム]]などの[[リアルタイムレンダリング]]では遠方にあるモデルを真面目に描画すると無駄に重くなるので、濃いフォグを掛けて「これ以上は見えません（描画しません）」としてしまう手法として用いられることが多い。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot;&gt;51行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;51行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;当然ながらBasicEffectではなく自前の[[シェーダー]]を使う場合は自前実装になる。自前実装する場合はググって一般的なフォグの実装を移植するのが簡単だと思われる。[[github]]からBasicEffectの[[ソースコード]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;を落としてきて眺めてみたが、他の処理の絡みもあって「ソース読め」とは言えないレベルで複雑なことになっている。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;当然ながらBasicEffectではなく自前の[[シェーダー]]を使う場合は自前実装になる。自前実装する場合はググって一般的なフォグの実装を移植するのが簡単だと思われる。[[github]]からBasicEffectの[[ソースコード]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;を落としてきて眺めてみたが、他の処理の絡みもあって「[[ソース読め]]」とは言えないレベルで複雑なことになっている。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Metal ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Metal ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>124.87.119.49</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=%E3%83%95%E3%82%A9%E3%82%B0&amp;diff=11116&amp;oldid=prev</id>
		<title>124.87.119.49: ページの作成:「&#039;&#039;&#039;フォグ&#039;&#039;&#039;（英語：fog）とは、3DCGにおいて、カメラから一定以上の距離の描画を霧がかったようにすることをいう。  ==…」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=%E3%83%95%E3%82%A9%E3%82%B0&amp;diff=11116&amp;oldid=prev"/>
		<updated>2019-07-23T03:00:24Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「&amp;#039;&amp;#039;&amp;#039;フォグ&amp;#039;&amp;#039;&amp;#039;（&lt;a href=&quot;/wiki/%E8%8B%B1%E8%AA%9E&quot; title=&quot;英語&quot;&gt;英語&lt;/a&gt;：fog）とは、&lt;a href=&quot;/wiki/3DCG&quot; title=&quot;3DCG&quot;&gt;3DCG&lt;/a&gt;において、カメラから一定以上の距離の描画を霧がかったようにすることをいう。  ==…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;フォグ&amp;#039;&amp;#039;&amp;#039;（[[英語]]：fog）とは、[[3DCG]]において、カメラから一定以上の距離の描画を霧がかったようにすることをいう。&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
[[プリレンダリング]]では主に遠近感を出したい�場合に薄いフォグを掛けるという手法が用いられる。&lt;br /&gt;
&lt;br /&gt;
[[ゲーム]]などの[[リアルタイムレンダリング]]では遠方にあるモデルを真面目に描画すると無駄に重くなるので、濃いフォグを掛けて「これ以上は見えません（描画しません）」としてしまう手法として用いられることが多い。&lt;br /&gt;
&lt;br /&gt;
== 実装 ==&lt;br /&gt;
[[PC]]が低速だった時代の古い[[Direct3D]]や[[OpenGL]]などでは「強烈なフォグを掛けてあたりまえ」であったため標準機能として備わっていた。&lt;br /&gt;
&lt;br /&gt;
[[プログラマブルシェーダー]]全盛時代に入るとフォグまで自前で実装する風潮になり、最近の[[DirectX 12]]や[[Metal]]、[[VulKan]]、[[WebGL]]では標準でフォグを書ける機能はバッサリ削除されている。これらでフォグを使いたければ自前で[[シェーダー]]を実装する必要がある。&lt;br /&gt;
&lt;br /&gt;
=== Direct3D （シェーダー未使用） ===&lt;br /&gt;
古いDirectXでシェーダーを使わない、シェーダーがない世代では以下のような実装であった。&lt;br /&gt;
デバイス（≒[[GPU]]、稀に[[CPU]]でGPUを[[エミュ]]）にパラメーターを渡す感じだね。&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
DWORD Color;&lt;br /&gt;
DWORD Mode;&lt;br /&gt;
float Start = 0.5f;&lt;br /&gt;
float End = 0.8f;&lt;br /&gt;
float Density = 0.66f;&lt;br /&gt;
&lt;br /&gt;
// フォグを有効にする&lt;br /&gt;
m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGENABLE, TRUE);&lt;br /&gt;
&lt;br /&gt;
// フォグカラーを設定する&lt;br /&gt;
m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGCOLOR, Color);&lt;br /&gt;
&lt;br /&gt;
// その他のパラメーターを設定する&lt;br /&gt;
if (Mode == D3DFOG_LINEAR)&lt;br /&gt;
{&lt;br /&gt;
    m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGTABLEMODE, Mode);&lt;br /&gt;
    m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGSTART, *(DWORD *)(&amp;amp;Start));&lt;br /&gt;
    m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGEND, *(DWORD *)(&amp;amp;End));&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
    m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGTABLEMODE, Mode);&lt;br /&gt;
    m_pDevice-&amp;gt;SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&amp;amp;Density));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MonoGame ===&lt;br /&gt;
[[MonoGame]]ではBasicEffectクラスにFogEnabledなどのプロパティが用意されており、BasicEffectを使う限りは簡単に利用できる。こちらは内部的にはシェーダーでの実装となっている。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
basicEffect.FogEnabled = true;&lt;br /&gt;
basicEffect.FogColor = Color.White.ToVector3();&lt;br /&gt;
basicEffect.FogStart = 9.75f;&lt;br /&gt;
basicEffect.FogEnd = 10.25f;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
当然ながらBasicEffectではなく自前の[[シェーダー]]を使う場合は自前実装になる。自前実装する場合はググって一般的なフォグの実装を移植するのが簡単だと思われる。[[github]]からBasicEffectの[[ソースコード]]を落としてきて眺めてみたが、他の処理の絡みもあって「ソース読め」とは言えないレベルで複雑なことになっている。&lt;br /&gt;
&lt;br /&gt;
=== Metal ===&lt;br /&gt;
そのうち書く。&lt;br /&gt;
&lt;br /&gt;
=== Vulkan ===&lt;br /&gt;
そのうち書く。&lt;br /&gt;
&lt;br /&gt;
=== WebGL ===&lt;br /&gt;
知らんがな。&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[コーネルボックス]]&lt;br /&gt;
* [[フラットシェーディング]]&lt;br /&gt;
* [[グローシェーディング]]&lt;br /&gt;
&lt;br /&gt;
[[category: 3DCG]]&lt;/div&gt;</summary>
		<author><name>124.87.119.49</name></author>
	</entry>
</feed>