paysages3d/src/render/software/WaterRasterizer.h

34 lines
834 B
C
Raw Normal View History

2013-12-08 17:05:18 +00:00
#ifndef WATERRASTERIZER_H
#define WATERRASTERIZER_H
#include "software_global.h"
#include "Rasterizer.h"
2013-12-08 17:05:18 +00:00
namespace paysages {
namespace software {
class WaterRasterizer : public Rasterizer {
public:
WaterRasterizer(SoftwareRenderer *renderer, RenderProgress *progress, unsigned short client_id);
2013-12-08 17:05:18 +00:00
void rasterizeQuad(CanvasPortion *canvas, double x, double z, double size);
2014-06-18 18:10:05 +00:00
virtual int prepareRasterization() override;
virtual void rasterizeToCanvas(CanvasPortion *canvas) override;
virtual Color shadeFragment(const CanvasFragment &fragment, const CanvasFragment *previous) const override;
2015-09-10 17:33:52 +00:00
virtual void setQuality(double factor) override;
private:
int performTessellation(CanvasPortion *canvas);
2015-09-10 17:33:52 +00:00
private:
2015-09-10 17:33:52 +00:00
// Quality control
double base_chunk_size;
2013-12-08 17:05:18 +00:00
};
}
}
#endif // WATERRASTERIZER_H