HLSL(9)
-
[Unity] URP 셰이더 HLSL Lambert 셰이더
Shader "Custom/BRDF/Lambert" { Properties { [MainTexture] _BaseMap("Base Map", 2D) = "white" {} [MainColor][HDR]_BaseColor("BaseColor", Color) = (1, 1, 1, 1) } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Pa..
2023.06.10 -
[Unity] URP 셰이더 HLSL 텍스쳐 적용
HLSL의 변수 float4 testVar; //초기 값 없이 변수만 선언 float4 testVar = float4(1,2,3,4); // 초기 값과 함께 변수 선언 float2 newVar1 = testVar.xy; float2 newVar2 = testVar.zw; float3 newVar3 = testVar.zxy; 위와 같이 구성 성분을 조합해서 사용 가능하다. testVar.xygb //Error testVar.xx = float(1, 2); //Error (xx가 문제) xyzw 방식과 rgba 방식을 혼용할 수 없다. HLSL의 함수 half4 frag(Varyings IN) : SV_Target { half4 color = SAMPLE_TEXTURE2D(_BaseMap, sampler_B..
2023.06.09 -
[Unity] URP 셰이더 HLSL 구조와 _BaseColor 적용
ShaderLab ShaderLab은 범용적인 HLSL만으로는 유니티 3D 엔진만의 여러 기능들을 제어할 수 없어서 만든 규칙이다. OpenGL이나 HLSL 같은 셰이더 언어는 유니티 엔진이 존재하기 전부터 사용된 언어이기 때문. 특징은 간단한 문법 구조를 가지고 있고 엔진 기능들에 관련된 것들이다. 직접적으로 셰이딩 연산에 관한 것들은 없다. // 이것은 주석입니다. (Comment) Shader "Custom/ShaderLab HLSL/CustomUnlit" { Properties { } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex ve..
2023.06.08