2015-10-18 15:26:19 +00:00
|
|
|
#ifndef VEGETATIONRASTERIZER_H
|
|
|
|
#define VEGETATIONRASTERIZER_H
|
|
|
|
|
|
|
|
#include "software_global.h"
|
|
|
|
|
|
|
|
#include "TerrainRasterizer.h"
|
|
|
|
|
|
|
|
namespace paysages {
|
|
|
|
namespace software {
|
|
|
|
|
2015-11-09 21:38:00 +00:00
|
|
|
class SOFTWARESHARED_EXPORT VegetationRasterizer : public TerrainRasterizer {
|
|
|
|
public:
|
2015-12-14 21:20:28 +00:00
|
|
|
VegetationRasterizer(SoftwareRenderer *renderer, RenderProgress *progress, unsigned short client_id);
|
2015-10-18 15:26:19 +00:00
|
|
|
|
2015-12-14 21:20:28 +00:00
|
|
|
/**
|
|
|
|
* Returns true if the rasterization process is useful.
|
|
|
|
*/
|
|
|
|
bool isUseful() const;
|
|
|
|
|
|
|
|
virtual int prepareRasterization() override;
|
|
|
|
virtual void rasterizeToCanvas(CanvasPortion *canvas) override;
|
2015-10-18 15:26:19 +00:00
|
|
|
virtual Color shadeFragment(const CanvasFragment &fragment, const CanvasFragment *previous) const override;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // VEGETATIONRASTERIZER_H
|