Version: 2018.3 (switch to 2019.1)
LanguageEnglish
  • C#

Graphics.DrawTexture

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public static void DrawTexture(Rect screenRect, Texture texture, Material mat = null, int pass = -1);
public static void DrawTexture(Rect screenRect, Texture texture, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat = null, int pass = -1);
public static void DrawTexture(Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat = null, int pass = -1);
public static void DrawTexture(Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Color color, Material mat = null, int pass = -1);

Parameters

screenRectRectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.
texture Texture to draw.
sourceRectRegion of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.
leftBorderNumber of pixels from the left that are not affected by scale.
rightBorderNumber of pixels from the right that are not affected by scale.
topBorderNumber of pixels from the top that are not affected by scale.
bottomBorderNumber of pixels from the bottom that are not affected by scale.
color Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.
matCustom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.
passIf -1 (default), draws all passes in the material. Otherwise, draws given pass only.

Description

Draw a texture in screen coordinates.

If you want to draw a texture from inside of OnGUI code, you should only do that from EventType.Repaint events. It's probably better to use GUI.DrawTexture for GUI code.

using UnityEngine;

public class Example : MonoBehaviour { // Draws a texture on the screen at 10, 10 with 100 width, 100 height.

Texture aTexture;

void OnGUI() { if (Event.current.type.Equals(EventType.Repaint)) { Graphics.DrawTexture(new Rect(10, 10, 100, 100), aTexture); } } }

Did you find this page useful? Please give it a rating: