init of dynpip bag
This commit is contained in:
@@ -10,12 +10,41 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "./bag/dynpip_bag.hpp"
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
class DynPipQBuffer {
|
||||
public:
|
||||
DynPipQBuffer();
|
||||
~DynPipQBuffer();
|
||||
|
||||
void setMaxVertCount(const u32& count);
|
||||
|
||||
DynPipBag* bag;
|
||||
|
||||
Vec4* verticesFrom;
|
||||
Vec4* verticesTo;
|
||||
|
||||
Vec4* stsFrom;
|
||||
Vec4* stsTo;
|
||||
|
||||
Vec4* colorsFrom;
|
||||
Vec4* colorsTo;
|
||||
|
||||
Vec4* normalsFrom;
|
||||
Vec4* normalsTo;
|
||||
|
||||
/** Size per frame */
|
||||
u32 size;
|
||||
|
||||
void print() const;
|
||||
void print(const char* name) const;
|
||||
void print(const std::string& name) const { print(name.c_str()); }
|
||||
std::string getPrint(const char* name = nullptr) const;
|
||||
|
||||
private:
|
||||
u32 maxVertCount;
|
||||
};
|
||||
|
||||
} // namespace Tyra
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
// #define VU1_LAST_ITEM_ADDR 18
|
||||
|
||||
// Buffer data (xtop)
|
||||
// #define VU1_VERT_DATA_ADDR 2
|
||||
#define VU1_VERT_DATA_ADDR 2
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include <tamtypes.h>
|
||||
#include "../renderer_3d_pipeline.hpp"
|
||||
#include "./core/dynpip_options.hpp"
|
||||
#include "./dynpip_options.hpp"
|
||||
#include "./core/dynpip_core.hpp"
|
||||
#include "renderer/core/renderer_core.hpp"
|
||||
#include "renderer/3d/mesh/dynamic/dynamic_mesh.hpp"
|
||||
@@ -35,6 +35,26 @@ class DynamicPipeline : public Renderer3DPipeline {
|
||||
* This render() method is a bridge to core.render() method.
|
||||
*/
|
||||
void render(DynamicMesh* mesh, const DynPipOptions* options = nullptr);
|
||||
|
||||
private:
|
||||
RendererCore* rendererCore;
|
||||
Vec4* colorsCache;
|
||||
|
||||
void addVertices(DynamicMesh* mesh, MeshMaterial* material, DynPipBag* bag,
|
||||
MeshFrame* frameFrom, MeshFrame* frameTo) const;
|
||||
PipelineInfoBag* getInfoBag(DynamicMesh* mesh, const DynPipOptions* options,
|
||||
M4x4* model) const;
|
||||
DynPipColorBag* getColorBag(DynamicMesh* mesh, MeshMaterial* material,
|
||||
MeshFrame* frameFrom, MeshFrame* frameTo) const;
|
||||
DynPipTextureBag* getTextureBag(DynamicMesh* mesh, MeshMaterial* material,
|
||||
MeshFrame* frameFrom, MeshFrame* frameTo);
|
||||
DynPipLightingBag* getLightingBag(DynamicMesh* mesh, MeshMaterial* material,
|
||||
M4x4* model, MeshFrame* frameFrom,
|
||||
MeshFrame* frameTo,
|
||||
const DynPipOptions* options) const;
|
||||
void deallocDrawBags(DynPipBag* bag, MeshMaterial* material) const;
|
||||
|
||||
void setLightingColorsCache(PipelineLightingOptions* lightingOptions);
|
||||
};
|
||||
|
||||
} // namespace Tyra
|
||||
|
||||
+10
@@ -10,12 +10,22 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "renderer/3d/pipeline/shared/pipeline_shading_type.hpp"
|
||||
#include "../shared/pipeline_lighting_options.hpp"
|
||||
|
||||
namespace Tyra {
|
||||
|
||||
class DynPipOptions {
|
||||
public:
|
||||
DynPipOptions() {}
|
||||
~DynPipOptions() {}
|
||||
|
||||
PipelineShadingType shadingType;
|
||||
bool blendingEnabled;
|
||||
bool antiAliasingEnabled;
|
||||
|
||||
/** Optional */
|
||||
PipelineLightingOptions* lighting;
|
||||
};
|
||||
|
||||
} // namespace Tyra
|
||||
Reference in New Issue
Block a user