민식이와부
취소

RealTimeRendering

3장 그래픽 처리 장치 모든 처리가 해결해야 하는 문제는 지연(latency)이다. 기본 개념은 처리할 정보가 처리장치에서 멀어질수록 대기 시간이 길어진다.(예를 들어 컴퓨트 셰이더의 경우, 장치메모리 > 공유 메모리 > 레지스터 순으로 속도가 빨라진다). 데이터 검색을 기다려서 처리장치가 정지 대기(stall)가 되어 성능이 떨어지는 것...

Ustruct

Assert

언리얼 Assert 함수 런타임 assert는 기본적으로 DO_CHECK 디파인이 true일 경우 실행 중지, 실행 중지 하지 않고 보고 유형이 있다. DO_GUARD_SLOW일 경우 디버그 빌드에서 실행중지 유형이 있다. DO_CHECK 계열 매크로(실행 중지) check(표현식) 표현식이 false면 실행 중지. 가장 간단한 형태의 ...

Interface, TSubclassOf

언리얼 Interface 개요 자바 등에서 사용하는 인터페이스와 같은 개념이다. 서로 관련이 없는 여러 클래스에서 공통적인 유틸리티 함수 세트가 필요할때, 인터페이스 클래스를 이용하면 된다. 인터페이스 클래스는 UCLASS 대신 UINTERFACE매크로를 사용한다. 실제 인터페이스가 아니라 언리얼 리플렉션 시스템에 등록하기 위한 비어있는 클...

CDO

언리얼 CDO란 무엇인가? 언리얼을 컴파일 하는 타임에 클래스의 메타 데이터가 UCLASS에 담긴다. 이는 런타임의 클래스의 타입의 빠른 체크와 검색을 위함이다. 언리얼 실행 초기에 언리얼 오브젝트마다 클래스 정보와 언리얼 오브젝트의 인스턴스가 생성된다.이 인스턴스를 CDO라고 한다. CDO는 언리얼 오브젝트의 기본 세팅을 가지고 있는 일종의 템...

Lamda식

lambda,closure, capture에 대해 설명하라. (c++과 다른 언어 비교 설명) c++ 람다 표현식은 기본적으로 함수의 형태를 띄지만 함수의 이름은 존재하지 않고 시그니처(리턴 값과 파라메터 등)만 존재하는 함수식이다. 기본 표현 방법은 다음과 같다. [capture](paratmeter)->ret...

Delegate

델리게이트는 무엇인가 델리게이트란 대리자라는 뜻으로서 함수를 바인딩하는 형태로 등록하여 콜백함수처럼 사용 할 수 있다. 다음 예시를 보자. BoxComp의 OnComponentHit 이벤트가 발생하면, 바인딩 되어있는 AOnComponentHit::OnComponentHit가 호출되는 것이다. 파라메터의 갯수에 따라서 One_param, ...

형변환

언리얼 형변환은 어떻게 이루어지는가? c++ 언리얼은 기본적으로Cast를 사용하여 형변환을 진행한다. 이 Cast는 UObject 타입에 대해서만 쓰이고 타입 안정성을 지닌다. 유효하지 않은 casting에 대해선 (ex:상속구조가 다르다거나) nullptr을 리턴한다는 이야기이다. 기본적으로 Cast를 썼을때, ...

자체 미니 엔진 제작

개요 DirectX11를 이용하여 미니 자체 엔진을 만드려고 한다. 수년전부터 생각만 했었고, 여러가지 핑계를 이유로 진행하지 못하였었다. 앞으로 열심히 다시 진행하려고 한다. 쓰일 기술 스택, 라이브러리는 다음과 같다. DirectX 11 WinUI3(Windows app SDK) Assimp(Asset Import Library) ...

형변환, c++11기타

C++ 기존 형변환 Cast에는 어떤 것들이 있나? static_cast 가장 기본적인 캐스팅. C 스타일 캐스팅과 다를 바 없어 보이나 형변환이 불가능한 타입으로 캐스팅 시에는 컴파일 단에서 에러를 발생시킨다. 번거롭더라도 C스타일의 캐스팅은 지양하고, 기본적으로 static_cast를 사용하는 것이 좋다. dynam...

인기 태그
인기 태그