From 3a0553f8f8950fa8469f77862fd7aeb893e624bb Mon Sep 17 00:00:00 2001
From: Lenaic <lenaic.durand@ensiie.fr>
Date: Thu, 9 Jan 2020 18:14:11 +0100
Subject: [PATCH] ombres++

---
 main      | Bin 52360 -> 0 bytes
 scene.cpp |  11 +++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)
 delete mode 100755 main

diff --git a/main b/main
deleted file mode 100755
index 6ad67cf004206bccd23ad8c37507d2b455d5b442..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 52360
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
UJD4B?1H-bz5RNRG1~e`M0222EcmMzZ

diff --git a/scene.cpp b/scene.cpp
index f10504c..f87bfbf 100644
--- a/scene.cpp
+++ b/scene.cpp
@@ -50,6 +50,7 @@ Ray3f Scene::source() const
 
 void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, int nb_shapes, char* filename)
 {
+	/*--------------------------------Copié de la doc de libpng-------------------------------------*/
 	FILE *f = fopen(filename, "wb");
 	if (!f) throw "Echec de la création du fichier";
 
@@ -69,6 +70,8 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
     }
 
     png_init_io(png_ptr, f);
+    /*----------------------------------------------------------------------------------------------*/
+
 
     //Set header
     png_set_IHDR(png_ptr, info_ptr, nb_pixel_row, nb_pixel_col, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
@@ -81,17 +84,17 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 
 	png_write_info(png_ptr, info_ptr);
 
+
 	//Mémoire allouée pour une ligne de pixels (rgb => 3 bytes par pixel)
 	png_bytep row = (png_bytep) png_malloc(png_ptr, 3*nb_pixel_row*sizeof(png_byte));
 
 
-	float pw = (float) width / (float) nb_pixel_col;
-	float ph = (float) height / (float) nb_pixel_row;
+	float pw = (float) width / (float) nb_pixel_col; //largeur d'un pixel
+	float ph = (float) height / (float) nb_pixel_row; //hauteur d'un pixel
 	float min_dist;
 	float hit_dist;
 
-	for (int i=nb_pixel_col-1; i>=0; i--)
-	//for (int i=0; i<nb_pixel_col; i++)
+	for (int i=nb_pixel_col-1; i>=0; i--) //on remplit l'image par le bas à droite
 	{
 		for (int j=0; j<nb_pixel_row; j++)
 		{
-- 
GitLab