1.3D원리를 이해
2.가속카드가 내장되어 있지 않는 모바일 기기등 개발
3.Shader Programming의 이해와 응용
4.3D 가속기 파이프라인 설계
폴리곤을 제일 빠르게 표현 ==> 화면에 출력하지 않는 것이다.
(최적화의 기본은 무리하게 많은 Data를 처리(화면으로 출력)하지 않는 것이다.)
폴리곤 렌더링의 경우 기본Data = 꼭지점(정점)에서 출발.
- Vector 곱셈
- _1.스칼라곱
- _2.내적; dot product/ innor product - 스칼라량으로 산출(cos - 정사영)
-.두벡터의 상대적인 각도를 알 수 있다.(내적이 양수이면 90도 이내, 음수이면 90도 이상)
-.2개의 벡터 P(Xp,Yp,Zp), Q(Xq,Yq,Zq)라 할때
P*Q = XpXq + YpYq + ZpZq = |P||Q|cos사이각
-.임의의 표면의 법선벡터와 시선벡터와의 내적값으로 은면제거에 이용
-.새로운 좌표계로 변환하고자 할때 새로운 좌표계의 축 벡터에 내적 연산을 통해 좌표계 변환
R(Xr,Yr,Zr)이고, 벡터 P,Q,R이 기저벡터라 할 때, V -> 변화된 벡터 W(Xw,Yw,Zw)는
Xw = P*V = XpXv + YpYv + ZpZv
Yw = Q*V = XqXv + YqYv + ZqZv
Zw = R*V = XrXv + YrYv + ZrZv
- _3.외적; cross product/ vector product - 면의 방향을 결정(sin - 면적)
-.교환법칙이 성리하지 않고, 왼손( D3D), 오른손(openGL) 좌표계는 방향이 반대
- 점광원(point light); 백열 전구를 모델링한 것으로, 점광원으로 주변으로 퍼져나가며 광원과 빛이 반사될 표면과의 거리의 제곱에 비례하여 밝기는 감쇠한다.
- _1.로로 셰이딩; 정점과 광원과의 벡터를 계산
- _2.퐁 셰이딩; 픽셀과 광원과의 벡터를 계산
- 법선맵핑은 법선 벡터의 기준 좌표계에 따라
- _1.오브젝트 공간 법선 맵(object space normal map)
-.오브젝트의 원점이 법선 벡터들의 원점, 가장 직관적
-.morphing되지 않는 벽면이나 바닥 등에서 사용하는 것이 좋다.
-.물체가 대칭을 이루더라도 법선 맵은 오브젝트 전체에 대해서 만들어야 한다.
- _2.접선공간 법선 맵(tangent space normal map)
-.모든 법선 벡터를 각 정점의 접선 공간으로 변환하여 보관
-.RGB 중에서 B 값이 255이므로 전체적으로 푸른색을 띤다.
- _3.저폴리곤 + 법선 맵 = 고폴리곤처럼 보여주는 기법
- _4.높이맵의 생성
-.높이 맵에 의한 생성법; NVIDIA의 포토샵 플러그인 또는 D3D의 D3DXComputeNormalMap()을 사용
-.오브젝트에 의한 생성법; ATI의 NormalMapper(맥스 스크립트) 또는 Discreet의 NormalRender 플러그인 사용
• ATI-style ; 그린 채널이 수직선 윗쪽
• NVIDIA-style ; 그린 채널이 수직선 아랫쪽
• 노말맵 백그라운드 컬러는 수직선이 바깥쪽으로 바라보는 디폴트 컬러 RGB(128, 128, 255)
-.ATI 기준으로 맵의 시계 방향으로 돌고 있을 때, red, green, blue, purple
(화살표를 스포트라이트 방향으로 생각)
- 평면의 방정식
1.좌표변환; 물체의 위치를 직접 변화
2.좌표계변환; 좌표계 자체를 바꾼다는 개념
3.좌표계의 명칭
Model/ Local/ Object/ Definition 좌표계 (물체의 모양 정의)
== WorldTM(matrix); 물체배치 ==> World/ Univers 좌표계
== ViewTM; 카메라 조작 ==> Camera/ View/ Eye 좌표계
== ProjectTM; 투영, FOV적용 ==> Clip 좌표계 (원근처리)
== 1/W; homogeneous ==> NDC (Normalized Deviec Coordinate; 정규 장치 좌표계)
-. 해상도가 달라져도 그대로 출력
== ViewTM ==> ViewPort/ Screen 좌표계 (Pixel 좌표계)
-. 좌표 1개 = 1 pixel에 대응
4.각각의 물체는 WorldTM으로 변환된 후에, World좌표계에 위치하며,
World 좌표계에 위치한 물체를 기준으로 렌더링된다.
5. WorldTM = ScaleTM * RotationTM * TraslateTM로 구성( D3D(CW/ 왼손좌표계)기준)
20030714 Vertor 소개, 합
20030715 Vertor 곱과 이론적 전개 -> Vertor class 구성
20030716 3*3행렬 -> Matrix class 구성
20030718 사원수(quaternion)의 이해
20030721 Software 3D Engine 수업시작
20030722 2D rotate & translate
20030723 3D Transformation
20030724 투영변환; 원근적용
20030725 원근적용 - 종횡비에 맞게 수정
20030728 Camera Lookat함수
IA-32A programmer's Guid
쿼드트리
|
얕은 지식은 위험하다.
FoafMacro
HelpOnLinking
책갈피_WorkToLook
바람_gems
|