用户工具

站点工具


侧边栏

script:unityengine:classes:gl:gl.color

GL.Color 颜色

JavaScript ⇒ public static function Color(c: Color): void;
C# ⇒ public static void Color(Color c);

Description 描述

Sets current vertex color.

设置当前顶点颜色。

In OpenGL this matches glColor4f(c.r,c.g,c.b,c.a); on other graphics APIs the same functionality is emulated.

这个函数和OpenGL中的glColor4f(c.r,c.g,c.b,c.a)函数一样。其它的图形API也有对应的功能。

In order for per-vertex colors to work reliably across different hardware, you have to use a shader that binds in the color channel. See BindChannels documentation.

为了使每个顶点的颜色可靠地运行在不同的硬件上,你必须在shader中绑定在颜色通道里BindChannels { Bind “source”, target }。参见手册BindChannels章。

This function can only be called between GL.Begin and GL.End functions.

这个函数只能在GL.BeginGL.End 之间使用。

JavaScript:

	// Draws a red line from the bottom right
	// to the top left of the Screen
	// And a yellow line from the bottom left
	// to the top right of the Screen
	var mat : Material;
 
	function OnPostRender() {
		if (!mat) {
			Debug.LogError("Please Assign a material on the inspector");
			return;
		}
		GL.PushMatrix();
		mat.SetPass(0);
		GL.LoadOrtho();
		GL.Begin(GL.LINES);
		GL.Color(Color.red);
		GL.Vertex3(1,0,0);
		GL.Vertex3(0,1,0);
		GL.Color(Color.yellow);
		GL.Vertex3(0,0,0);
		GL.Vertex3(1,1,0);
		GL.End();
		GL.PopMatrix();
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    public Material mat;
    void OnPostRender() {
        if (!mat) {
            Debug.LogError("Please Assign a material on the inspector");
            return;
        }
        GL.PushMatrix();
        mat.SetPass(0);
        GL.LoadOrtho();
        GL.Begin(GL.LINES);
        GL.Color(Color.red);
        GL.Vertex3(1, 0, 0);
        GL.Vertex3(0, 1, 0);
        GL.Color(Color.yellow);
        GL.Vertex3(0, 0, 0);
        GL.Vertex3(1, 1, 0);
        GL.End();
        GL.PopMatrix();
    }
}

GL

script/unityengine/classes/gl/gl.color.txt · 最后更改: 2016/08/02 05:24 (外部编辑)