언리얼/Shading

언리얼5 기본 셰이딩 따라하기 - 5 (Raymarching)

스스배 2023. 12. 25. 15:59

https://www.youtube.com/watch?v=dSY_8Ii-HcI

 

Raymarching 이란?

 

 

일반적으로 정점정보와 텍스처 정보를 이용해 물체를 표현하지만 

Raymarching은 정점 정보와 텍스처 정보가 없이 픽셀 단계에서 물체를 표현하는 기법

 

카메라의 거리를 이용해서 물체를 그려주는 방법

 

장점
  - 교차점(각진 부분) 표현이 어려울 때 레이트레이싱보다 낫다.

  -  Rasterized 렌더링에 비해 라이팅이 현실적이다.

  - 병렬화 계산(GPU 연산)에 적합하다. (각 광선은 다른 광선과 독립적으로 계산된다)
  - 곡면 필드 렌더링이 비교적 쉽다.

 

단점
  - 복잡한 다각형 메시를 렌더링 할 때 레이트 레이싱보다 성능이 더 나쁘다.

  - Fragment / Compute 셰이더를 사용할 때 재귀성 문제가 일어난다.

 


언리얼에서 표현하기

 

 

HLSL 코드

float3 rayOrigin = viewDir - worldPos;
float3 rayStep = viewDir * 1;

for(int i = 0; i < 256; i++)
{
    float dist = length(rayOrigin - sphereCenter) - sphereRadius;

    if (dist < 0.01)
    {
        return float3(1, 0, 0);
    }

    opacityMask = 1;
    rayOrigin += rayStep;
}

opacityMask = 0;
return(0,0,0);

 


출처

https://m.blog.naver.com/trashia/222017755988

 

[연재] First Raymarching Shader for UE4

#3 Hlsl with custom node (UE4) #Raymarching for artists #UE4 이번 시간에는 저번 시간에 이어 C...

blog.naver.com

https://studyfield.tistory.com/503

 

[HKU] 렌더링 기법 RayTracing, RayMarching, PathTracing 장점과 단점 비교

HKU 대학교 Niel 교수님의 오늘 맡아주신 수업 내용을 요약했습니다. RayTracing : RayTracing : 가상적인 광선이 물체의 표면에서 반사되어, 카메라를 거쳐 다시 돌아오는 경로를 계산한다. 적게는 물체

studyfield.tistory.com