Compare commits

..

2 Commits

Author SHA1 Message Date
0f9be33bd6 Primitive Blending functionality 2023-01-01 17:02:44 +01:00
75aa577211 Relation widget + small memory leak solved 2023-01-01 17:00:48 +01:00
6 changed files with 26 additions and 17 deletions

View File

@ -60,21 +60,24 @@ public:
void ShowComponents(Entity& selected)
{
auto component = selected.GetComponent<IdentifierComponent>();
char* buf = new char(component.name.size());
strcpy(buf, component.name.c_str());
ImGui::InputText("Name:", buf, sizeof(buf), ImGuiInputTextFlags_ReadOnly);
ImGui::InputText("Name:", (char*)component.name.c_str(), component.name.size() * sizeof(char), ImGuiInputTextFlags_ReadOnly);
if (selected.HasComponent<TransformComponent>()) {
auto& transform = selected.GetComponent<TransformComponent>();
if (ImGui::CollapsingHeader("Transform", ImGuiTreeNodeFlags_DefaultOpen)) {
ImGui::DragFloat3("Position", glm::value_ptr(transform.Position), 0.01f);
ImGui::DragFloat3("Rotation", glm::value_ptr(transform.Rotation), 0.01f);
ImGui::DragFloat3("Scale", glm::value_ptr(transform.Scale), 0.01f, 0.0f);
ImGui::DragFloat3("Position", glm::value_ptr(transform.Position), 0.1f);
ImGui::DragFloat3("Rotation", glm::value_ptr(transform.Rotation), 0.1f);
ImGui::DragFloat3("Scale", glm::value_ptr(transform.Scale), 0.1f, 0.0f);
}
if (selected.HasComponent<RelationComponent>()) {
ImGui::Text("Has relation");
}
}
if (selected.HasComponent<Render3DComponent>()) {
auto& render3d = selected.GetComponent<Render3DComponent>();
if (ImGui::CollapsingHeader("Render3D", ImGuiTreeNodeFlags_DefaultOpen)) {

View File

@ -1,8 +1,5 @@
#include <YoggieEngine.h>
#include "CubeMap.h"
#define STB_IMAGE_IMPLEMENTATION
#include "../stb_image.h"
YoggieEngine::CubeMap::CubeMap()
{

View File

@ -1,11 +1,8 @@
#include <YoggieEngine.h>
#include "Texture.h"
#include <GLFW/glfw3.h>
#define STB_IMAGE_IMPLEMENTATION
#include "../stb_image.h"
namespace YoggieEngine {
Texture::Texture(const std::string texturePath) {
Texture::Texture(const std::string texturePath , bool Transparency) {
int width, height, channels;
unsigned char* data = stbi_load(texturePath.c_str(), &width, &height, &channels, 0);
@ -16,8 +13,15 @@ namespace YoggieEngine {
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
glGenerateMipmap(GL_TEXTURE_2D);
if (Transparency) {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
}
else {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
}
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

View File

@ -2,7 +2,7 @@
namespace YoggieEngine {
class Texture {
public:
Texture(const std::string texturePath);
Texture(const std::string texturePath, bool Transparency = false);
void Bind();
void Unbind();

View File

@ -0,0 +1,4 @@
#include <YoggieEngine.h>
#define STB_IMAGE_IMPLEMENTATION
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image.h"

View File

@ -1,5 +1,6 @@
#pragma once
// Important STL
#include <string>
#include <list>
@ -18,7 +19,7 @@
#include <glm/gtc/type_ptr.hpp>
#include <imgui.h>
#include <entt/entt.hpp>
#include "Graphics/stb_image.h"
extern "C"