mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-09 04:51:49 +00:00
block.material + minor refactor
This commit is contained in:
parent
8730b03a52
commit
b1a79e3a6e
9 changed files with 35 additions and 16 deletions
|
|
@ -72,13 +72,15 @@ void LevelScreen::saveWorldPreview() {
|
|||
logger.info() << "saving world preview";
|
||||
auto paths = engine->getPaths();
|
||||
auto player = controller->getPlayer();
|
||||
auto& settings = engine->getSettings();
|
||||
int previewSize = settings.ui.worldPreviewSize.get();
|
||||
|
||||
// camera special copy for world preview
|
||||
Camera camera = *player->camera;
|
||||
camera.setFov(glm::radians(70.0f));
|
||||
auto& settings = engine->getSettings();
|
||||
int previewSize = settings.ui.worldPreviewSize.get();
|
||||
Viewport viewport(previewSize * 1.5, previewSize);
|
||||
GfxContext ctx(nullptr, viewport, batch.get());
|
||||
|
||||
worldRenderer->draw(ctx, &camera, false, postProcessing.get());
|
||||
auto image = postProcessing->toImage();
|
||||
image->flipY();
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "../../graphics/ui/elements/Menu.hpp"
|
||||
#include "../../graphics/core/Batch2D.hpp"
|
||||
#include "../../graphics/core/Shader.hpp"
|
||||
#include "../../graphics/core/Texture.hpp"
|
||||
#include "../../window/Window.h"
|
||||
#include "../../window/Camera.h"
|
||||
#include "../../engine.h"
|
||||
|
|
@ -16,7 +17,7 @@ MenuScreen::MenuScreen(Engine* engine) : Screen(engine) {
|
|||
menu->reset();
|
||||
menu->setPage("main");
|
||||
|
||||
uicamera.reset(new Camera(glm::vec3(), Window::height));
|
||||
uicamera = std::make_unique<Camera>(glm::vec3(), Window::height);
|
||||
uicamera->perspective = false;
|
||||
uicamera->flipped = true;
|
||||
}
|
||||
|
|
@ -28,23 +29,26 @@ void MenuScreen::update(float delta) {
|
|||
}
|
||||
|
||||
void MenuScreen::draw(float delta) {
|
||||
auto assets = engine->getAssets();
|
||||
|
||||
Window::clear();
|
||||
Window::setBgColor(glm::vec3(0.2f));
|
||||
|
||||
uicamera->setFov(Window::height);
|
||||
Shader* uishader = engine->getAssets()->getShader("ui");
|
||||
Shader* uishader = assets->getShader("ui");
|
||||
uishader->use();
|
||||
uishader->uniformMatrix("u_projview", uicamera->getProjView());
|
||||
|
||||
uint width = Window::width;
|
||||
uint height = Window::height;
|
||||
|
||||
auto bg = assets->getTexture("gui/menubg");
|
||||
batch->begin();
|
||||
batch->texture(engine->getAssets()->getTexture("gui/menubg"));
|
||||
batch->texture(bg);
|
||||
batch->rect(
|
||||
0, 0,
|
||||
width, height, 0, 0, 0,
|
||||
UVRegion(0, 0, width/64, height/64),
|
||||
UVRegion(0, 0, width/bg->getWidth(), height/bg->getHeight()),
|
||||
false, false, glm::vec4(1.0f)
|
||||
);
|
||||
batch->flush();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue