tAdded missing o-ppm.cpp - sphere - GPU-based 3D discrete element method algori… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 6ff7614d0fd5bbd0306f7ed63a1ea1bfd0a9b3a0 | |
parent cd41737e0b69a87e1dbca387031c53793b51ab56 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 20 Aug 2012 16:39:26 +0200 | |
Added missing o-ppm.cpp | |
Diffstat: | |
A output/about.txt | 1 + | |
A raytracer/doc/np-performance.txt | 6 ++++++ | |
A raytracer/o-ppm.cpp | 30 ++++++++++++++++++++++++++++++ | |
3 files changed, 37 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/output/about.txt b/output/about.txt | |
t@@ -0,0 +1 @@ | |
+This folder will contain output binary files. | |
diff --git a/raytracer/doc/np-performance.txt b/raytracer/doc/np-performance.txt | |
t@@ -0,0 +1,6 @@ | |
+np gpu-kernels mem-transfer cpu-kernels | |
+8 1.22259 3.26922 164.079 | |
+64 5.39379 3.39149 483.582 | |
+512 38.5132 3.67328 3074.94 | |
+5832 432.172 3.3923 33845.2 | |
+50653 3737.38 3.70508 294995 | |
diff --git a/raytracer/o-ppm.cpp b/raytracer/o-ppm.cpp | |
t@@ -0,0 +1,30 @@ | |
+// o-ppm.cpp | |
+// Write images in the PPM format | |
+ | |
+#include <iostream> | |
+#include <cstdio> | |
+#include "header.h" | |
+ | |
+ | |
+// Write image structure to PPM file | |
+int image_to_ppm(rgb* rgb_img, const char* filename, const unsigned int width,… | |
+{ | |
+ FILE *fout = fopen(filename, "wb"); | |
+ if (fout == NULL) { | |
+ std::cout << "File error in img_write() while trying to writing " << filen… | |
+ return 1; | |
+ } | |
+ | |
+ fprintf(fout, "P6 %d %d 255\n", width, height); | |
+ | |
+ // Write pixel array to ppm image file | |
+ for (unsigned int i=0; i<height*width; ++i) { | |
+ putc(rgb_img[i].r, fout); | |
+ putc(rgb_img[i].g, fout); | |
+ putc(rgb_img[i].b, fout); | |
+ } | |
+ | |
+ fclose(fout); | |
+ return 0; | |
+} | |
+ |