차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
unity:sl-shaderprograms [2015/05/21 15:42] – 링크가 옮기기 작업 때문에 적응했습니다 66.249.65.80unity:sl-shaderprograms [2018/02/22 03:04] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>유니티 unity}}
  
 ======Writing vertex and fragment shaders====== ======Writing vertex and fragment shaders======
줄 4: 줄 5:
 ''ShaderLab'' 쉐이더는 단순히 "hardware shaders"보다 더 많이 둘러싸고 있습니다. 그들은 많은 것들을 합니다. 그들은 제재 인스펙터에서 보여지는 속성들을 설명하고 다른 그래픽 하드웨어를 위해 다수의 쉐이더 구현을 포함합니다. 그리고 정해진 함수 하드웨어 상태를 구성합니다. 꼭지점 그리고 프래그먼트 프로그램처럼 실제 프로그램이 가능한 쉐이더는 전체ShaderLab의 쉐이더 컨셉의 단지 한 부분일 뿐입니다. 기본적인 지시사항을 위해서 [[ShaderTut2|shader tutorial]]를 살펴보시기 바랍니다. 우리는 낮은 레벨의 하드웨어  ''shader programs''를 부를 것입니다. ''ShaderLab'' 쉐이더는 단순히 "hardware shaders"보다 더 많이 둘러싸고 있습니다. 그들은 많은 것들을 합니다. 그들은 제재 인스펙터에서 보여지는 속성들을 설명하고 다른 그래픽 하드웨어를 위해 다수의 쉐이더 구현을 포함합니다. 그리고 정해진 함수 하드웨어 상태를 구성합니다. 꼭지점 그리고 프래그먼트 프로그램처럼 실제 프로그램이 가능한 쉐이더는 전체ShaderLab의 쉐이더 컨셉의 단지 한 부분일 뿐입니다. 기본적인 지시사항을 위해서 [[ShaderTut2|shader tutorial]]를 살펴보시기 바랍니다. 우리는 낮은 레벨의 하드웨어  ''shader programs''를 부를 것입니다.
  
-_사용자가 조명과 상호작용하는 쉐이더를 쓰기를 원한다면 [[unity:SL-SurfaceShaders|Surface Shaders]] 서류를 살펴보시기 바랍니다_. 이 페이지의 나머지 부분은Unity조명과 상호작용하지 않는 쉐이더를 가정할 것입니다 (예. 특수 효과, [[unity3d:comp-ImageEffects|Image Effects]] 등.)+_사용자가 조명과 상호작용하는 쉐이더를 쓰기를 원한다면 [[unity:SL-SurfaceShaders|Surface Shaders]] 서류를 살펴보시기 바랍니다_. 이 페이지의 나머지 부분은Unity조명과 상호작용하지 않는 쉐이더를 가정할 것입니다 (예. 특수 효과, [[comp-ImageEffects|Image Effects]] 등.)
  
 쉐이더 프로그램은 쉐이더 텍스트에 미리보기를 끼워넣음으로서 [[SL-Pass|Pass]] 명령안에 어딘가에 Cg / HLSL 언어로 쓰여집니다. 그들은 이것처럼 보입니다: 쉐이더 프로그램은 쉐이더 텍스트에 미리보기를 끼워넣음으로서 [[SL-Pass|Pass]] 명령안에 어딘가에 Cg / HLSL 언어로 쓰여집니다. 그들은 이것처럼 보입니다:
줄 28: 줄 29:
  
 미리보기의 시작에서 컴파일 지시어는 //#pragma// 문장으로 주어질 수 있습니다. Unity에 의해 인식되어지는 지시어는 다음과 같습니다: 미리보기의 시작에서 컴파일 지시어는 //#pragma// 문장으로 주어질 수 있습니다. Unity에 의해 인식되어지는 지시어는 다음과 같습니다:
-  * //#pragma vertex //name''// - 함수 //name//가 꼭지점 프로그램임을 나타냅니다.+  * // #pragma vertex //name// // - 함수 //name//가 꼭지점 프로그램임을 나타냅니다.
   * //#pragma fragment //name//// - 함수 //name//가 프래그멘트 프로그램임을 나타냅니다.   * //#pragma fragment //name//// - 함수 //name//가 프래그멘트 프로그램임을 나타냅니다.
   * //#pragma fragmentoption //option//// - 컴파일된OpenGL 프래그먼트 프로그램에 //option//을 추가합니다. 사용가능한 옵션의 리스트를 위해서 [[http://www.opengl.org/registry/specs/ARB/fragment_program.txt|ARB fragment program]] 상세 내용을 살펴보시기 바랍니다. 이 지시어는 꼭지점 프로그램이나OpenGL이 아닌 타겟으로 컴파일된 프로그램에서는 영향을 가지지 않습니다.   * //#pragma fragmentoption //option//// - 컴파일된OpenGL 프래그먼트 프로그램에 //option//을 추가합니다. 사용가능한 옵션의 리스트를 위해서 [[http://www.opengl.org/registry/specs/ARB/fragment_program.txt|ARB fragment program]] 상세 내용을 살펴보시기 바랍니다. 이 지시어는 꼭지점 프로그램이나OpenGL이 아닌 타겟으로 컴파일된 프로그램에서는 영향을 가지지 않습니다.
줄 58: 줄 59:
   * //xbox360// - Xbox 360.   * //xbox360// - Xbox 360.
   * //ps3// - PlayStation 3.   * //ps3// - PlayStation 3.
-  * //flash'' - Flash.+  * //flash// - Flash.
  
 예를 들어 이 라인은 쉐이더를D3D9 모드로 오직 컴파일 할 것입니다: 예를 들어 이 라인은 쉐이더를D3D9 모드로 오직 컴파일 할 것입니다:
줄 66: 줄 67:
 =====Subsections===== =====Subsections=====
  
-(:tocportion:)+      * [[SL-PropertiesInPrograms]] 
 +      * [[SL-VertexProgramInputs]] 
 +      * [[SL-BuiltinStateInPrograms]] 
 +      * [[SL-GLSLShaderPrograms]]
  
  
-{{tag>유니티 unity}} 
    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.SL-ShaderPrograms|유니티코리아위키]] (CC BY-NC-SA 2.0)    * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.SL-ShaderPrograms|유니티코리아위키]] (CC BY-NC-SA 2.0)
  

CC Attribution-Noncommercial-Share Alike 4.0 International 별도로 명시하지 않을 경우, 이 페이지의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Noncommercial-Share Alike 4.0 International
unity/sl-shaderprograms.1432222964.txt.gz · 마지막으로 수정됨 저자 66.249.65.80