본문 바로가기

공부/DirectX3D14

[DirectX3D / Graphics] 조명효과 (Ambient . Diffuse . Specular . Phong Reflection) D3D를 공부하며 조명효과를 배우기 시작하여 관련 내용을 정리하고자 합니다. 가장 기본적으로 사용되는 조명 모델인 Phong Reflection(이하 퐁 모델) 그리고 퐁 모델을 위해 필요한 기본 모델들에 대하여 알아보도록 합니다. 우선 퐁 모델을 위해서는 기본적인 3개의 모델이 필요합니다. Ambient Diffuse Specular Shaders 필터의 hlsl 파일의 PS 코드를 참조 합니다. float4 PS(PixelInput input) : SV_TARGET { //world space light float3 light = normalize(-float3(1, -1, 1)); // 빛의 방향 벡터 //world space normal float3 normal = normalize(input.N.. 2023. 6. 7.
[DirectX3D] 레이 캐스팅 ( Ray Casting ) & 레이 트레이싱 ( Ray Tracing) (feat.충돌) 레이 캐스팅 ? 레이 캐스팅이란 빛(Ray)를 쏴서(Casting) 충돌한 물체의 표면을 감지하는 기술 입니다. 빛의 시작지점 부터 물체까지의 거리를 바탕으로 얼마나 가까이에 렌더링해야하는 지를 결정할 수 있습니다. 화면의 임의 위치에 모든 픽셀마다 카메라가바라보고 있는 방향으로 빛을 투사한 후 충돌체 까지의 거리를 구하여 충돌체 까지의 거리가 멀수록 가로 1픽셀 짜리 짧은 세로줄을 해당 합니다. 반대로 거리가 가까울 수록 가로 1픽셀 짜리 긴 세로줄을 해당 하여 그리는 방식으로 원근감이 있는 3D 느낌을 줄 수 있습니다. (즉, 멀수록 작아보이고 가까울 수록 커보이게 됩니다.) 위처럼 레이 캐스팅은 무한하게 뻗어있는 점들이 마치 선처럼 구성되어 있는 형태 입니다. D3D 에서 레이 캐스팅 관련 코드 예.. 2023. 5. 31.