[OpenGL] 7. Shader Programming

scarleter99·2023년 5월 4일
0

OpenGL

목록 보기
7/10

📌 Shader Programming

Fixed Rendering Pipeline

  • Per-Vertex Lighting 계산만 지원한다.
    • Lighting 계산은 Vertex Processor에서만 이루어진다.
  • 하이라이트에서 오는 반사성 효과는 무시한다.

Programmable rendering pipeline

  • Per-Fragment Lighting 계산을 지원한다.
    • Lighting 계산이 Fragment Processor에서도 이루어진다.
    • Fragment Processor 이전엔 Surface Normal을 계산한다.
  • 하이라이트에서 오는 반사성 효과를 나타낼 수 있다.

GLSL

Shading Progress

  • 두 종류의 Shader를 지원한다.
    • Vertex Shader, Fragment Shader
  • C언어로 된 코드를 컴파일&링크하여 Shader Program으로 가공하여 그래픽카드에서 사용한다.

I/O Storage Qualifiers

  • Uniforms
    • 전역 값이며 렌더링 중 값이 변하지 않는다.
    • Vertex/Fragment Shader 모두 접근 할 수 있다.
    • Read-Only
  • Attributes
    • Vertex Shader의 입력 값이다.
    • Vertex만 접근 할 수 있다.
    • Read-Only
  • Varyings
    • Vertex Shader의 출력 값, Fragment Shader의 입력 값이다.
    • Vertex/Fragment Shader 모두 접근 할 수 있다.
    • Fragment Shader에서는 Read-only이다.

0개의 댓글