core renderer refactor finish

This commit is contained in:
h4570
2022-07-25 20:10:46 +02:00
parent 819a7c3de3
commit 0c63de8ac9
18 changed files with 258 additions and 109 deletions
@@ -16,6 +16,7 @@
#include "./bag/packaging/stapip_bag_package.hpp"
#include "./bag/packaging/stapip_bag_packager.hpp"
#include "./stapip_qbuffer_renderer.hpp"
#include "renderer/3d/pipeline/shared/pipeline_frustum_culling.hpp"
namespace Tyra {
@@ -27,7 +28,8 @@ class StaPipCore {
void init(RendererCore* t_core);
/** Render 3D via "bags" */
void render(StaPipBag* bag, StaPipBagPackagesBBox* bbox = nullptr);
void render(StaPipBag* bag, const bool& frustumCull,
StaPipBagPackagesBBox* bbox = nullptr);
/** Get max vert count of VU1 qbuffer (for optimizations) */
u32 getMaxVertCountByParams(const bool& isSingleColor,
@@ -52,7 +54,7 @@ class StaPipCore {
void setMaxVertCount(const u32& count);
StaPipBagPackager packager;
StaPipQBufferRenderer qbufferRenderer;
void renderPkgs(StaPipBagPackage* packages, u16 count);
void renderPkgs(StaPipBagPackage* packages, const bool& doClip, u16 count);
void renderSubpkgs(StaPipBagPackage* packages, u16 count);
};
@@ -16,18 +16,18 @@ namespace Tyra {
class StaPipOptions : public PipelineOptions {
public:
StaPipOptions() {}
StaPipOptions() { fullClipChecks = false; }
~StaPipOptions() {}
/**
* @brief True -> disables "clip against each plane" algorithm.
* Mandatory, default: false.
* @brief False -> disables "clip against each plane" algorithm.
* Mandatory, default: True.
*
* Full clip checks are slow, but they are
* preventing visual artifacts, which can happen
* for big 3D objects (or objects near camera eyes)
*/
bool noFullClipChecks;
bool fullClipChecks;
};
} // namespace Tyra
@@ -24,7 +24,7 @@ namespace Tyra {
* Pipeline for static models (StaticMesh).
* Supports:
* - Full "against each plane" clipping and simple PS2 clipping
* (noFullClipChecks),
* (fullClipChecks),
* - Force enabled precise frustum culling (checks parts of given mesh)
* - Modes: color(s), texture+color(s), dir lights, texture + dir lights
*/