Объявление
public static void TexCoord3(float x, float y, float z);Описание
Задает текущую координату текстуры (x,y,z) для всех текстурных блоков.
В OpenGL это соответствует glMultiTexCoord
для всех текстурных блоков или glTexCoord
, когда мультитекстурирование недоступно. В других графических API эмулируется та же функциональность.
Компонент Z используется только в следующих случаях:
1. Вы получаете доступ к кубической карте (к которой вы обращаетесь с векторной координатой, следовательно, x, y и z).
2. Вы выполняете «проективное текстурирование», когда координаты X и Y делятся на Z, чтобы получить окончательную координату. Это было бы в основном полезно для отражений воды и подобных вещей.
Эту функцию можно вызывать только между функциями GL.Begin и GL.End.
using UnityEngine;
public class Example : MonoBehaviour
{
// Draws a Quad in the middle of the screen and
// Adds the material's Texture to it.
Material mat;
void OnPostRender()
{
if (!mat)
{
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(1);
GL.LoadOrtho();
GL.Begin(GL.QUADS);
GL.TexCoord3(0, 0, 0);
GL.Vertex3(0.25f, 0.25f, 0);
GL.TexCoord3(0, 1, 0);
GL.Vertex3(0.25f, 0.75f, 0);
GL.TexCoord3(1, 1, 0);
GL.Vertex3(0.75f, 0.75f, 0);
GL.TexCoord3(1, 0, 0);
GL.Vertex3(0.75f, 0.25f, 0);
GL.End();
GL.PopMatrix();
}
}