言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Material.passCount

public var passCount: int;

Description

マテリアルのパスの数 (Read Only)

This is mostly used in direct drawing code using GL class. For example, Image Effects use materials for implementing screen post-processing. For each pass in the material they activate the pass (see SetPass) and draw a fullscreen quad. Here is an example of a full image effect that inverts the colors. Add this script to the camera and see it in play mode.

	private var mat : Material;

	function Start () {
		mat = new Material (
			"Shader \"Hidden/Invert\" {" +
			"SubShader {" +
			"	Pass {" +
			"		ZTest Always Cull Off ZWrite Off" +
			"		SetTexture [_RenderTex] { combine one-texture }" +
			"	}" +
			"}" +
			"}"
		);
	}

	function OnRenderImage (source : RenderTexture, dest : RenderTexture) {
		RenderTexture.active = dest;
		source.SetGlobalShaderProperty ("_RenderTex");

		GL.PushMatrix ();
		GL.LoadOrtho ();

		// for each pass in the material (one in this case)
		for (var i = 0; i < mat.passCount; ++i) {
			// activate pass
			mat.SetPass (i);
			// draw a quad
			GL.Begin( GL.QUADS );
			GL.TexCoord2( 0, 0 ); GL.Vertex3( 0, 0, 0.1 );
			GL.TexCoord2( 1, 0 ); GL.Vertex3( 1, 0, 0.1 );
			GL.TexCoord2( 1, 1 ); GL.Vertex3( 1, 1, 0.1 );
			GL.TexCoord2( 0, 1 ); GL.Vertex3( 0, 1, 0.1 );
			GL.End();
		}
		GL.PopMatrix ();
	}

See Also: SetPass function, GL class, ShaderLab documentation.