-
OpenGL vs DirectX(Feat.Normal Map Format)쓰리디 2023. 8. 14. 23:00반응형
Maya Arnold는 OpenGL, Unreal Engine과 같은 경우에는 DirectX를 활용합니다.
OpenGL과 DirectX
SubstancePainter에서 OpenGL과 DirectX라는 두 가지 Graphic API가 있습니다.
Substance painter, 3D Texuture Tool만의 강점과 활용도
👉🏼 Texture Program에 대해서 궁금하신가요? 👉🏼2D Texture가 아닌, 3D Texture Program, SubstancePainter에 대해서 궁금하신가요? 3D Texture Substance Painter의 강점과 활용도를 알아봅시다. Adobe Texture DCC Tool, Su
sogi3d.xyz
이 두 기술 간의 차이를 이해하면 Texture 작업 중 정확한 작업이 가능합니다.
또한 Maya Arnold는 특히 OpenGL 및 Unreal Engine과 관련된 경우 DirectX를 자주 사용한다는 것을 이해하며 두 가지 API의 주요 차이점을 살펴보고 고유한 특성을 알아봅시다.SubstancePainter의 Normal Map Format을 두 가지 API로 알아보자
SubstancePainter와 같은 NormalMap을 생성 시, 오류가 생기는 경우가 많습니다.
각각의 플랫폼에 맞는 OpenGL, DirectX 즉, Graphic API를 이해하지 못하고 플랫폼을 설정한다면 그런 오류가 뜨기도 합니다.
Substance Painter는 주로 OpenGL을 사용하여 3D ViewPort를 렌더링하고 DirectX(Direct3D)는 Windows 시스템에서 그래픽을 렌더링 하는 데 사용할 수 있는 또 다른 그래픽 API입니다.SubstancePainter Normal Map Format(API) OpenGL과 DirectX의 가장 큰 차이 중 하나는 Normal Map의 방향입니다. Normal Map은 재질의 표면을 보다 자연스럽고 디테일하게 표현하기 위해 사용하는 기술로, 입체감을 높이는 데 큰 역할을 하겠습니다.
Normal이란?(점, 선, 면에서의 Normal과 Particle에서의 Normal)
Normal은 '바라보는 방향과 이동될 Vector'입니다 Normal? 얼핏 처음 봤을 때 '보통'이라고 생각이 드는데, 조금 더 검색을 하다 보면, '표준'라 말합니다. 사실 두개 다 맞는 말입니다. '바라보는 방향'
sogi3d.xyz
OpenGL
Open Source Graphic API, 즉 Open Gl은 플랫폼 간 호환성과 유연성이 돋보이는 개방형 Cross PlatForm Graphic Api입니다.
Substance Painter는 OpenGL을 사용하여 3D ViewPort를 제공하므로 아티스트는 텍스처가 3D 모델에서 실시간으로 어떻게 보이는지 확인할 수 있습니다.
OpenGL은 표준화된 그래픽 렌더링 방법을 제공하지만 때때로 실행 중인 하드웨어에 의해 제한될 수 있습니다. 이로 인해 사용자의 시스템 사양에 따라 성능 수준이 달라질 수 있습니다. 그러나 OpenGL의 호환성은 이용자가 다양한 플랫폼과 Device에서 즐길 수 있는 Texture와 Material을 제작할 수 있도록 합니다.👉🏼Arnold는, OpenGl을 Api로 활용합니다.
Maya에서 Arnold Render의 특징은?(Feat. MtoA?)
MtoA는 무엇을 의미하는 것일까요? Mto A는 Maya to Arnold의 약자로, Maya에서 활용되는 Arnold Render를 의미합니다. 그렇다면 MtoA의 특징이 어떻게 되는 걸 까요? Arnold Arnold Renderer는 Vray와 마찬가지로, Maya
sogi3d.xyz
Normal 방향때문에도 있지만, 그 외의 이유는 크로스 플랫폼 호환성입니다. OpenGL은 다양한 운영 체제에서 지원되기 때문에 Arnold는 여러 플랫폼에서 일관된 렌더링 경험을 제공할 수 있습니다. 또한, OpenGL은 렌더링 성능이 우수하며, Arnold의 렌더링 속도와 품질에 기여하겠습니다.
DirectX
MicroSoft의 Dynamic Graphic Api, DirectX는 주로 Windows 기반 시스템용으로 설계된 Microsoft의 독점 Graphic API입니다. DirectX는 Windows 성능을 활용하여 적합한 성능과 Quality 높은 Graphic을 제공하는 데 탁월합니다.
OpenGL과 달리 DirectX는 개발자에게 하드웨어별 최적화에 대한 더 많은 제어 기능을 제공하여 렌더링에 대한 보다 맞춤화된 접근 방식을 허용합니다. 이를 통해 특히 Windows 사용자의 경우 Substance Painter에서 일관된 경험을 얻을 수 있습니다. 그러나 DirectX의 Windows 독점성은 다른 운영 체제에서 작업하는 사용자의 접근성을 제한할 수 있습니다.
👉🏼Unreal Engine은 DirectX를 Api로 활용하겠습니다. 게임 개발에 사용되는 포괄적인 게임 엔진이죠.
(아래의 포스팅에서 DCC로 활용되는 UE를 이해할 수 있습니다.)
컨텐츠 제작, 3D디자인 에서의 DCC가 무엇을 의미하나?
👉🏼 컨텐츠 제작에서의 DCC는, Digital Create Contents의 약자로, 디지털 콘텐츠 제작 툴입니다. DCC Tool을 알아보자 DCC툴은 일반적으로 디지털 콘텐츠 제작 과정에서 사용되는 다양한 소프트웨어를
sogi3d.xyz
DirectX를 활용하는 이유 중 하나는 Microsoft의 주도 아래 Windows 운영 체제에 최적화되어 있기 때문입니다. DirectX는 Windows 플랫폼에서 원활한 그래픽 처리를 제공하며, Unreal Engine은 Windows 기반 게임 개발에 주로 사용되기 때문에 Direct X를 활용하겠습니다. 또한, UE으로의 텍스처 및 재질 전환이 간소화되고 최적화됩니다.
Normal Map관점에서의 OpenGL, DirectX
OpenGl과 DirectX는 GPU와 커뮤니케이션하기 위해 응용 프로그램에서 사용하는 두 개의 그래픽 API입니다.
따라서, SubstancePainter에서 Normal Map을 사용할 때는 사용하는 렌더링 엔진과 Normal Map의 방향이 어떤 것인지 고려하여 작업해야 합니다. 이를 고려하지 않으면 입체감을 높이는 대신, 재질의 표면이 깨지거나 이상하게 변형될 수 있습니다.가장 큰 차이는, Normal Map의 관점시, RGB Texture의 Green Channel을 해석할 때에 있습니다.
OpenGL에서 Normal Map은 OpenGL 좌표계에서 생성되기 때문에, Y축이 위쪽을 향합니다. 즉,첫 번째 픽셀이 가장 아래에 있을 것으로 예측합니다.
반면 DirectX에서 Normal Map은 DirectX 좌표계에서 생성되기 때문에, Y축이 아래쪽을 향합니다. 즉, 첫번째 픽셀이 가장 위에 있을 것으로 예측합니다.https://helpx.adobe.com/substance-3d-sampler/interface/preferences/normal-format.html 다시 말해, OpenGL의 Green channel 즉, Y가 +로 향하는 반면, DirectX는 Y가 -로 향하는 하향식으로 될 수 있습니다.
이러한 차이 때문에, Substance Painter에서 Normal Map을 사용할 때는 사용하는 렌더링 엔진과 Normal Map의 방향을 적절히 조절해야 합니다.만약 OpenGl Normal Channel을 DirectX Api에 활용해야 한다면, 이를 NormalMap의 Green Channel을 반전시켜, Pixel 값이 뒤집어야, 잘 호환할 수 있습니다.
그렇기 때문에, 아래의 이미지와 같이 다른 APi를 활용해야 한다면 Green Channel을 Invert를 하여 활용하기도 합니다.
출처 : https://blenderartists.org/t/whats-up-with-all-these-different-normal-map-formats/1127822
남만 알고 있는 쓰리디에 대한 정보를
속이 쓰리지 않게,
소기쓰리디반응형'쓰리디' 카테고리의 다른 글
Normal Map, Height Map 제작을 Photoshop에서 클릭 한번으로! (0) 2023.08.17 나만의 가상인간 무료로 만들어 보기 | Metahuman이란? 그리고 그 이점은 뭐야? (0) 2023.08.15 이미지의 GrayScale과 Maya 수치에서의 Float정보값 (feat.컴퓨터 0과 1) (0) 2023.08.12 SubstancePainter에서 Bake map이란? 방법과 그 이유는? (0) 2023.08.09 0.01초만에 2D를 3D로 제작하기(With. SVG File) (1) 2023.08.08