TIL
20210321(일) : cub 진행상황 본문
우선 말하면, 진전은 없었습니다.
리눅스 환경에서 작업한 작업물을 MAC환경으로 이식해서 진행하려니까, 미리 컴파일 라이브러리의 구분이 이루어졌음에도, 너무많은 잔 에러들이 생기더라고요..
padding을 고려해주지 않았을 때는.. 화면이 padding때문에 k - n만큼 밀리게 되면서 화면이 깨져보이는 사태가 발생합니다.
mms라이브러리는 픽셀을 정확히 x * y만큼의 픽셀로 구성하지 않고, 특별히 n 픽셀만큼을 더 줍니다.
- 리눅스에서는 metal을 사용하는 mms라이브러리를 사용하지 않는데, 리눅스 mlx판에서는 돌아가던게 mms판에서는 화면이 깨지는 상황이 발생했습니다.이유는 다음과 같습니다.
mms의 mlx는 bits per pixel이 4byte로 같지 않을 수 있습니다. 따라서, x * y + n만큼의 픽셀을 할당하게되는것이죠.
이는 mms의 mlx만의 특성인듯 합니다. opengl mlx버전에서는 화면깨짐현상이 발생하지 않았거든요.
따라서, 이미지 버퍼를 int *형으로 선언했다면, 이는... padding을 고려해주지 않은 상태로 픽셀에 값을 넣어주게 되어 화면 padding 때문에 k - n 만큼 픽셀이 밀리게 되면서 화면이 깨집니다.
즉, mms버전에서는 x * y + n 픽셀을 가지고 놀아야하는것이죠.. char *형으로 buffer를 만든 뒤, bits per pixel을 사용하여 buffer를 계산해주었다면, 고려해주지 않아도 되는 문제지만...이식성을 고려한다면, char *형으로 진행하는게 맞습니다.
저는 int *형으로 간단히 만들었기 때문에 문제가 발생했습니다.
이것 때문에, 거의 5시간을 잡아먹었습니다. - MAC 버전에서는 mms라이브러리와 opengl형 라이브러리를 사용합니다.이 때, linux환경에서 개발을 한 뒤에 mac으로 이식해주게 되면, X icon을 눌렀을 때, 프로그램이 종료되게 하는 Xevent 매크로가 달라지게 되어, MAC에서는 알 수 없는 오류가 납니다.
- 이 때문에 6시간 가량을 날렸습니다...
- LINUX 버전에서는 mlx_linux판을 가지고 놀게 됩니다.
상기 이유때문에, 동료들과 머리를 맞대고 해결하려 했으나, 원인만 찾고 정작 진전은 없었네요..
'2021 > 일일 기록' 카테고리의 다른 글
2021-03-31(수) : 데이터분석, cub 진행 상황 (0) | 2021.04.01 |
---|---|
2021-03-30 : 데이터분석 (0) | 2021.03.30 |
20210319(금) : cub 진행 상황 (0) | 2021.03.20 |
20210318(목) : cub 진행상황 (0) | 2021.03.19 |
20210317(수) : cub 진행상황 (0) | 2021.03.18 |
Comments