Michaël Lemaire
52bad18d26
Backface culling speeds up rasterization Previous fragment will be used later by vegetation rasterizer
35 lines
817 B
C++
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
|