Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
GWave.h
Go to the documentation of this file.
1#pragma once
2
4#include "Math/math_fwd.h"
5
6#include <Common/primitive_type.h>
7
8#include <vector>
9
10namespace ph
11{
12
13class GWave : public Geometry
14{
15public:
16 GWave(real xLen, real yLen, real zLen);
17
18 void storeCooked(
19 CookedGeometry& out_geometry,
20 const CookingContext& ctx) const override;
21
22 void genPrimitive(
23 const PrimitiveBuildingMaterial& data,
24 std::vector<std::unique_ptr<Primitive>>& out_primitives) const override;
25
26private:
27 real m_xLen;
28 real m_yLen;
29 real m_zLen;
30
31 static void genTessellatedRectangleXZ(const real xLen, const real zLen, const int32 numXdivs, const int32 numZdivs, std::vector<math::Vector3R>& positions);
32 static bool checkData(const PrimitiveBuildingMaterial& data, const real xLen, const real yLen, const real zLen);
33 static bool checkData(real xLen, real yLen, real zLen);
34};
35
36}// end namespace ph
Definition CookedGeometry.h:13
Information about the world being cooked.
Definition CookingContext.h:24
Definition GWave.h:14
void genPrimitive(const PrimitiveBuildingMaterial &data, std::vector< std::unique_ptr< Primitive > > &out_primitives) const override
Definition GWave.cpp:211
GWave(real xLen, real yLen, real zLen)
Definition GWave.cpp:17
void storeCooked(CookedGeometry &out_geometry, const CookingContext &ctx) const override
Store data suitable for rendering into out_geometry.
Definition GWave.cpp:22
Definition Geometry.h:21
Definition PrimitiveBuildingMaterial.h:11
The root for all renderer implementations.
Definition EEngineProject.h:6