some optimizations

This commit is contained in:
h4570
2022-07-26 23:16:21 +02:00
parent 97e44507ff
commit 10164beadf
14 changed files with 177 additions and 107 deletions
@@ -28,25 +28,25 @@ class EEClipAlgorithm {
void init(const RendererSettings& settings);
void clip(std::vector<EEClipVertex>* o_vertices,
const std::vector<EEClipVertex>& vertices,
const EEClipAlgorithmSettings& settings);
u8 clip(EEClipVertex* o_vertices, EEClipVertexPtrs* i_vertices,
const EEClipAlgorithmSettings& settings);
static float clipMargin;
private:
float halfWidth, halfHeight, near, far;
std::vector<EEClipVertex> tempVertices;
EEClipVertex* tempVertices;
float getValueByPlane(const EEClipVertex& v, const int& plane);
bool isInside(const int& plane, const float& v, const float& w,
const float& planeLimitValue);
void clipAgainstPlane(const std::vector<EEClipVertex>& original,
std::vector<EEClipVertex>* clipped, const int& plane,
const float& planeLimitValue,
const EEClipAlgorithmSettings& settings);
/** @return clipped size */
u8 clipAgainstPlane(EEClipVertex* original, const u8& originalSize,
EEClipVertex* clipped, const int& plane,
const float& planeLimitValue,
const EEClipAlgorithmSettings& settings);
};
} // namespace Tyra
@@ -18,4 +18,8 @@ struct EEClipVertex {
Vec4 position, normal, st, color;
};
struct EEClipVertexPtrs {
Vec4 *position, *normal, *st, *color;
};
} // namespace Tyra