Software/DirectX
-
13. 빛Software/DirectX 2024. 5. 24. 10:00
Table of Contents1. 평행광(directional light)2. 점광(point light)2. 점적광(spot light)1. 평행광(directional light)아주 멀리 있는 광원(ex 태양)의 빛모든 입사광선이 서로 평행물체와 광원의 거리가 내는 효과는 무시 (일정한 빛의 세기)방향 벡터 하나로 결정됨directional lightfloat3 ComputeDirectionalLight(Light L, Material mat, float3 normal, float3 toEye){ // 빛 벡터는 광선이 나아가는 반대방향 float3 lightVec = -L.Direction; // 빛의 세기를 람베르트 코사인 법칙에 따라 줄임 float ndotl = max..
-
12. 조명Software/DirectX 2024. 5. 24. 09:53
Table of Contents1. 빛과 재질의 상호작용 1.1 재질(material) 1.2 국소 조명 모형(local illumination model) 1.3 전역 조명 모형(global illumination model)2. 법선 벡터(Normal Vector) 2.1 정점 법선 평균 기법(vertex noraml averaging) 2.2 변환행렬 적용 법선 벡터3. 빛 벡터(light vector)4. 람베르트 코싸인 법칙5. 분산 조명(diffuse reflection)6. 주변 조명(Ambient light)7. 반영 조명(Specular reflection)8. 프레넬 효과(Fresnel effect)9. 셰이더에서의 빛 계산1. 빛과 재질의 상호작용이 전까지의 공부에서는 정점의..
-
11. D3D 그리기 연산2Software/DirectX 2024. 5. 24. 09:50
Table of Contents1. 지형2. 파도와 동적 정점버퍼1. 지형삼각형 격자 메시 하나를 생성한 후, 정점들의 높이를 적절히 조정해서 지형을 만들 수 있다.격자 정점정보 생성, 격자 색인정보 생성, y값 추출해서 높이 조절하는 순서로 지형을 만든다. 1-1 격자 정점 및 색인 생성MeshData GeometryGenerator::CreateGrid(float width, float depth, uint32 m, uint32 n){ MeshData meshData; uint32 vertexCount = m*n; uint32 faceCount = (m-1)*(n-1)*2; float halfWidth = 0.5f*width; float halfDepth = 0.5f*d..