paysages3d/src/render/software/CanvasPixel.h

38 lines
681 B
C
Raw Normal View History

#ifndef CANVASPIXEL_H
#define CANVASPIXEL_H
#include "software_global.h"
2014-06-10 13:13:16 +00:00
#include "CanvasFragment.h"
const int MAX_FRAGMENT_COUNT = 7;
namespace paysages {
namespace software {
/**
* @brief One pixel of a Canvas.
*
* A pixel stores superimposed fragments (CanvasFragment), sorted by their distance to camera.
*/
class SOFTWARESHARED_EXPORT CanvasPixel
{
public:
CanvasPixel();
2014-06-10 13:13:16 +00:00
inline int getFragmentCount() const {return count;}
const CanvasFragment *getFrontFragment() const;
void reset();
void pushFragment(const CanvasFragment &fragment);
private:
int count;
CanvasFragment fragments[MAX_FRAGMENT_COUNT];
};
}
}
#endif // CANVASPIXEL_H