Update project files and enhance rendering system

Added:
- Updated `.gitignore` to ignore the `[Bb]uild/` directory.
- Additional tasks added to the roadmap in `README.md` for light unit standardization and GPU backend support.

Changed:
- Removed line in `settings.json` that disabled error squiggles for C/C++ code.
- Modified `Triangle.h` to include `material_id` in `triangle_t` and reorganized properties.
- Reordered parameters in `triangle_collection_init` for clarity.
- Updated `shading_context_t` in `Material.h` and added size parameter to `material_create`.
- Streamlined initialization in `scene_init` and updated `scene_free` for proper resource management.
- Updated `window_create` in `Window.h` to accept a `render_job_t` parameter.
- Introduced `renderer_start` in `Renderer.c` to handle rendering jobs and optimized pixel rendering logic.
This commit is contained in:
2025-04-23 22:24:02 +09:00
parent 9cc420693c
commit 17872804c5
24 changed files with 523083 additions and 807 deletions

View File

@@ -13,7 +13,7 @@ typedef struct
vec3s normal_1;
vec3s normal_2;
vec3s normal_3;
vec3s normal_face; // Interpolated normal, not used in the triangle itself, but for ray intersection.
vec3s normal_face;
uint8_t material_id;
}triangle_t;
@@ -27,7 +27,7 @@ typedef struct
triangle_t* buffer;
}triangle_collection_t;
bool triangle_collection_init(size_t size, triangle_collection_t* triangles);
bool triangle_collection_init(triangle_collection_t* triangles, size_t size);
void triangle_collection_resize(triangle_collection_t* collection, size_t size);
void triangle_collection_free(triangle_collection_t* collection);