
파이프라인
Vertex Specification
입력된 정점의 기하 정보를 처리하는 단계
Primitive Assembly
정점을 결합하여 기본 형태(primitive)로 변환 - 점, 선, 삼각형
Rasterization
3차원 좌표로 표시되는 정점을 2차원 좌표계로 변환하는 과정
Fragment Shader
픽셀의 색상 처리
셰이더 Shader
프로램 가능한 파이프라인(Programmable Pipeline). 프로그래밍 언어를 사용하여 렌더링 결과를 변경 가능
- HLSL Hight Level Shader Language
- GLSL OpenGL Shader Language
레지스터 Register
실수(float) 형식의 4개를 묶어 사용
데이터 형
- 벡터 vec2, vec3, vec4: 좌표(xyzw), 텍스처 좌표(stpq), 색상(rgba)의 어트리뷰트로 접근 가능
- 행렬 mat2, mat3, mat4: 열 우선. 아래 행렬의 경우 다음과 같이 저장: [a11, a21, a31, ..]
- mat3: 3x3 행렬
- mat4: 4x4 행렬
- mat3x4: 3x4 행렬
- 구조체 선언 가능
스위즐링 Swizzling
v.xxyy;
v.argb;
v.zw;
함수 인자
// 반환용 키워드: out
void foo( in float x, out float y, inout float z ) {
...
Uniform 레지스터
프로그래머블한 변수를 설정하는 역할. 카메라 행렬, 화면 크기 등
uniform mat4 xform;
한정자 Qualifier
const
volatile
readonly / writeonly
highp / medump / lowp 실수 정밀도
precision lowp float;
https://www.khronos.org/opengl/wiki/Type_Qualifier_(GLSL)
3D 월드 좌표계

소스
삼각형 그리기 https://github.com/ehei1/learnOpenGL/tree/main/02%20HelloTriangle