mesh refactor 3

This commit is contained in:
h4570
2022-08-10 21:58:32 +02:00
parent 10e0f52d44
commit 0a2d19b2d0
26 changed files with 321 additions and 356 deletions
+8 -2
View File
@@ -15,18 +15,24 @@
using Tyra::Color;
using Tyra::FileUtils;
using Tyra::ObjLoader;
using Tyra::ObjLoaderOptions;
namespace Demo {
DebugObject::DebugObject(TextureRepository* repo) {
ObjLoader loader;
ObjLoaderOptions objOptions;
objOptions.flipUVs = true;
objOptions.scale = .5F;
auto* data =
loader.load(FileUtils::fromCwd("game/models/debug.obj"), 1, .5F, true);
loader.load(FileUtils::fromCwd("game/models/debug.obj"), objOptions);
data->normalsEnabled = false;
data->textureCoordsEnabled = false;
mesh = new StaticMesh(*data);
delete data;
mesh->getMaterial(0)->color = Color(192.0F, 32.0F, 32.0F, 128.0F);
rotator = 0.0F;
allocateOptions();
+8 -2
View File
@@ -14,20 +14,26 @@
using Tyra::FileUtils;
using Tyra::ObjLoader;
using Tyra::ObjLoaderOptions;
namespace Demo {
Enemy::Enemy(TextureRepository* repo) {
ObjLoader loader;
ObjLoaderOptions objOptions;
objOptions.animation.count = 4;
objOptions.flipUVs = true;
objOptions.scale = 25.0F;
auto* bodyData = loader.load(
FileUtils::fromCwd("game/models/soldier/soldier.obj"), 4, 25.0F, true);
FileUtils::fromCwd("game/models/soldier/soldier.obj"), objOptions);
bodyData->normalsEnabled = false;
bodyMesh = new DynamicMesh(*bodyData);
delete bodyData;
bodyMesh->playAnimation(0, bodyMesh->getFramesCount() - 1);
bodyMesh->playAnimation(0, bodyMesh->frames.size() - 1);
bodyMesh->setAnimSpeed(0.1F);
repo->addByMesh(bodyMesh, FileUtils::fromCwd("game/models/soldier/"), "png");
+8 -6
View File
@@ -14,21 +14,23 @@
using Tyra::FileUtils;
using Tyra::ObjLoader;
using Tyra::ObjLoaderOptions;
namespace Demo {
Weapon::Weapon(TextureRepository* repo) {
ObjLoader loader;
auto* data = loader.load(FileUtils::fromCwd("game/models/ak47/ak47.obj"), 1,
.5F, true);
ObjLoaderOptions objOptions;
objOptions.flipUVs = true;
objOptions.scale = .5F;
auto* data =
loader.load(FileUtils::fromCwd("game/models/ak47/ak47.obj"), objOptions);
data->normalsEnabled = false;
mesh = new StaticMesh(*data);
delete data;
mesh->getMaterial(0)->color.r = 64.0F;
mesh->getMaterial(0)->color.g = 64.0F;
mesh->getMaterial(0)->color.b = 64.0F;
mesh->translation.translateX(2.85F);
mesh->translation.translateY(-3.40F);
mesh->translation.translateZ(-10.50F);
+7 -8
View File
@@ -14,24 +14,23 @@
using Tyra::FileUtils;
using Tyra::ObjLoader;
using Tyra::ObjLoaderOptions;
namespace Demo {
Skybox::Skybox(TextureRepository* repo) {
ObjLoader loader;
ObjLoaderOptions objOptions;
objOptions.flipUVs = true;
objOptions.scale = 100.0F;
auto* data = loader.load(FileUtils::fromCwd("game/models/skybox/skybox.obj"),
1, 100.0F, true);
objOptions);
data->normalsEnabled = false;
mesh = new StaticMesh(*data);
delete data;
for (u32 i = 0; i < mesh->getMaterialsCount(); i++) {
auto* material = mesh->getMaterial(i);
material->color.r = 16.0F;
material->color.g = 16.0F;
material->color.b = 16.0F;
}
repo->addByMesh(mesh, FileUtils::fromCwd("game/models/skybox/"), "png");
allocateOptions();
+8 -4
View File
@@ -14,6 +14,7 @@
using Tyra::FileUtils;
using Tyra::ObjLoader;
using Tyra::ObjLoaderOptions;
namespace Demo {
Terrain::Terrain(TextureRepository* repo)
@@ -23,13 +24,16 @@ Terrain::Terrain(TextureRepository* repo)
Vec4(286.0F, 0.0F, 443.3F, 1.0F) // Right down
) {
ObjLoader loader;
ObjLoaderOptions objOptions;
objOptions.flipUVs = true;
objOptions.scale = 25.0F;
auto* data = loader.load(
FileUtils::fromCwd("game/models/terrain/terrain.obj"), 1, 25.0F, true);
FileUtils::fromCwd("game/models/terrain/terrain.obj"), objOptions);
data->normalsEnabled = false;
mesh = new StaticMesh(*data);
mesh->getMaterial(0)->color.r = 32.0F;
mesh->getMaterial(0)->color.g = 32.0F;
mesh->getMaterial(0)->color.b = 32.0F;
delete data;
repo->addByMesh(mesh, FileUtils::fromCwd("game/models/terrain/"), "png");