UI Hello World

This commit is contained in:
2022-10-23 01:01:16 -07:00
parent be529b70c1
commit 182eb70361
25 changed files with 663 additions and 41 deletions

View File

@ -7,22 +7,6 @@
using namespace Dawn;
std::shared_ptr<SceneItem> cubeCreate(std::shared_ptr<Scene> scene) {
auto cubeObject = scene->createSceneItem();
auto cubeMeshRenderer = cubeObject->addComponent<MeshRenderer>();
auto cubeMaterial = cubeObject->addComponent<Material>();
cubeMeshRenderer->mesh = std::make_shared<Mesh>();
cubeMeshRenderer->mesh->createBuffers(CUBE_VERTICE_COUNT, CUBE_INDICE_COUNT);
CubeMesh::buffer(
*cubeMeshRenderer->mesh,
glm::vec3(-0.5f, -0.5f, -0.5f), glm::vec3(1, 1, 1),
0, 0
);
return cubeObject;
}
std::shared_ptr<SceneItem> cubeParent;
DawnGame::DawnGame(DawnHost &host) :
host(host),
renderManager(*this)
@ -39,12 +23,14 @@ int32_t DawnGame::init() {
auto camera = cameraObject->addComponent<Camera>();
camera->transform.lookAt(glm::vec3(5, 5, 5), glm::vec3(0, 0, 0));
cubeParent = cubeCreate(this->scene);
auto cubeChild = cubeCreate(this->scene);
cubeChild->getComponent<Material>()->colorValues[cubeChild->getComponent<Material>()->getShader()->getParameterByName("u_Color")] = COLOR_MAGENTA;
cubeChild->transform.setParent(&cubeParent->transform);
cubeChild->transform.setLocalPosition(glm::vec3(1, 0, 0));
cubeParent->transform.setLocalPosition(glm::vec3(-0.5f, 0, 0));
auto canvas = UICanvas::createCanvas(this->scene);
auto test = canvas->addElement<UISprite>();
test->setTransform(
UI_COMPONENT_ALIGN_START,
UI_COMPONENT_ALIGN_START,
glm::vec4(0, 0, 32, 32),
0
);
return DAWN_GAME_INIT_RESULT_SUCCESS;
}
@ -54,8 +40,6 @@ int32_t DawnGame::update(float_t delta) {
if(this->scene != nullptr) this->scene->update();
cubeParent->transform.setLocalPosition(cubeParent->transform.getLocalPosition() + glm::vec3(-delta, 0, 0));
this->renderManager.update();
return DAWN_GAME_UPDATE_RESULT_SUCCESS;

View File

@ -6,7 +6,4 @@
#pragma once
#include "game/DawnGame.hpp"
#include "scene/components/Components.hpp"
#include "display/mesh/QuadMesh.hpp"
#include "display/mesh/TriangleMesh.hpp"
#include "display/mesh/CubeMesh.hpp"
#include "asset/assets/TextureAsset.hpp"
#include "ui/UISprite.hpp"