BIt more cleanup.
This commit is contained in:
@ -136,10 +136,11 @@ namespace Dawn {
|
||||
}
|
||||
return components;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroys a previously initialized Scene.
|
||||
*/
|
||||
~Scene();
|
||||
virtual ~Scene();
|
||||
|
||||
friend class RenderPipeline;
|
||||
};
|
||||
|
@ -10,8 +10,9 @@
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
SceneItemComponent::SceneItemComponent(std::weak_ptr<SceneItem> item) {
|
||||
this->item = item;
|
||||
SceneItemComponent::SceneItemComponent(const std::weak_ptr<SceneItem> item) :
|
||||
item(item)
|
||||
{
|
||||
}
|
||||
|
||||
void SceneItemComponent::init() {
|
||||
|
@ -13,7 +13,7 @@ namespace Dawn {
|
||||
|
||||
class SceneItemComponent : public StateOwner {
|
||||
public:
|
||||
std::weak_ptr<SceneItem> item;
|
||||
const std::weak_ptr<SceneItem> item;
|
||||
bool_t hasInitialized = false;
|
||||
|
||||
/**
|
||||
@ -70,6 +70,7 @@ namespace Dawn {
|
||||
virtual ~SceneItemComponent();
|
||||
};
|
||||
|
||||
// Fowarded methods
|
||||
template<class T>
|
||||
std::shared_ptr<T> _sceneForwardGetComponent(
|
||||
std::shared_ptr<SceneItem> item
|
||||
|
@ -32,11 +32,11 @@ void SimpleRenderTargetQuad::onStart() {
|
||||
|
||||
// Update mesh
|
||||
QuadMesh::bufferQuadMesh(
|
||||
&this->meshHost->mesh,
|
||||
this->meshHost->mesh,
|
||||
glm::vec2(0, 0), glm::vec2(0, 0),
|
||||
glm::vec2(
|
||||
((RenderTarget*)this->renderTarget)->getWidth(),
|
||||
((RenderTarget*)this->renderTarget)->getHeight()
|
||||
this->renderTarget._realValue->getWidth(),
|
||||
this->renderTarget._realValue->getHeight()
|
||||
),
|
||||
glm::vec2(1, 1),
|
||||
0, 0
|
||||
@ -49,7 +49,7 @@ void SimpleRenderTargetQuad::onStart() {
|
||||
const float_t h
|
||||
) {
|
||||
QuadMesh::bufferQuadMesh(
|
||||
&this->meshHost->mesh,
|
||||
this->meshHost->mesh,
|
||||
glm::vec2(0, 0), glm::vec2(0, 0),
|
||||
glm::vec2(w, h), glm::vec2(1, 1),
|
||||
0, 0
|
||||
|
@ -16,6 +16,6 @@ CapsuleMeshHost::CapsuleMeshHost(std::weak_ptr<SceneItem> item) :
|
||||
|
||||
void CapsuleMeshHost::onStart() {
|
||||
useEffect([&]{
|
||||
CapsuleMesh::create(&this->mesh, radius, height);
|
||||
CapsuleMesh::create(this->mesh, radius, height);
|
||||
}, { &this->radius, &this->height })();
|
||||
}
|
@ -20,6 +20,12 @@ void CubeMeshHost::onStart() {
|
||||
);
|
||||
|
||||
useEffect([&]{
|
||||
CubeMesh::buffer(&this->mesh, glm::vec3(this->size) * -0.5f, this->size, 0, 0);
|
||||
CubeMesh::buffer(
|
||||
this->mesh,
|
||||
glm::vec3(this->size) * -0.5f,
|
||||
this->size,
|
||||
0,
|
||||
0
|
||||
);
|
||||
}, this->size)();
|
||||
}
|
@ -19,7 +19,7 @@ void QuadMeshHost::onStart() {
|
||||
|
||||
useEffect([&]{
|
||||
QuadMesh::bufferQuadMesh(
|
||||
&this->mesh,
|
||||
this->mesh,
|
||||
glm::vec2(this->xy0),
|
||||
glm::vec2(this->uv0),
|
||||
glm::vec2(this->xy1),
|
||||
|
@ -16,7 +16,13 @@ std::shared_ptr<SceneItem> ExampleSpin::create(Scene *scene) {
|
||||
auto mr = item->addComponent<MeshRenderer>();
|
||||
mr->mesh = new Mesh();
|
||||
mr->mesh->createBuffers(CUBE_VERTICE_COUNT, CUBE_INDICE_COUNT);
|
||||
CubeMesh::buffer(mr->mesh, glm::vec3(-0.5f, -0.5f, -0.5f), glm::vec3(1, 1, 1), 0, 0);
|
||||
CubeMesh::buffer(
|
||||
*mr->mesh,
|
||||
glm::vec3(-0.5f, -0.5f, -0.5f),
|
||||
glm::vec3(1, 1, 1),
|
||||
0,
|
||||
0
|
||||
);
|
||||
auto mat = item->addComponent<SimpleTexturedMaterial>();
|
||||
item->addComponent<ExampleSpin>();
|
||||
return item;
|
||||
|
@ -60,49 +60,49 @@ void UIBorder::onStart() {
|
||||
glm::vec2 bSize = (glm::vec2)borderSize;
|
||||
glm::vec2 iSize = glm::vec2(this->getWidth(), this->getHeight()) - ( bSize * 2.0f );
|
||||
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(0, 0), glm::vec2(0, 0),
|
||||
bSize, tSize,
|
||||
0, 0
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(bSize.x, 0), glm::vec2(tSize.x, 0),
|
||||
glm::vec2(iSize.x + bSize.x, bSize.y), glm::vec2(tSize.x * 2, tSize.y),
|
||||
QUAD_VERTICE_COUNT, QUAD_INDICE_COUNT
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(iSize.x + bSize.x, 0), glm::vec2(tSize.x + tSize.x, 0),
|
||||
glm::vec2(this->getWidth(), bSize.y), glm::vec2(1.0f, tSize.y),
|
||||
2 * QUAD_VERTICE_COUNT, 2 * QUAD_INDICE_COUNT
|
||||
);
|
||||
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(0, bSize.y), glm::vec2(0, tSize.y),
|
||||
bSize + glm::vec2(0, iSize.y), tSize + glm::vec2(0, tSize.y),
|
||||
3 * QUAD_VERTICE_COUNT, 3 * QUAD_INDICE_COUNT
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
bSize, tSize,
|
||||
bSize + iSize, tSize + tSize,
|
||||
4 * QUAD_VERTICE_COUNT, 4 * QUAD_INDICE_COUNT
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(iSize.x + bSize.x, bSize.y), tSize + glm::vec2(tSize.x, 0),
|
||||
glm::vec2(this->getWidth(), bSize.y + iSize.y), glm::vec2(1.0f, tSize.y + tSize.y),
|
||||
5 * QUAD_VERTICE_COUNT, 5 * QUAD_INDICE_COUNT
|
||||
);
|
||||
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(0, iSize.y + bSize.y), glm::vec2(0, tSize.y + tSize.y),
|
||||
glm::vec2(bSize.x, this->getHeight()), glm::vec2(tSize.x, 1.0f),
|
||||
6 * QUAD_VERTICE_COUNT, 6 * QUAD_INDICE_COUNT
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
glm::vec2(bSize.x, iSize.y + bSize.y), glm::vec2(tSize.x, tSize.y + tSize.y),
|
||||
glm::vec2(iSize.x + bSize.x, this->getHeight()), glm::vec2(tSize.x * 2, 1.0f),
|
||||
7 * QUAD_VERTICE_COUNT, 7 * QUAD_INDICE_COUNT
|
||||
);
|
||||
QuadMesh::bufferQuadMesh(&mesh,
|
||||
QuadMesh::bufferQuadMesh(mesh,
|
||||
bSize + iSize, tSize + tSize,
|
||||
glm::vec2(this->getWidth(), this->getHeight()), glm::vec2(1.0f, 1.0f),
|
||||
8 * QUAD_VERTICE_COUNT, 8 * QUAD_INDICE_COUNT
|
||||
|
@ -50,21 +50,21 @@ void UIImage::onStart() {
|
||||
UIComponent::onStart();
|
||||
|
||||
useEvent([&]{
|
||||
QuadMesh::bufferPositions(&mesh,
|
||||
QuadMesh::bufferPositions(mesh,
|
||||
glm::vec2(0, 0),
|
||||
glm::vec2(width, height), 0
|
||||
);
|
||||
}, this->eventAlignmentUpdated);
|
||||
|
||||
useEffect([&]{
|
||||
QuadMesh::bufferCoordinates(&mesh,
|
||||
QuadMesh::bufferCoordinates(mesh,
|
||||
glm::vec2(this->uvs._realValue[0], this->uvs._realValue[1]),
|
||||
glm::vec2(this->uvs._realValue[2], this->uvs._realValue[3]),
|
||||
0
|
||||
);
|
||||
}, this->uvs);
|
||||
|
||||
QuadMesh::initQuadMesh(&mesh,
|
||||
QuadMesh::initQuadMesh(mesh,
|
||||
glm::vec2(0, 0), glm::vec2(this->uvs._realValue[0], this->uvs._realValue[1]),
|
||||
glm::vec2(width, height), glm::vec2(this->uvs._realValue[2], this->uvs._realValue[3]),
|
||||
0.0f
|
||||
|
@ -441,7 +441,7 @@ void UILabel::rebufferQuads(const std::vector<struct UILabelText> newTexts) {
|
||||
auto vert = itQuad->first;
|
||||
auto uvs = itQuad->second;
|
||||
|
||||
QuadMesh::bufferQuadMeshWithZ(&this->mesh,
|
||||
QuadMesh::bufferQuadMeshWithZ(this->mesh,
|
||||
glm::vec2(vert.x, vert.y), glm::vec2(uvs.x, uvs.y),
|
||||
glm::vec2(vert.w, vert.z), glm::vec2(uvs.w, uvs.z),
|
||||
0.0f,
|
||||
@ -459,7 +459,7 @@ void UILabel::rebufferQuads(const std::vector<struct UILabelText> newTexts) {
|
||||
auto vert = itQuad->first;
|
||||
auto uvs = itQuad->second;
|
||||
|
||||
QuadMesh::bufferQuadMeshWithZ(&this->meshDecorations,
|
||||
QuadMesh::bufferQuadMeshWithZ(this->meshDecorations,
|
||||
glm::vec2(vert.x, vert.y), glm::vec2(uvs.x, uvs.y),
|
||||
glm::vec2(vert.w, vert.z), glm::vec2(uvs.w, uvs.z),
|
||||
0.0f,
|
||||
|
Reference in New Issue
Block a user