miniLibX (mlx) 라는 간단한 그래픽 라이브러리를 이용하여 프랙탈 그리기
fract-ol
miniLibX mlx
- mlx 라이브러리의 사용법을 익힌다.
- fractal에 대해 공부한다.
- GPU의 GLSL 같은 것을 사용할 수 없고 CPU로만 연산을 해야하는 상황에서 hook 만으로 어떻게 최적화를 해야할지 고민하게 된다.
- mlx 라이브러리의 코드는 주어진다.
다음 사항을 지키지 않으면 0점 받을 것이다.
- 코드는 norm을 준수해서 작성되어야 한다.
- 어떤 상황에서도 프로그램은 segment fault, bus error, dangling pointer 등으로 중단되어서는 안 된다. (평가자가 특정 상황을 저격해서 만들어 낼 수 있음)
- heap에 할당된 모든 메모리는 적절하게 해제되어야 한다. 메모리 누수가 생겨서는 안 된다.
- gcc -Wall -Wextra -Werror 플래그로 컴파일해야 한다.
- Makefile은 relink 되어서는 안 된다.
- malloc, free
- open, close, read, write
- printf
- perror, strerror, exit
- Julia와 Mandelbrot set을 시각화 해야 한다.
- 마우스 휠은 컴퓨터 한계까지 무한히 돌아야 한다.
- 프랙탈의 depth를 나타내기 위해 색을 사용해야 한다.
- 프로그램 파라미터로 어떤 프랙탈을 나타낼지 들어가야 한다. 파라미터가 비었거나 잘못 됐으면 가능한 파라미터와 속성들을 리스트해야 한다.
- 줄리아 셋은 파라미터를 통해 다르게 보여줄 수 있어야 한다.
- ESC를 누르면 종료해야 한다.
- minilibX의 images를 사용하는게 권장된다. (왜 사용하는지 이유도 알아야 되는 거임)
- 다른 프랙탈 하나를 더 구현하라.
- 마우스 포지션에 따라 줌을 하라.
- 방향키로 움직여라.
- 색을 바꿀 수 있는 기능을 넣어라.