Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 989d473

Browse files
Create README.md
1 parent 3f110be commit 989d473

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

‎README.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Project "miniRT - My First RayTracer with miniLibX"
2+
3+
Summary:
4+
This project focuses on Ray Tracing and graphical rendering using the miniLibX library. It simulates 3D scenes by calculating light interactions with basic geometric shapes (spheres, planes, cylinders). The goal is to render images, simulating realistic lighting effects like ambient and diffuse lighting, and handling object transformations. It involves creating a ray tracer from scratch, utilizing basic mathematical and physical principles.
5+
Mandatory Part:
6+
7+
Objective:
8+
Create a simple Ray Tracer that renders 3D scenes from a scene description file, utilizing basic geometric objects and lighting models.
9+
10+
Key Requirements:
11+
12+
Implement Ray Tracing with at least three geometric objects: spheres, planes, and cylinders.
13+
Handle transformations (translation and rotation) of objects, lights, and cameras.
14+
Implement ambient and diffuse lighting, including handling shadows.
15+
Use the miniLibX library for window management and displaying rendered images.
16+
Manage scene input through a structured .rt file with proper error handling for misconfigurations.
17+
18+
Bonus Part (Optional):
19+
20+
Objective:
21+
Extend the Ray Tracer with advanced features to enhance the realism and complexity of the renderings.
22+
23+
Key Requirements:
24+
25+
Add specular reflection for Phong shading model.
26+
Implement textures like checkerboard and bump mapping.
27+
Support multiple light sources and more complex objects (e.g., cones, hyperboloids).
28+
Implement multi-spot lighting and color disruption.
29+
30+
Skills Acquired:
31+
32+
Programming in C: Memory management, file handling, and mathematical computations for 3D rendering.
33+
Ray Tracing: Understanding of light-object interactions, reflections, and transformations.
34+
miniLibX: Practical usage for creating graphical windows and handling user input.
35+
Project Management: Use of Git for version control and a Makefile for project building and compilation.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /