<commit_before>#SwiftRayTracer

A simple ray-tracer in Phong shading model


##Implementation

A wavefront(obj) file with vertexes and faces (triangles) is read.

Grand Central Dispatch is used for parallelism.

A PNG or PMM picture is generated by ray tracing.


##Parameters

###Global

width, height: Int

light, lightColor: Vector

###In Loop

ray: Ray

ambient = 0.2, diffuse = 0.8, specular = 0.3, reflection = 0.8


##Result

###1024x1024

![1024x1024](1.png)

1min on MacBook Pro (Retina, 15-inch, Mid 2012)

###4096x4096

![4096x4096](4096x4096.png)

15min on MacBook Pro (Retina, 15-inch, Mid 2012)<commit_msg>Fix markdown header<commit_after># SwiftRayTracer

A simple ray-tracer in Phong shading model


## Implementation

A wavefront(obj) file with vertexes and faces (triangles) is read.

Grand Central Dispatch is used for parallelism.

A PNG or PMM picture is generated by ray tracing.


## Parameters

### Global

width, height: Int

light, lightColor: Vector

### In Loop

ray: Ray

ambient = 0.2, diffuse = 0.8, specular = 0.3, reflection = 0.8


## Result

### 1024x1024

![1024x1024](1.png)

1min on MacBook Pro (Retina, 15-inch, Mid 2012)

### 4096x4096

![4096x4096](4096x4096.png)

15min on MacBook Pro (Retina, 15-inch, Mid 2012)
{'fraction_non_alphanumeric': 0.10845295055821372, 'fraction_numerical': 0.10207336523125997, 'mean_word_length': 4.2510460251046025, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6753987', 'n_tokens_mistral': 550, 'n_tokens_neox': 447, 'n_words': 156}