Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

GL.Viewport

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function Viewport(pixelRect: Rect): void;
public static void Viewport(Rect pixelRect);

Parámetros

Descripción

Set the rendering viewport.

All rendering is constrained to be inside the passed pixelRect. If the Viewport is modified, all the rendered content inside of it gets stretched.

	// Draw a red Quad that covers all the view port, and the when space is pressed
	// the viewport gets expanded to the whole screen and stretch the contents inside
	var mat : Material;
	private var stretch : boolean = false;

function Update() { if(Input.GetKeyDown(KeyCode.Space)) { if(stretch) { stretch = false; } else { stretch = true; } } }

function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(); if(stretch) { GL.Viewport(Rect(0,0,Screen.width,Screen.height)); } else { GL.Viewport(Rect(0,0,Screen.width/2,Screen.height)); } GL.Color(Color.red); GL.Begin(GL.QUADS); GL.Vertex3(0,0,0); GL.Vertex3(0,Screen.height,0); GL.Vertex3(Screen.width,Screen.height,0); GL.Vertex3(Screen.width,0,0); GL.Color(Color.yellow); GL.End(); GL.Begin(GL.TRIANGLES); GL.Vertex3(Screen.width/2,Screen.height/4,1); GL.Vertex3(Screen.width/4,Screen.height/2,1); GL.Vertex3(Screen.width - Screen.width/4,Screen.height/2,1); GL.End(); GL.PopMatrix(); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Material mat; private bool stretch = false; void Update() { if (Input.GetKeyDown(KeyCode.Space)) if (stretch) stretch = false; else stretch = true; } void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(); if (stretch) GL.Viewport(new Rect(0, 0, Screen.width, Screen.height)); else GL.Viewport(new Rect(0, 0, Screen.width / 2, Screen.height)); GL.Color(Color.red); GL.Begin(GL.QUADS); GL.Vertex3(0, 0, 0); GL.Vertex3(0, Screen.height, 0); GL.Vertex3(Screen.width, Screen.height, 0); GL.Vertex3(Screen.width, 0, 0); GL.Color(Color.yellow); GL.End(); GL.Begin(GL.TRIANGLES); GL.Vertex3(Screen.width / 2, Screen.height / 4, 1); GL.Vertex3(Screen.width / 4, Screen.height / 2, 1); GL.Vertex3(Screen.width - Screen.width / 4, Screen.height / 2, 1); GL.End(); GL.PopMatrix(); } }