Release()
동적 할당한 DX 객체를 메모리 해제 시킬 때 사용하는 함수.
동적할당한 DX 객체는 C++의 delete 함수를 사용하면 안되고 DX의 Release() 함수를 통하여 메모리 해제 시켜주어야 한다.
Release 동작
DX 객체를 보면 IUnknown을 상속받은 것을 확인할 수 있는데,
IUnknown을 보면 멤버로 Refernce Count 값을 가지고 있는 것을 알 수 있다. 처음에 객체를 생성하면 Count 값이 1인 상태로 생성을 하게 되고, 프로그램 종료시 Release() 함수를 호출해주면 그 때 Count 값이 0으로 감소하면서, 0일 때 내부에서 스스로 삭제하게 된다.
즉, Release() 함수를 호출하면 바로 삭제되는 것이 아니고 참조 카운트를 감소시키고 내부에서 스스로 삭제하게 되는 것이다.
'개발 > DX11' 카테고리의 다른 글
[DX3D] 반사광 (0) | 2024.10.10 |
---|---|
[DX3D] 반사 벡터 (0) | 2024.10.10 |
[DX3D] Cube Mesh (0) | 2024.10.07 |
[DX11] 렌더링 파이프라인 (0) | 2024.05.09 |
[DX11] Device 초기화 및 렌더링 (2) | 2024.05.06 |