TECHARTNOMAD | TECHARTFLOWIO.COM

프로그래밍 12

[번역][연재물] 언리얼 엔진 개발 가이드 Part-3

1 - Slate 개발Slate는 UE에서 제공하는 UI 프레임워크로, 핵심 이념은 다음과 같습니다:Slate 아키텍처|언리얼 엔진 5.2 문서UI의 기본 개념에 대해서는 다음을 참고하세요:현대 그래픽 엔진 입문 가이드 (7) - GUI기초UE에서 Slate를 사용할 때는 세 가지 핵심 구조를 이해해야 합니다:FSlateApplication : 전역 싱글톤으로, 모든 UI의 제어 센터입니다.SWindow : 최상위 윈도우로, 크로스 플랫폼 윈도우 인스턴스(FGenericWindow)를 보유하며 윈도우 관련 설정과 조작을 제공합니다.SWidget : 위젯으로, 윈도우 영역을 분할하고 해당 영역 내의 상호작용과 렌더링 이벤트를 처리합니다.기본 사용법UE에서 간단한 Slate 사용 예시는 다음과 같습니다:au..

TECH.ART.FLOW.IO 00:08:47

10장. Custom material GUI 작업 중.

커스텀 셰이더를 개발하기 위해서는 어느정도 커스텀 GUI 도 알면 좋기 때문에 어느정도 완성 된 API 를 제공 한 후 수정하는 과정을 배우게 된다.유니티 내장 GUI API 는 조금 복잡함으로 예전에 중국 모 기업에서 만들었던 API 를 간략화 해서 책에 담고 있다.커스텀 셰이더 개발 전이기 때문에 뭐 그냥 렌더링은 언릿과 다를바 없다.

[번역][연재물] 언리얼 엔진 개발 가이드 Part-2

역자의 글.봄이 오는가 싶더니 여전히 춥기도 하고 이게 지금 봄이 되는건지 겨울이 되는건지 알 길이 없을만큼 참 다이나믹한 날씨가 계속 되고 있어요. 그런데 말이죠. 생각해보면 우리들의 인생은 예전부터 계속 이래왔던게 아닌가 싶습니다. ㅎㅎ 갑자기 좀 센치해져봤어요.여전히 Italink 군의 멋진 정리글을 공유 해 봅니다. 에셋 시스템NewObject의 함수 원형은 다음과 같습니다:templateT* NewObject(UObject* Outer = (UObject*)GetTransientPackage());여기서 Outer는 부모 객체로 간단히 이해할 수 있으며, 주의할 점은 Outer가 UObject의 GC와는 관련이 없고, 에셋 저장 구조상의 관계를 지정하는 역할을 한다는 것입니다.UE에서 에셋 객체..

TECH.ART.FLOW.IO 2025.04.16

[번역][연재물] 언리얼 엔진 개발 가이드 Part-1

Italink 군의 멋진 연재글을 공유 해 봅니다. 원문 링크는 글 맨 하단에 있습니다.언리얼 엔진 C++ 프로그래밍 문서서문언리얼 엔진은 C++로 작성된 강력한 엔진이지만, 빌드 도구(UBT)와 리플렉션 컴파일러(UHT)의 존재로 인해 C++ 표준과는 독립적인 문법을 가지고 있어, 개발자들 사이에서는 U++라고 불립니다.문법상의 차이뿐만 아니라 언리얼 엔진의 개발 프로세스도 일반적인 C++ 개발 프로세스와는 매우 다릅니다. 예를 들어, STL 표준 라이브러리는 도구 상자(Toolkit)와 같아서 우리가 이를 사용해 개발하는 반면, 언리얼 엔진은 개발 플랫폼(Platform)에 가까워서 우리가 이를 기반으로 개발합니다.현재 U++ 관련 튜토리얼과 서적이 많지 않은데, 개발자들에게 유용한 주요 시리즈 글들..

TECH.ART.FLOW.IO 2025.04.16

쳅터9. 예제 제작 레퍼런스를 만들어봤다.

최대한 간단하면서 셀 스타일 셰이더 제작 예제에 적합한 걸 생각해 보니 동네 농구장에 나타날것만 같은 아이돌 스러운 17세 소녀.미드저니 결재 하기 싫어서 그냥 쳇지피티 볶아서 뽑아 봄.헤어랑 옷이랑 모델링 해야지. 쿨럭욜케 두 개가 마지막 후보 였는데 공동집필 하는 분이 긴머리 추천.

바인딩(Binding)과 바이닝(Binning)

그래픽스 프로그래밍을 공부하다 보면 "바인딩(Binding)"과 "바이닝(Binning)"이라는 용어를 접하게 된다. 두 용어는 비슷한 발음 때문에 혼동될 수 있지만, 의미하는 개념은 전혀 다르다. 이번 글에서는 이 두 용어의 차이점과 각각의 역할을 명확히 정리해보겠다.1. 바인딩(Binding) – GPU 리소스를 연결하는 과정바인딩(Binding)이란, 특정 리소스를 GPU에 연결(연동)하여 사용할 준비를 하는 과정을 의미한다. 그래픽스 API(OpenGL, Vulkan, DirectX 등)에서 셰이더, 텍스처, VBO(Vertex Buffer Object), 프레임버퍼 등을 사용할 때 반드시 필요한 단계로, GPU가 특정 데이터를 인식하고 활용할 수 있도록 지정하는 역할을 한다.예를 들어, Open..

9장. 셀 스타일 캐릭터 렌더링. 들어가는 글 소개.

총 15장 이상으로 구성 된 국내 최초의 찐 실무기반 셰이더 프로그래밍 책 이라고 말 할수 있을 만큼 공을 들여서 쓰고 있는 "모두의 셰이더 프로그래밍" 의 9장 도입문의 일부를 소개 합니다. 이 서적은 (주)책만 에서 출판 예정이며 2025년 상반기 출간을 목표로 하고 있습니다만~ 아마 이렇게 쓰면서 분량이 늘어나는 걸 보면 초여름에나 출간이 되지 않을까 싶어요.셀 스타일 렌더링(Cel Style Rendering)은 센과 치히로의 행방불명과 같은 애니메이션 또는 다양한 3D 게임에 사용되는 툰 렌더링(Toon Rendering)은 3D 컴퓨터 그래픽스에서 만화 스타일의 이미지를 표현하기 위해 개발된 렌더링 기법으로, 현실적인 조명과 질감보다는 단순화된 색상, 윤곽선, 그리고 명확한 음영을 강조한다. ..

동차 클립 공간(Homogeneous Clip Space) 동차 좌표 클리핑 공간

2025년 4월경(계획대로라면~)에 신간으로 출간 예정인 모두의 셰이더 프로그래밍(가제인데 매달 바뀌네요 생각이) 학습에 보충으로 필요할수도 있는 동차 클립 공간에 대한 간략한 내용입니다.선형 대수학에서 동차 좌표가 도입된 주된 이유는 평행 이동 변환의 문제를 해결하기 위해서입니다. 원점 불변성으로 인해 선형 변환에서 평행 이동을 처리하기 위해서는 차원을 하나 더 추가해야 합니다.이 공간이 정확히 무엇인지 많은 사람들이 혼란스러워하는데, 실제로는 카메라의 절두체 공간으로, 근평면(Near Plane)과 원평면(Far Plane) 사이의 영역을 의미합니다.이것은 Frustum(절두체)이라고도 합니다.이 절두체 공간에서 주의해야 할 몇 가지 사항이 있습니다:버텍스 셰이더의 출력은 HCS 공간의 정점 좌표입니..

VMF Diffuse: A Unified Rough Diffuse BRDF 간단 해석.

참조. VMF Diffuse: A Unified Rough Diffuse BRDF diglib.eg.org VMF Diffuse는 2024년 유진 디옹(Eugene d'Eon)과 안드레아 바이들리히(Andrea Weidlich)가 발표한 통합 러프 디퓨즈 BRDF(Bidirectional Reflectance Distribution Function) 모델입니다. 이 모델은 von Mises-Fischer(NDF)를 사용하여 다양한 거칠기를 가진 표면에서의 빛 산란을 정확하게 표현. 주요 특징:통합 표현: 매끄러운 램버시안(Lambertian) 표면부터 중간 정도의 거친 높이 필드, 그리고 매우 거칠거나 다공성인 재질까지 원활하게 표현된다. von Mises-Fischer NDF 사용: 폰 미제스-피셔(V..

[번역] HDRP에서 적응형 가상 텍스처 구현하기

저자초록프로젝트가 온라인 상태가 되고 마침내 다시 결합하고 이전 작업을 다시 한 번 검토하고 AVT 프로세스 구현에서 발생한 세부 사항을 기록하고 핵심 구현을 오픈 소스화 하고 기여자들을 끌어 들이기 위해 이렇게 공개하는 시간을 갖었다.나는 모든 사람이 함께 배우고 발전하기 위해 더 많은 오픈 소스 좋은 것을 제공하기를 바랍니다.https://github.com/lifangjie/HDRPVirtualTexture GitHub - lifangjie/HDRPVirtualTexture: Implementing Adaptive Virtual Texture in HDRPImplementing Adaptive Virtual Texture in HDRP. Contribute to lifangjie/HDRPVirtua..

TECH.ART.FLOW.IO 2025.01.09