42Seoul/Cub3D

[Cub3D] mlx 함수 (1)

  • -
728x90

1. 디스플레이와 프로그램의 연결

mlx는 프로그램과 디스플레이 사이의 연결을 초기화 하기 위해서 mlx_init() 함수를 호출하여, 연결에 성공하면 void * 타입의 포인터를 연결 식별자로 반환한다.

 

2. 윈도우 생성

void	*mlx_new_window(void *mlx_ptr, int size_x, int size_y, char *title);
  • size_x, size_y로 새로 띄울 창의 너비와 높이를 설정할 수 있다.
  • title로 창의 이름을 설정할 수 있다.
  • 성공적으로 새로운 창을 생성했다면 void * 타입의 포인터를 연결 식별자로 반환한다.

3. 이미지 생성

void *mlx_new_image(void *mlx_ptr, int width, int height);
  • width, height로 이미지의 크기를 설정할 수 있다.
  • mlx_init()으로 받은 식별자를 mlx_ptr에 지정한다.
  • 성공적으로 이미지를 생성했다면 해당 이미지의 식별하는 void * 타입의 포인터를 반환한다.

4. 생성된 이미지의 정보 설정

char *mlx_get_data_addr(void *img_ptr, int *bits_per_pixel, int *size_line, int *endian);
  • img_ptr 식별자로 사용할 이미지를 지정한다.
  • mlx_get_data_addr()는 이미지가 저장되어있는 메모리의 시작 지점의 주소를 char* 타입으로 반환한다.
  • 성공적으로 호출된다면 다음 세 개의 매개변수에 값이 지정된다.
    • bits_per_pixel : 픽셀의 색상을 표현하는데 필요한 비트의 수가 입력된다.
    • size_line : 이미지 한 줄을 저장하는데 필요한 바이트 수가 입력된다.
    • endian : 픽셀 색상의 저장 방식이 little endian(0)인지 bigendian(1)인지를 나타낸다.

ko.wikipedia.org/wiki/%EC%97%94%EB%94%94%EC%96%B8

 

엔디언 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte

ko.wikipedia.org

5. 이미지 그리기

int mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y);

위 함수를 이용하여 x, y 위치에서부터 이미지를 그린다.

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.