아....DirectX에서 페이드인, 아웃을 할려는데요..
페이드아웃 하고싶을때..
포인터로 페이드 클래스 동적 할당한후 생성하면..
사각형 하나 빌보드로 화면 바로 앞에 생성되고...
(처음부터 알파값을 가지고 있어서 투명입니다) 점점 알파값을 빼 주는 식으로 만들려는데요...
검은 상태에서 뒤에 화면들 바꿔주고..알파값을 다시 넣어줌과동시에 뒤에것들도 다시 그리는...
알파값을 다 넣은 후엔 페이드클래스 = NULL;
......
이런 방법도 괜찮은건가요? (눈가리고 아웅방식..;;)
노하우있으시면 알려주세용~^^
전체 페이드인 아웃을 할 경우에는 저렇게 거대한 빈 스프라이트 하나 깔구 알파값 조절을 하기도 하지만
그게 아니라 한 이미지의 페이드 인 아웃을 하는 경우에는 한 프레임의 렌더링 함수의 첫머리에 있는 화면 클리어의 색깔을 조절해서
그림 자체의 알파값만을 조정하는 방식을 쓰기도 합니다. 근데 이걸 3D에서 하게 되면 투명도가 변하면서 객체 뒤가 비쳐보이게 되니까 할 게 못되겠죠. 2D에서나 가능한 것...
모든 객체를 점진적으로 검은색으로 만드는 방법 역시 광원의 상태에 따라 달라보이게 되니까 광원도 손대야될거고... 오히려 불편할수도 있으니 그냥 기본적으로 검은 스프라이트 하나를 크게 띄워서 화면에 장막을 만드는 방식이 좋다고 봅니다.