summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Lukas Jiriste [Thu, 25 Apr 2024 07:51:18 +0000 (09:51 +0200)]
Add tags file to .gitignore
Lukas Jiriste [Thu, 25 Apr 2024 07:45:11 +0000 (09:45 +0200)]
Fuse the mandelbrot and julia set structures
These had different structures because of the anticipation of
differences between input for these fractals. This however makes
parsing more difficult. Having a single structure with fields that
may not be utilized by every fractal seems to be the more reasonable
option.
Lukas Jiriste [Thu, 25 Apr 2024 07:38:57 +0000 (09:38 +0200)]
Fix argument parsing so as not to ignore input
The -f option did not work, because the fractal was set to mandelbrot
after the option parsing. Other options could have also been affected.
Lukas Jiriste [Thu, 25 Apr 2024 07:32:56 +0000 (09:32 +0200)]
Fix halo around the fractals
This halo is caused by returning 0 instead of using the proper formula
for points too far from origin. Setting the return value for such
points to the value of on the inner border of the halo fixes this.
Lukas Jiriste [Thu, 18 Apr 2024 09:50:33 +0000 (11:50 +0200)]
Add color shift in time
For this I had to create new matrix that holds the same info as did
the image. The image is then constructed from this matrix by adding
a value that changes in time.
Lukas Jiriste [Thu, 18 Apr 2024 07:57:14 +0000 (09:57 +0200)]
Fix centering and movement for small windows
Centering was calculated based on default values hence it was wrong for
different sizes of window. Solved by moving the calculation after
argument parsing.
Movement was impossible for small windows, as the calculated movement
was smaller than a pixel which got rounded to 0. Solved by assigning
signum of movement when 0 is calculated.
Lukas Jiriste [Wed, 10 Apr 2024 12:07:18 +0000 (14:07 +0200)]
Add option to select the fractal to draw
Lukas Jiriste [Wed, 10 Apr 2024 11:30:03 +0000 (13:30 +0200)]
Fix rectangular windows, add argument parsing
When height and width were not the same, the program would crash
because the access to a matrix had rows and columns switched.
(image x axis corresponds with column number of matrix)
Add 4 options for argument parsing:
height
width
(level of) detail
(maximum) undersample
Lukas Jiriste [Wed, 10 Apr 2024 11:29:06 +0000 (13:29 +0200)]
Update Libft for the ft_isint function
Lukas Jiriste [Wed, 10 Apr 2024 10:20:50 +0000 (12:20 +0200)]
Add the bare bones of parsing.
Lukas Jiriste [Wed, 10 Apr 2024 10:16:11 +0000 (12:16 +0200)]
Update minilibx so that it works properly on close
When closing the window using the close button, valgrind makes a fuss
because minilibx checks the memory location it just cleared.
In this update this is rectified and closing using the window
button does not raise any problem.
Lukas Jiriste [Fri, 19 Jan 2024 13:58:48 +0000 (14:58 +0100)]
Refactor pixel handling functions from main.c
Lukas Jiriste [Fri, 19 Jan 2024 12:45:58 +0000 (13:45 +0100)]
Hardcode threshold value for mandelbrot and tricorn
Lukas Jiriste [Fri, 19 Jan 2024 11:02:41 +0000 (12:02 +0100)]
Add tricorn fractal, move fractals to separate file
Lukas Jiriste [Thu, 18 Jan 2024 16:18:46 +0000 (17:18 +0100)]
Refactor mandelbrot const vars to setting variable
Add settings (t_set set) as a member to t_session.
It is constructed as a union of settings type of each fractal, which may
prove useless if the settings for mandelbrot (t_set_man)
cover all the needs of other fractals. This seems unlikely however.
Add t_set_jul as a placeholder for the concept to be illustrative.
Lukas Jiriste [Thu, 18 Jan 2024 10:01:54 +0000 (11:01 +0100)]
Make it so move only calculates the new area
Only the area that has not been displayed before the move needs to be
calculated. The area of the window that does not move outside the window
need not be recalculated. Implement this functionality.
Lukas Jiriste [Thu, 18 Jan 2024 07:48:51 +0000 (08:48 +0100)]
Add undersample_max as variable
This makes it possible to choose maximum undersample at runtime
(e.g. pass it as argument).
Lukas Jiriste [Wed, 17 Jan 2024 14:02:12 +0000 (15:02 +0100)]
Change the code without much to show for it
Change the code so that adding partial picture construction is easier in
the future. Changes also support drawing in worse resolution.
Needs refactoring of main.c and possible checking the header files.
Lukas Jiriste [Wed, 17 Jan 2024 09:34:55 +0000 (10:34 +0100)]
Add check to mandelbrot to for visual correctness
Coordinates too far from the fractal had incorrect color.
Lukas Jiriste [Wed, 17 Jan 2024 09:34:00 +0000 (10:34 +0100)]
Add zoom capability through keypad +/- keys
Lukas Jiriste [Tue, 16 Jan 2024 13:31:51 +0000 (14:31 +0100)]
Add the ability to move with WASD and arrow keys
Lukas Jiriste [Tue, 16 Jan 2024 09:55:23 +0000 (10:55 +0100)]
Repair Makefile after previous commit
Lukas Jiriste [Tue, 16 Jan 2024 09:38:15 +0000 (10:38 +0100)]
Change Makefile to download submodules
Add target %/Makefile to Makefile and add Makefiles of subprojects as
prerequisites for compilation. This ammends the situation when after git
clone, the submodule folders are empty nad compilation fails because
header files are missing.
Lukas Jiriste [Tue, 16 Jan 2024 09:22:22 +0000 (10:22 +0100)]
Update Libft
Update Libft (not needed?).
Change Makefile to reflect changes in Libft structure.
Add debug target to Makefile which compiles with -g and propagates to
Libft.
Lukas Jiriste [Tue, 5 Dec 2023 19:20:21 +0000 (20:20 +0100)]
Add general function for constructing Julia sets
This function has different prototype that mandelbrot function so some
work should be done about unifying it for easier swapping of the two.
This function may be used to construct specialized functions.
Lukas Jiriste [Tue, 5 Dec 2023 18:52:17 +0000 (19:52 +0100)]
Split event handling from main. Add color smoothing.
Move event handling (and no_event_handle) functions to
event_handling.c.
Add smoothing to mandelbrot output.
Lukas Jiriste [Sat, 11 Nov 2023 17:51:58 +0000 (18:51 +0100)]
Add 42 header to each .c and .h file
Lukas Jiriste [Sat, 11 Nov 2023 17:44:45 +0000 (18:44 +0100)]
Generalize palette construction
Add general approach to constructing palletes with "equidistant
partitioning" of colors. Change mandelbrot in main accordingly, but it
should probably be separated to another file (fractals.c?)
Remove (comment out) enhancement of computed fractal when no event
happens, because it causes valgrind to report issues. Further
investigation needed.
Lukas Jiriste [Sat, 11 Nov 2023 17:25:16 +0000 (18:25 +0100)]
Add hook to make window closeable by close button
Lukas Jiriste [Sat, 11 Nov 2023 16:49:20 +0000 (17:49 +0100)]
Add clean and fclean rules to Makefile
Lukas [Wed, 8 Nov 2023 09:21:23 +0000 (10:21 +0100)]
Update Libft for reliable make.
Lukas [Wed, 8 Nov 2023 09:14:55 +0000 (10:14 +0100)]
Finish the foundation, provide basic functionality
Make structural changes to project for easier handling and addition of
palettes and fractals.
Introduce the executable actually working. It draws mandelbrot set.
Add zoom in/out functionality.
Introduce some color issues (needs investigation).
Lukas [Fri, 3 Nov 2023 10:36:35 +0000 (11:36 +0100)]
Save work down so far for access from elsewhere
This should not really be a commit, but I can access it from another
location this way. The changes will be listed in the following commit
hopefully.
Lukas [Thu, 2 Nov 2023 10:19:40 +0000 (11:19 +0100)]
Make program print Mandelbrot set, close on ESC
Lukas Jiriste [Wed, 1 Nov 2023 12:41:04 +0000 (13:41 +0100)]
Add .gitignore
Add .gitingore to this project and update Libft to also include
.gitignore file in order not to disturb the git status command's results
when run on built project.
Lukas Jiriste [Fri, 27 Oct 2023 13:02:59 +0000 (15:02 +0200)]
Create this repo, Makefile and test program
This program creates Hello world window.