일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Flutter
- docker
- C++
- c#
- HTML
- jupyter
- Unity
- C언어 포인터
- C# delegate
- 다트 언어
- Algorithm
- git
- c언어
- Data Structure
- github
- 유니티
- gitlab
- vim
- c# 윈폼
- c# 추상 클래스
- dart 언어
- 도커
- 구조체
- 깃
- 포인터
- Python
- Houdini
- c# winform
- jupyter lab
- 플러터
- Today
- Total
목록unity shader (2)
nomad-programmer
Warped Diffuse 기법은 가볍고도 응용이 편리해서 지금도 많이 사용되는 기법이다. 이 기법의 핵심 구현 기법은 빛 계산으로 쓰는 공식인 노멀과 라이트 벡터의 내적을 UV로 이용한다는 것이다. Shader "Custom/NewSurfaceShader" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _RampTex ("RampTex", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Warp noambient #pragma target 3.0 sampler2D _MainTex; sampler2D _RampTex;..
유니티 셰이더는 ShaderLab이라고 불리는 자체 스크립트 언어를 이용하고 있다. 스크립트는 일반적인 코딩과 약간 다른 방식으로 작성되며 문법도 약간 다르다. 굳이 이렇게 스크립트로 제작된 이유는 유니티의 특성과 사용자의 편의성 때문이다. 유니티는 멀티 플랫폼 제작이 자동으로 지원되는 엔진이다. 즉, 모바일이나 pc, 콘솔기기에 따라 제작되는 셰이더가 달라야 한다. 또한 셰이더는 글미자가 있을 때와 없을 때, 라이트맵이 있을 때와 없을 때 등 여러 가지 경우의 수에 따라 제작방법이 다르다. 다양한 경우의 수를 사용자가 제각각 작성하고 관리한다면 상당한 무리가 따를 수밖에 없다. 그래서 만들어진 유니티 내부의 셰이더 스크립트가 ShderLab이다. 이 스크립트를 사용하면 다양한 경우의 셰이더 분기를 자동..