paysages3d/src/render/software/WaterRasterizer.h
Michaël Lemaire 52bad18d26 Added "backface culling" and "previous fragment" in rasterizers
Backface culling speeds up rasterization
Previous fragment will be used later by vegetation rasterizer
2015-10-16 00:51:46 +02:00

35 lines
817 B
C++

#ifndef WATERRASTERIZER_H
#define WATERRASTERIZER_H
#include "software_global.h"
#include "Rasterizer.h"
namespace paysages {
namespace software {
class WaterRasterizer: public Rasterizer
{
public:
WaterRasterizer(SoftwareRenderer* renderer, RenderProgress *progress, int client_id);
void rasterizeQuad(CanvasPortion* canvas, double x, double z, double size);
virtual int prepareRasterization() override;
virtual void rasterizeToCanvas(CanvasPortion* canvas) override;
virtual Color shadeFragment(const CanvasFragment &fragment, const CanvasFragment *previous) const override;
virtual void setQuality(double factor) override;
private:
int performTessellation(CanvasPortion* canvas);
private:
// Quality control
double base_chunk_size;
};
}
}
#endif // WATERRASTERIZER_H