Scene now writing blank BMP file, accepting settings parameters
git-svn-id: svn://anubis/fart/trunk@24 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
parent
959219ffb8
commit
b6008116cf
@ -5,6 +5,10 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define BMP_RED 2
|
||||
#define BMP_GREEN 1
|
||||
#define BMP_BLUE 0
|
||||
|
||||
class BMP
|
||||
{
|
||||
public:
|
||||
|
@ -2,6 +2,7 @@
|
||||
#include "Scene.h"
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include "BMP.h"
|
||||
using namespace std;
|
||||
|
||||
Scene::Scene(map<string, const char *> options,
|
||||
@ -12,14 +13,39 @@ Scene::Scene(map<string, const char *> options,
|
||||
m_multisample_level = 1;
|
||||
m_output_file_name = "fart.bmp";
|
||||
m_verbose = false;
|
||||
m_data = NULL;
|
||||
|
||||
load(filename);
|
||||
}
|
||||
|
||||
Scene::~Scene()
|
||||
{
|
||||
if (m_data != NULL)
|
||||
delete m_data;
|
||||
}
|
||||
|
||||
void Scene::load(const char * filename)
|
||||
{
|
||||
}
|
||||
|
||||
void Scene::render()
|
||||
{
|
||||
m_data = new unsigned char[m_width * m_height * 3];
|
||||
for (int i = 0; i < m_height; i++)
|
||||
{
|
||||
for (int j = 0; j < m_width; j++)
|
||||
{
|
||||
renderPixel(i, j, &m_data[3 * (m_width * i + j)]);
|
||||
}
|
||||
}
|
||||
|
||||
BMP outputImage(m_output_file_name.c_str(), m_width, m_height, m_data);
|
||||
}
|
||||
|
||||
void Scene::renderPixel(int x, int y, unsigned char * pixel)
|
||||
{
|
||||
// TODO: um... real work
|
||||
pixel[BMP_RED] = 0;
|
||||
pixel[BMP_GREEN] = 0;
|
||||
pixel[BMP_BLUE] = 0;
|
||||
}
|
||||
|
@ -10,16 +10,19 @@ class Scene
|
||||
public:
|
||||
Scene(std::map<std::string, const char *> options,
|
||||
const char * filename);
|
||||
~Scene();
|
||||
void render();
|
||||
|
||||
private:
|
||||
void load(const char * filename);
|
||||
void renderPixel(int x, int y, unsigned char * pixel);
|
||||
|
||||
int m_width;
|
||||
int m_height;
|
||||
int m_multisample_level;
|
||||
std::string m_output_file_name;
|
||||
bool m_verbose;
|
||||
unsigned char * m_data;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <getopt.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include "Scene.h"
|
||||
using namespace std;
|
||||
|
||||
void usage(const char * progname)
|
||||
@ -65,5 +66,7 @@ int main(int argc, char * argv[])
|
||||
usage(argv[0]);
|
||||
}
|
||||
|
||||
cout << "hi" << endl;
|
||||
Scene scene(scene_options, argv[optind]);
|
||||
|
||||
scene.render();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user