728x90

์—ฐ๊ฒฐ๋œ TIL

 

Unity Shader

์œ ๋‹ˆํ‹ฐ์—์„œ๋Š” CgFX, Direct3D Effects(.FX)์™€ ์œ ์‚ฌํ•œ, ShaderLab์ด๋ผ๋Š” ์–ธ์–ด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•ด Material์ด ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์งˆ์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

Shader ์ข…๋ฅ˜

Unlit์€ ๋ผ์ดํŒ… ์ ์šฉ X, Ray Tracing์€ ํ•œ๋•Œ ์œ ๋ช…ํ–ˆ๋˜ ๊ทธ ๋น›๋ฐ˜์‚ฌ์ธ๋ฐ ์–ด์ฐจํ”ผ ๋‚ด๊ฐ€ ์“ธ ์ผ์€ ์—†์Œ..

Surface Shader Programming

๋น›๊ณผ ๊ทธ๋ฆผ์ž์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์‰์ด๋”

Vertex and Fragment Shader Programming

Surface๋ณด๋‹ค ์ž์œ ๋„๊ฐ€ ๋†’์œผ๋ฉฐ, ๋น›๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ๋ณด๋‹ค๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์‰์ด๋”

Fixed Function Shader Programming

์œ ๋‹ˆํ‹ฐ์—์„œ Shader๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹

 

 

 

Shader Code ๊ธฐ๋ณธ ๊ตฌ์กฐ

Shader "Category/ShaderName" {

	Properties
	{
		// Shader์˜ ์†์„ฑ
		// Inspector์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•œ ์†์„ฑ
		_SampleColor ("NameColor", TypeColor) = (R, G, B, A)
		// ๋‚ด๋ถ€์ฐธ์กฐ์šฉ์ด๋ฆ„ ("Inspector์šฉ์ด๋ฆ„", ์†์„ฑ ํƒ€์ž…) = (๊ธฐ๋ณธ๊ฐ’)
	}
    
	SubShader
	{
		CGPROGRAM
        
			Pass{}
			// GPU์— ๋„˜๊ฒจ์ค„ ์ž‘์—…์„ ๊ธฐ์ˆ ํ•œ๋‹ค.
			// ์—ฌ๋Ÿฌ Pass๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๋ฉ€ํ‹ฐํŒจ์Šค๋ผ ํ•œ๋‹ค.
        
		ENDCG
	}
    
	Fallback "Diffuse" // ๊ฐ€์žฅ ๋‚ฎ์€ ํ’ˆ์งˆ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

	// SubShader๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ๋‹ค.
	// HW ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ์ ์šฉ๋˜๋Š” SubShader๊ฐ€ ๋‹ค๋ฆ„.
	// ๊ฐ€์žฅ ์ƒ์œ„ Shader๊ฐ€ ์šฐ์„  ์ ์šฉ๋œ๋‹ค.
}

Property Type ๋ชฉ๋ก

 

 

์‚ฌ์šฉ

Shader ์ƒ์„ฑ

Material์— Shader ์ ์šฉ

Object์— Material ์ ์šฉ

 

 

 

์ฐธ๊ณ 

๋”๋ณด๊ธฐ

 

 

Unity Shader ํŠœํ† ๋ฆฌ์–ผ

์œ ๋‹ˆํ‹ฐ์—์„œ ์ง€์›ํ•˜๋Š” ์‰์ด๋”์˜ ์ข…๋ฅ˜์™€ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ , ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์‰์ด๋” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค. ์‰์ด๋”(Shader)์˜ ์ข…๋ฅ˜ ์œ ๋‹ˆํ‹ฐ์˜ ์‰์ด๋”๋Š” 3๊ฐ€์ง€ ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค (1) Su

velog.io

 

 

์œ ๋‹ˆํ‹ฐ - ๋งค๋‰ด์–ผ: ์‰์ด๋” ๋ ˆํผ๋Ÿฐ์Šค

์„œํ”ผ์Šค ์‰์ด๋” ์ž‘์„ฑ ์‰์ด๋” ๋ ˆํผ๋Ÿฐ์Šค Unity ์‰์ด๋”๋Š” ๋‹ค์Œ์˜ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์œ ํ˜•์„ ์„ ํƒํ•˜๋ ค๋ฉด shader tutorial์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์„ ํƒํ•œ ์œ ํ˜•์— ๊ด€

docs.unity3d.com

 

 

์œ ๋‹ˆํ‹ฐ - ๋งค๋‰ด์–ผ: ShaderLab: Pass

ShaderLab: Culling & Depth Testing ShaderLab: Pass Pass ๋ธ”๋ก์€ ์˜ค๋ธŒ์ ํŠธ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๋ Œ๋”๋งํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ๋ฒ• Pass { [Name and Tags] [RenderSetup] } ๊ธฐ๋ณธ์ ์ธ pass ๋ช…๋ น์€ ๋ Œ๋”๋ง ์„ค์ • ๋ช…๋ น์˜ ์˜ต์…˜ ๋ชฉ๋ก์„

docs.unity3d.com

728x90

+ Recent posts