Font working
This commit is contained in:
@ -10,6 +10,8 @@ using namespace Dawn;
|
||||
|
||||
std::shared_ptr<TrueTypeAsset> asset;
|
||||
std::shared_ptr<TextureAsset> assetTexture;
|
||||
std::shared_ptr<UILabel> label;
|
||||
float_t fs = 1.0f;
|
||||
|
||||
DawnGame::DawnGame(DawnHost &host) :
|
||||
host(host),
|
||||
@ -25,16 +27,9 @@ int32_t DawnGame::init() {
|
||||
|
||||
auto cameraObject = this->scene->createSceneItem();
|
||||
auto camera = cameraObject->addComponent<Camera>();
|
||||
camera->transform.lookAt(glm::vec3(5, 5, 5), glm::vec3(0, 0, 0));
|
||||
camera->transform.lookAt(glm::vec3(50, 50, 50), glm::vec3(0, 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
|
||||
// );
|
||||
auto canvas = UICanvas::createCanvas(this->scene);
|
||||
|
||||
asset = this->assetManager.load<TrueTypeAsset>("truetype_ark");
|
||||
assetTexture = this->assetManager.load<TextureAsset>("texture_test");
|
||||
@ -42,17 +37,25 @@ int32_t DawnGame::init() {
|
||||
this->assetManager.update();
|
||||
}
|
||||
|
||||
// auto sprite = canvas->addElement<UISprite>();
|
||||
// sprite->setTransform(
|
||||
// UI_COMPONENT_ALIGN_START,
|
||||
// UI_COMPONENT_ALIGN_START,
|
||||
// glm::vec4(0, 0, 200, 200),
|
||||
// 0
|
||||
// );
|
||||
// sprite->texture = &asset->font.getTexture();
|
||||
|
||||
auto text = this->scene->createSceneItem();
|
||||
auto meshRenderer = text->addComponent<MeshRenderer>();
|
||||
auto material = text->addComponent<Material>();
|
||||
meshRenderer->mesh = std::make_shared<Mesh>();
|
||||
// meshRenderer->mesh->createBuffers(QUAD_VERTICE_COUNT, QUAD_INDICE_COUNT);
|
||||
// QuadMesh::bufferQuadMesh(*meshRenderer->mesh, glm::vec2(0, 0), glm::vec2(0, 0), glm::vec2(1, 1), glm::vec2(1, 1), 0, 0);
|
||||
|
||||
struct FontMeasure measure;
|
||||
asset->font.buffer("Test", 16.0f, -1, *meshRenderer->mesh, &measure);
|
||||
material->textureValues[material->getShader()->getParameterByName("u_Text")] = std::shared_ptr<Texture>(&asset->font.getTexture());
|
||||
label = canvas->addElement<UILabel>();
|
||||
label->setTransform(
|
||||
UI_COMPONENT_ALIGN_START,
|
||||
UI_COMPONENT_ALIGN_START,
|
||||
glm::vec4(0, 0, 200, 200),
|
||||
0
|
||||
);
|
||||
label->setText("Hello World\nHow are you today?");
|
||||
label->setFont(&asset->font);
|
||||
|
||||
return DAWN_GAME_INIT_RESULT_SUCCESS;
|
||||
}
|
||||
@ -61,6 +64,8 @@ int32_t DawnGame::update(float_t delta) {
|
||||
this->assetManager.update();
|
||||
|
||||
if(this->scene != nullptr) this->scene->update();
|
||||
|
||||
label->setFontSize(fs += delta);
|
||||
|
||||
this->renderManager.update();
|
||||
|
||||
|
@ -6,5 +6,6 @@
|
||||
#pragma once
|
||||
#include "game/DawnGame.hpp"
|
||||
#include "scene/components/Components.hpp"
|
||||
#include "ui/UILabel.hpp"
|
||||
#include "ui/UISprite.hpp"
|
||||
#include "asset/assets/TrueTypeAsset.hpp"
|
Reference in New Issue
Block a user