spamming with multiple buffers to vu1

This commit is contained in:
h4570
2022-07-22 00:12:36 +02:00
parent c8592e0c67
commit c5aea0d50f
17 changed files with 382 additions and 360 deletions
@@ -36,6 +36,9 @@ class DynPipCore {
*/
void initParts(DynPipBag* data);
// TODO: TEST!
void renderTEST(DynPipBag** bags, const u32& count);
/** Render 3D via "bags" */
void renderPart(DynPipBag* data, const bool& frustumCull = true);
@@ -29,6 +29,7 @@ class DynPipRenderer {
RendererCoreTextureBuffers* texBuffers) const;
void render(DynPipBag* bag);
void renderTEST(DynPipBag** bags, const u32& count);
void clearLastProgramName();
@@ -40,6 +41,8 @@ class DynPipRenderer {
void uploadPrograms();
void setDoubleBuffer();
void addBufferDataToPacketTEST(DynPipVU1Program* program, DynPipBag** bags,
const u32& count);
void addBufferDataToPacket(DynPipVU1Program* program, DynPipBag* bag);
void sendPacket();
@@ -40,21 +40,24 @@ class DynamicPipeline : public Renderer3DPipeline {
RendererCore* rendererCore;
Vec4* colorsCache;
void addVertices(DynamicMesh* mesh, MeshMaterial* material, DynPipBag* bag,
MeshFrame* frameFrom, MeshFrame* frameTo,
void addVertices(MeshMaterialFrame* materialFrameFrom,
MeshMaterialFrame* materialFrameTo, DynPipBag* bag,
const u32& startIndex) const;
PipelineInfoBag* getInfoBag(DynamicMesh* mesh, const DynPipOptions* options,
M4x4* model) const;
DynPipColorBag* getColorBag(MeshMaterial* material) const;
DynPipTextureBag* getTextureBag(DynamicMesh* mesh, MeshMaterial* material,
MeshFrame* frameFrom, MeshFrame* frameTo,
const u32& count, const u32& startIndex);
DynPipLightingBag* getLightingBag(DynamicMesh* mesh, MeshMaterial* material,
M4x4* model, MeshFrame* frameFrom,
MeshFrame* frameTo,
const DynPipOptions* options,
DynPipTextureBag* getTextureBag(MeshMaterial* material,
MeshMaterialFrame* materialFrameFrom,
MeshMaterialFrame* materialFrameTo,
const u32& startIndex);
DynPipLightingBag* getLightingBag(MeshMaterialFrame* materialFrameFrom,
MeshMaterialFrame* materialFrameTo,
M4x4* model, const DynPipOptions* options,
PipelineDirLightsBag* dirLightsBag,
const u32& count,
const u32& startIndex) const;
void setLightingColorsCache(PipelineLightingOptions* lightingOptions);
@@ -41,18 +41,21 @@ class StaticPipeline : public Renderer3DPipeline {
RendererCore* rendererCore;
Vec4* colorsCache;
void addVertices(DynamicMesh* mesh, MeshMaterial* material, StaPipBag* bag,
MeshFrame* frameFrom, MeshFrame* frameTo) const;
void addVertices(MeshMaterialFrame* materialFrame, StaPipBag* bag) const;
PipelineInfoBag* getInfoBag(DynamicMesh* mesh, const StaPipOptions* options,
M4x4* model) const;
StaPipColorBag* getColorBag(DynamicMesh* mesh, MeshMaterial* material,
MeshFrame* frameFrom, MeshFrame* frameTo) const;
StaPipTextureBag* getTextureBag(DynamicMesh* mesh, MeshMaterial* material,
MeshFrame* frameFrom, MeshFrame* frameTo);
StaPipLightingBag* getLightingBag(DynamicMesh* mesh, MeshMaterial* material,
M4x4* model, MeshFrame* frameFrom,
MeshFrame* frameTo,
StaPipColorBag* getColorBag(MeshMaterial* material,
MeshMaterialFrame* materialFrame) const;
StaPipTextureBag* getTextureBag(MeshMaterial* material,
MeshMaterialFrame* materialFrame);
StaPipLightingBag* getLightingBag(MeshMaterialFrame* materialFrame,
M4x4* model,
const StaPipOptions* options) const;
void deallocDrawBags(StaPipBag* bag, MeshMaterial* material) const;
void setLightingColorsCache(PipelineLightingOptions* lightingOptions);