Texture(一)代碼生成圖片
02-03
了解Texture2D

是由一顆一顆像素組成的。
通常是由低到高,由左到右排列的。如果想要通過代碼操作像素,我們必須要知道像素的坐標位置,現在我們來驗證下是否真的如此排列。我們通過簡短的代碼,NEW一個圖片,並且根據X,Y軸對應R,G通道,逐像素賦值。我們將得到一張紅綠漸變圖,如下。

- TextureFormat是什麼
TextureFormat為貼圖的類型,ARGB32位,代表有ARGB4個通道,每個通道的顏色有8位,對應的還有A8,RGB24等。任何圖片從本質上就是這樣的。
而常見的JPG,PNG等是操作系統採用的壓縮/非壓縮讀取格式,ETC/DDS為圖形介面讀取的壓縮格式。
- 賦值完後為什麼要Apply
因為在貼圖更改像素時並不是直接對現在的內存進行更改,而是在另外一個內存空間中更改,這時候GPU還會實時讀取舊的貼圖位置。
當Apply後,更改後的內容才會應用到現在的內存中。
- 所有的圖片的像素排列順序都一樣嗎?
事實上OpenGL和DX在UV方向和取值上是不同的,在此我們應該感謝Unity3D為我們做的那些事,讓一切變得簡單。
製作一個簡單的筆刷
最終效果

實現輪廓


實現紋理


推薦閱讀:
※怎樣理解結構張量?
※ImagePy開發文檔 —— 宏引擎
※1.4【OpenCV圖像處理】Mat對象
※圖片一拉大就模糊!要不要試試無損放大圖片?
※圖像上的頻率指的是什麼?

