- Unity 2018 Shaders and Effects Cookbook
- John P. Doran Alan Zucconi
- 244字
- 2021-06-18 19:04:18
Adding a texture to a shader
Textures can bring our shaders to life very quickly in terms of achieving very realistic effects. In order to effectively use textures, we need to understand how a 2D image is mapped to a 3D model. This process is called texture mapping, and it requires some work to be done on the shader and 3D model that we want to use. Models, in fact, are made out of triangles, which are often referred to as polygons; each vertex on the model can store data that shaders can access and use to determine what to draw.
One of the most important pieces of information that are stored in vertices is the UV data. It consists of two coordinates, U and V, ranging from 0 to 1. They represent the XY position of the pixel in the 2D image that will be mapped to the vertices. UV data is present only for vertices; when the inner points of a triangle have to be texture-mapped, the GPU interpolates the closest UV values to find the right pixel in the texture to be used. The following diagram shows you how a 2D Texture is mapped to a triangle from a 3D model:
The UV data is stored in the 3D model and requires modeling software to be edited. Some models lack the UV component, hence they cannot support texture mapping. The Stanford bunny, for example, was not originally provided with one.
- The Complete Rust Programming Reference Guide
- 軟件界面交互設(shè)計(jì)基礎(chǔ)
- 認(rèn)識(shí)編程:以Python語言講透編程的本質(zhì)
- Learning Bayesian Models with R
- 實(shí)用防銹油配方與制備200例
- TypeScript圖形渲染實(shí)戰(zhàn):基于WebGL的3D架構(gòu)與實(shí)現(xiàn)
- Microsoft Azure Storage Essentials
- PHP+Ajax+jQuery網(wǎng)站開發(fā)項(xiàng)目式教程
- Canvas Cookbook
- AI自動(dòng)化測(cè)試:技術(shù)原理、平臺(tái)搭建與工程實(shí)踐
- Mastering PowerCLI
- Python趣味創(chuàng)意編程
- Web開發(fā)新體驗(yàn)
- Getting Started with the Lazarus IDE
- Build Your Own PaaS with Docker