summaryrefslogtreecommitdiff
path: root/benchmarks/CUDA/RAY/makebmp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/CUDA/RAY/makebmp.cpp')
-rw-r--r--benchmarks/CUDA/RAY/makebmp.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/benchmarks/CUDA/RAY/makebmp.cpp b/benchmarks/CUDA/RAY/makebmp.cpp
new file mode 100644
index 0000000..1b006ec
--- /dev/null
+++ b/benchmarks/CUDA/RAY/makebmp.cpp
@@ -0,0 +1,28 @@
+#include "EasyBMP.h"
+
+BMP out_bmp;
+
+void initialize_bmp(unsigned width, unsigned height, unsigned depth)
+{
+ SetEasyBMPwarningsOff();
+ out_bmp.SetSize(width, height);
+ out_bmp.SetBitDepth(depth);
+}
+
+void create_bmp(unsigned *data)
+{
+ unsigned height = out_bmp.TellHeight();
+ unsigned width = out_bmp.TellWidth();
+ for (unsigned y=0; y< height; y++){
+ for (unsigned x=0; x< width; x++) {
+ //printf("%8x ", c_output[x+y*width]);
+ out_bmp(x,(height-y-1))->Red = 0x000000FF & data[x+y*width];
+ out_bmp(x,(height-y-1))->Green = (0x0000FF00 & data[x+y*width]) >> 8;
+ out_bmp(x,(height-y-1))->Blue = (0x00FF0000 & data[x+y*width]) >> 16;
+ out_bmp(x,(height-y-1))->Alpha = (0xFF000000 & data[x+y*width]) >> 24;
+ }
+ }
+ out_bmp.WriteToFile("output.bmp");
+}
+
+