Intro::Intro()
{
SDL_Surface* temp_surface = IMG_Load("Resources/intro.png"); // 이미지를 가져와 메인메모리(CPU)에 할당한다.
texture_ = SDL_CreateTextureFromSurface(g_renderer, temp_surface); // CPU에 있는 이미지를 그래픽메모리에 할당
SDL_FreeSurface(temp_surface); // 메인메모리(CPU)에 있는 데이터를 삭제한다.
SDL_QueryTexture(texture_, NULL, NULL, &source_rectangle_.w, &source_rectangle_.h); // 텍스트 정보를 가져온다.
destination_rectangle_.x = source_rectangle_.x = 0; // source_rectangle은 원래 이미지의 시작이미지 destination은 가져올 이미지의 시작이미지
destination_rectangle_.y = source_rectangle_.y = 0;
destination_rectangle_.w = source_rectangle_.w; // 이말은 사진의 원래 크기만큼 생성한다는 말
destination_rectangle_.h = source_rectangle_.h;
}
void Intro::Render()
{
SDL_SetRenderDrawColor(g_renderer, 255,255,255,255); // 배경의 색을 지정해주는 함수
SDL_RenderClear(g_renderer); // clear the renderer to the draw color
SDL_RenderClear(g_renderer); // clear the renderer to the draw color
SDL_RenderCopy(g_renderer, texture_, &source_rectangle_, &destination_rectangle_); // 그림을 그리기 위한 함수 범위를 전체로 하고싶다면 포인터대신 NULL
SDL_RenderPresent(g_renderer); // draw to the screen // 위에 가져온 그림을 화면에 출력
}
댓글 없음:
댓글 쓰기