lod, prim refactor

This commit is contained in:
h4570
2022-07-30 23:51:22 +02:00
parent 927c10e82a
commit bc1ac1b4a3
23 changed files with 194 additions and 67 deletions
@@ -58,6 +58,12 @@ class DynPipCore {
void deallocateOnUse() { qbufferRenderer.deallocateOnUse(); }
private:
void setPrim();
void setLod();
prim_t prim;
lod_t lod;
M4x4 mvp;
RendererCore* rendererCore;
DynPipRenderer qbufferRenderer;
@@ -21,7 +21,8 @@ class DynPipRenderer {
DynPipRenderer();
~DynPipRenderer();
void init(RendererCore* t_core, DynPipProgramsRepository* t_programRepo);
void init(RendererCore* t_core, DynPipProgramsRepository* t_programRepo,
prim_t* prim, lod_t* lod);
void reinitVU1();
@@ -47,6 +48,9 @@ class DynPipRenderer {
const u32& count);
void sendPacket();
prim_t* prim;
lod_t* lod;
packet2_t* packets[2];
packet2_t* programsPacket;
packet2_t* currentPacket;
@@ -54,6 +54,12 @@ class MinecraftPipeline : public Renderer3DPipeline {
const McpipBlockData& getBlockData() const { return manager.getBlockData(); }
private:
void setPrim();
void setLod();
prim_t prim;
lod_t lod;
BlockizerProgramsManager manager;
RendererCore* rendererCore;
RenderBBox* bbox;
@@ -31,7 +31,7 @@ class McpipClip {
EEClipAlgorithmSettings algoSettings;
void init(RendererCore* core, McpipBlockData* t_singleBlockData,
McpipBlockData* t_multiBlockData);
McpipBlockData* t_multiBlockData, prim_t* prim, lod_t* lod);
u32 uploadVU1Program(McpipProgramsRepository* repo, const u32& addr);
@@ -42,6 +42,9 @@ class McpipClip {
const u8& context);
private:
prim_t* prim;
lod_t* lod;
RendererCore* rendererCore;
McpipBlockData* singleBlockData;
McpipBlockData* multiBlockData;
@@ -26,7 +26,8 @@ class McpipCull {
McpipCull();
~McpipCull();
void init(RendererCore* core, McpipBlockData* t_blockData);
void init(RendererCore* core, McpipBlockData* t_blockData, prim_t* prim,
lod_t* lod);
u32 uploadVU1Program(McpipProgramsRepository* repo, const u32& addr);
@@ -39,6 +40,8 @@ class McpipCull {
RendererCoreTextureBuffers* texBuffers, bool isMulti);
private:
prim_t* prim;
lod_t* lod;
RendererCore* rendererCore;
u16 vu1DBufferSize;
McpipBlockData* blockData;
@@ -36,7 +36,7 @@ class BlockizerProgramsManager {
McpipCull culler;
McpipClip clipper;
void init(RendererCore* core);
void init(RendererCore* core, prim_t* prim, lod_t* lod);
void uploadVU1Programs();
@@ -51,6 +51,12 @@ class StaPipCore {
void deallocateOnUse() { qbufferRenderer.deallocateOnUse(); }
private:
void setPrim();
void setLod();
prim_t prim;
lod_t lod;
u32 maxVertCount;
RendererCore* rendererCore;
@@ -33,7 +33,7 @@ class StaPipQBufferRenderer {
StaPipQBufferRenderer();
~StaPipQBufferRenderer();
void init(RendererCore* t_core);
void init(RendererCore* t_core, prim_t* prim, lod_t* lod);
void reinitVU1();
@@ -69,6 +69,9 @@ class StaPipQBufferRenderer {
void deallocateOnUse();
private:
prim_t* prim;
lod_t* lod;
bool is1stDBufferFlushTime();
bool is2ndDBufferFlushTime();