Skip to content

Commit edec7c1

Browse files
authored
Merge pull request #16 from gdtknight/develop
Refactor naming, headers, and include dependencies
2 parents 3298d19 + 16cfd21 commit edec7c1

90 files changed

Lines changed: 373 additions & 696 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ endif
3838

3939
SRCS = $(SRC_DIR)/main.c \
4040
$(SRC_DIR)/scene/scene.c \
41-
$(SRC_DIR)/scene/scene_flags.c \
4241
$(SRC_DIR)/scene/object_list.c \
4342
$(SRC_DIR)/parser/parser.c \
4443
$(SRC_DIR)/parser/parser_dispatch.c \
@@ -49,11 +48,8 @@ SRCS = $(SRC_DIR)/main.c \
4948
$(SRC_DIR)/parser/parse_cone.c \
5049
$(SRC_DIR)/parser/parse_bonus_options.c \
5150
$(SRC_DIR)/parser/parse_number.c \
52-
$(SRC_DIR)/parser/parse_number_utils.c \
53-
$(SRC_DIR)/parser/parse_token.c \
5451
$(SRC_DIR)/parser/parse_line_reader.c \
5552
$(SRC_DIR)/parser/parse_error.c \
56-
$(SRC_DIR)/parser/parse_error_msg.c \
5753
$(SRC_DIR)/parser/parse_validation_strict.c \
5854
$(SRC_DIR)/parser/parse_vector_validation.c \
5955
$(SRC_DIR)/spatial/aabb.c \
@@ -118,14 +114,14 @@ SRCS = $(SRC_DIR)/main.c \
118114
$(SRC_DIR)/texture/texture_utils.c \
119115
$(SRC_DIR)/math/vec3.c \
120116
$(SRC_DIR)/math/vec3_ops.c \
121-
$(SRC_DIR)/bvh_vis/bvh_vis_init.c \
122-
$(SRC_DIR)/bvh_vis/bvh_vis_tree.c \
123-
$(SRC_DIR)/bvh_vis/bvh_vis_node.c \
124-
$(SRC_DIR)/bvh_vis/bvh_vis_format.c \
125-
$(SRC_DIR)/bvh_vis/bvh_vis_stats.c \
126-
$(SRC_DIR)/bvh_vis/bvh_vis_prefix.c \
127-
$(SRC_DIR)/bvh_vis/bvh_vis_prefix_push.c \
128-
$(SRC_DIR)/bvh_vis/bvh_vis_print.c \
117+
$(SRC_DIR)/bvh_debug/bvhd_init.c \
118+
$(SRC_DIR)/bvh_debug/bvhd_tree.c \
119+
$(SRC_DIR)/bvh_debug/bvhd_node.c \
120+
$(SRC_DIR)/bvh_debug/bvhd_format.c \
121+
$(SRC_DIR)/bvh_debug/bvhd_stats.c \
122+
$(SRC_DIR)/bvh_debug/bvhd_prefix.c \
123+
$(SRC_DIR)/bvh_debug/bvhd_prefix_push.c \
124+
$(SRC_DIR)/bvh_debug/bvhd_print.c \
129125
$(SRC_DIR)/utils/error.c \
130126
$(SRC_DIR)/utils/format_helpers.c \
131127
$(SRC_DIR)/utils/timer.c
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* ************************************************************************** */
22
/* */
33
/* ::: :::::::: */
4-
/* bvh_vis.h :+: :+: :+: */
4+
/* bvh_debug.h :+: :+: :+: */
55
/* +:+ +:+ +:+ */
66
/* By: yoshin <yoshin@student.42gyeongsan.kr> +#+ +:+ +#+ */
77
/* +#+#+#+#+#+ +#+ */
@@ -10,8 +10,8 @@
1010
/* */
1111
/* ************************************************************************** */
1212

13-
#ifndef BVH_VIS_H
14-
# define BVH_VIS_H
13+
#ifndef BVH_DEBUG_H
14+
# define BVH_DEBUG_H
1515

1616
# include "spatial.h"
1717

@@ -65,39 +65,39 @@ typedef struct s_traverse_ctx
6565
} t_traverse_ctx;
6666

6767
/* Public API */
68-
void bvh_visualize(t_bvh *bvh, t_vis_config *config, void *scene);
69-
t_vis_config bvh_vis_default_config(void);
68+
void bvhd_run(t_bvh *bvh, t_vis_config *config, void *scene);
69+
t_vis_config bvhd_default_config(void);
7070

7171
/* Initialization and configuration */
72-
int bvh_vis_get_terminal_width(void);
73-
void check_edge_cases(t_bvh *bvh, t_vis_config *config);
72+
int bvhd_get_terminal_width(void);
73+
void bvhd_check_edges(t_bvh *bvh, t_vis_config *config);
7474

7575
/* Tree traversal and display */
76-
void bvh_visualize_tree(t_bvh_node *node, t_traverse_ctx *ctx,
76+
void bvhd_print_tree(t_bvh_node *node, t_traverse_ctx *ctx,
7777
t_bvh_stats *stats);
7878

7979
/* Node formatting */
80-
t_node_info format_node_info(t_bvh_node *node);
81-
int is_leaf_node(t_bvh_node *node);
82-
void format_object_list(t_object_ref *objects, int count,
80+
t_node_info bvhd_format_node(t_bvh_node *node);
81+
int bvhd_is_leaf(t_bvh_node *node);
82+
void bvhd_format_objects(t_object_ref *objects, int count,
8383
char *buffer, void *scene);
8484

8585
/* Statistics */
86-
void bvh_collect_statistics(t_bvh_node *node, t_bvh_stats *stats);
87-
void collect_stats_recursive(t_bvh_node *node, t_bvh_stats *stats,
86+
void bvhd_collect_stats(t_bvh_node *node, t_bvh_stats *stats);
87+
void bvhd_collect_recursive(t_bvh_node *node, t_bvh_stats *stats,
8888
int depth);
89-
void print_statistics_summary(t_bvh_stats *stats);
89+
void bvhd_print_stats(t_bvh_stats *stats);
9090

9191
/* Prefix management */
92-
t_prefix_state prefix_init(void);
93-
int prefix_push(t_prefix_state *state, int is_last);
94-
void prefix_pop(t_prefix_state *state);
95-
void prefix_print(t_prefix_state *state);
96-
void prefix_destroy(t_prefix_state *state);
92+
t_prefix_state bvhd_prefix_init(void);
93+
int bvhd_prefix_push(t_prefix_state *state, int is_last);
94+
void bvhd_prefix_pop(t_prefix_state *state);
95+
void bvhd_prefix_print(t_prefix_state *state);
96+
void bvhd_prefix_destroy(t_prefix_state *state);
9797

9898
/* Output primitives */
99-
void print_node_line(t_prefix_state *prefix, t_node_info *info,
99+
void bvhd_print_node(t_prefix_state *prefix, t_node_info *info,
100100
int is_last);
101-
void print_warning_message(const char *message);
101+
void bvhd_warn(const char *message);
102102

103103
#endif
Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* ************************************************************************** */
22
/* */
33
/* ::: :::::::: */
4-
/* mlx_context.h :+: :+: :+: */
4+
/* display.h :+: :+: :+: */
55
/* +:+ +:+ +:+ */
66
/* By: yoshin <yoshin@student.42gyeongsan.kr> +#+ +:+ +#+ */
77
/* +#+#+#+#+#+ +#+ */
@@ -10,8 +10,10 @@
1010
/* */
1111
/* ************************************************************************** */
1212

13-
#ifndef MLX_CONTEXT_H
14-
# define MLX_CONTEXT_H
13+
#ifndef DISPLAY_H
14+
# define DISPLAY_H
15+
16+
# include "mlx.h"
1517

1618
/**
1719
* @brief MLX image data structure
@@ -51,4 +53,9 @@ void mlx_img_destroy(t_mlx_img *img, void *mlx);
5153
/* Pixel operations */
5254
void mlx_img_put_pixel(t_mlx_img *img, int x, int y, int color);
5355

56+
/* MLX event callbacks (src/display/) */
57+
int close_window(void *param);
58+
int handle_key(int keycode, void *param);
59+
int handle_expose(void *param);
60+
5461
#endif

includes/hud.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,6 @@ void hud_get_selection_from_global(t_selection *sel, int idx,
175175
*/
176176
void hud_format_float(char *buffer, double value);
177177

178-
/*
179-
** Internal helper functions for formatting (implemented using libft)
180-
*/
181-
void ft_strcpy(char *dst, const char *src);
182-
void ft_itoa_buf(char *buf, int n);
183-
184178
/*
185179
** Format vec3 to string "(x, y, z)" with 2 decimal places.
186180
** Example: {1.5, 2.3, 3.7} -> "(1.50, 2.30, 3.70)"

includes/hud_internal.h

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,30 @@
1313
#ifndef HUD_INTERNAL_H
1414
# define HUD_INTERNAL_H
1515

16-
# include "minirt.h"
16+
# include "vec3.h"
17+
18+
typedef struct s_render t_render;
1719

1820
/* HUD text utilities */
1921
void hud_mark_dirty(t_render *render);
2022
void hud_print_line(t_render *r, int *y, int color, char *text);
21-
void format_and_print_vec3(t_render *render, int *y,
23+
void hud_print_vec3(t_render *render, int *y,
2224
char *label, t_vec3 vec);
2325
int hud_append(char *dst, const char *src, int max);
2426

2527
/* HUD scene info sections */
2628
void hud_render_camera(t_render *render, int *y);
27-
void render_camera_fov(t_render *render, int *y);
29+
void hud_render_camera_fov(t_render *render, int *y);
2830
void hud_render_ambient(t_render *render, int *y);
2931
void hud_render_light(t_render *render, int *y);
30-
void render_light_bright(t_render *render, int *y);
32+
void hud_render_light_bright(t_render *render, int *y);
3133

3234
/* HUD object list */
3335
void hud_render_objects(t_render *render, int *y);
34-
void render_object_entry(t_render *render, int idx, int *y, int color);
36+
void hud_render_object_entry(t_render *render, int idx, int *y, int color);
37+
38+
/* HUD format helpers */
39+
void hud_strcpy(char *dst, const char *src);
40+
void hud_itoa_buf(char *buf, int n);
3541

3642
#endif

includes/input.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,4 @@ void handle_object_rotate(t_render *render, int keycode);
130130
/* Rodrigues rotation */
131131
t_vec3 rodrigues_rotate(t_vec3 v, t_vec3 k, double angle);
132132

133-
/* Window expose handler */
134-
int handle_expose(void *param);
135-
136133
#endif

includes/intersect.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
# include "ray.h"
1717

1818
/* Ray-object intersection functions */
19-
int intersect_object_new(t_ray *ray, t_object *obj, t_hit *hit);
20-
int intersect_cylinder_new(t_ray *ray, t_cylinder_data *c, t_color color,
19+
int intersect_object(t_ray *ray, t_object *obj, t_hit *hit);
20+
int intersect_cylinder(t_ray *ray, t_cylinder_data *c, t_color color,
2121
t_hit *hit);
22-
int intersect_cone_new(t_ray *ray, t_object *obj, t_hit *hit);
22+
int intersect_cone(t_ray *ray, t_object *obj, t_hit *hit);
2323
int intersect_cone_body(t_ray *ray, t_cone_data *c, t_hit *hit);
2424

2525
#endif

includes/metrics.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,6 @@ typedef struct s_metrics
5252
t_bvh_metrics bvh;
5353
} t_metrics;
5454

55-
/* Timer utilities */
56-
void timer_start(struct timeval *tv);
57-
long timer_elapsed_us(struct timeval *start);
58-
double timer_elapsed_ms(struct timeval *start);
59-
6055
/* Metrics operations */
6156
void metrics_init(t_metrics *metrics);
6257
void metrics_start_frame(t_metrics *metrics);

includes/parser.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#ifndef PARSER_H
1414
# define PARSER_H
1515

16-
# include "minirt.h"
16+
# include "scene.h"
1717

1818
/* Constants */
1919

@@ -55,7 +55,7 @@ typedef struct s_line_reader
5555
int buf_len;
5656
int line_num;
5757
int line_too_long;
58-
int io_error;
58+
int error;
5959
} t_line_reader;
6060

6161
/*
@@ -73,7 +73,7 @@ typedef struct s_error_context
7373
* Line Reader API
7474
*/
7575

76-
int line_reader_init(t_line_reader *reader, int fd);
76+
void line_reader_init(t_line_reader *reader, int fd);
7777
char *line_reader_next(t_line_reader *reader);
7878
int line_reader_get_line_num(t_line_reader *reader);
7979

@@ -83,7 +83,6 @@ int line_reader_get_line_num(t_line_reader *reader);
8383

8484
t_parse_result parse_double(const char *str, double *value, const char **end);
8585
t_parse_result parse_int(const char *str, int *value, const char **end);
86-
int parse_is_digit(char c);
8786
double parse_int_part(const char **str, int *has_digits);
8887
double parse_frac_part(const char **str, int *has_digits);
8988

@@ -99,9 +98,6 @@ int at_line_end(const char *str);
9998
*/
10099

101100
void error_context_init(t_error_context *ctx);
102-
void error_context_set_line(t_error_context *ctx, int line);
103-
void error_context_set_element(t_error_context *ctx,
104-
const char *type);
105101
void error_context_print(t_error_context *ctx);
106102
void error_write_int(int n);
107103
const char *get_error_message(t_parse_result code);
@@ -129,7 +125,7 @@ t_parse_result validate_coordinate_range(const t_vec3 *vec);
129125
* @return 1 on success, 0 on error
130126
*/
131127
int parse_scene(const char *filename, t_scene *scene);
132-
t_parse_result dispatch_element(char *line, t_scene *scene,
128+
t_parse_result dispatch_line(char *line, t_scene *scene,
133129
t_error_context *ctx);
134130
int validate_extension(const char *filename);
135131

includes/render.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
#ifndef RENDER_H
1414
# define RENDER_H
1515

16-
# include "minirt.h"
17-
# include "mlx.h"
18-
# include "mlx_context.h"
16+
# include "scene.h"
17+
# include "ray.h"
18+
# include "display.h"
1919
# include "render_debounce.h"
2020

2121
/* Window resolution constants */
@@ -97,9 +97,10 @@ int render_has_flag(t_render *render, int flag);
9797
void render_set_flag(t_render *render, int flag);
9898
void render_clear_flag(t_render *render, int flag);
9999

100-
/* Window event handlers */
101-
int close_window(void *param);
102-
int handle_key(int keycode, void *param);
100+
/* Render pipeline */
101+
void render_scene_to_buffer(t_scene *scene, t_render *render);
102+
t_ray create_camera_ray(t_camera *camera, double x, double y);
103+
t_color trace_ray(t_scene *scene, t_ray *ray);
103104
int render_loop(void *param);
104105

105106
#endif

0 commit comments

Comments
 (0)