obj loader refactor

This commit is contained in:
h4570
2022-08-08 21:37:51 +02:00
parent 599d44a491
commit a3e4ee8496
24 changed files with 4517 additions and 464 deletions
+3 -3
View File
@@ -9,17 +9,17 @@
*/
#include "states/game/debug_object.hpp"
#include <loaders/3d/tyrobj/tyrobj_loader.hpp>
#include <loaders/3d/obj_loader/obj_loader.hpp>
#include <file/file_utils.hpp>
using Tyra::Color;
using Tyra::FileUtils;
using Tyra::TyrobjLoader;
using Tyra::ObjLoader;
namespace Demo {
DebugObject::DebugObject(TextureRepository* repo) {
TyrobjLoader loader;
ObjLoader loader;
auto* data =
loader.load(FileUtils::fromCwd("game/models/debug.obj"), 1, .5F, true);
data->normalsEnabled = false;
+6 -32
View File
@@ -9,56 +9,30 @@
*/
#include "states/game/enemy/enemy.hpp"
#include <loaders/3d/tyrobj/tyrobj_loader.hpp>
#include "loaders/3d/obj_loader/obj_loader.hpp"
#include <file/file_utils.hpp>
using Tyra::FileUtils;
using Tyra::TyrobjLoader;
using Tyra::ObjLoader;
namespace Demo {
Enemy::Enemy(TextureRepository* repo) {
TyrobjLoader loader;
ObjLoader loader;
auto* bodyData = loader.load(
FileUtils::fromCwd("game/models/soldier/soldier.obj"), 4, 30.0F, true);
FileUtils::fromCwd("game/models/soldier/soldier.obj"), 4, 20.0F, true);
bodyData->normalsEnabled = false;
bodyMesh = new DynamicMesh(*bodyData);
TYRA_LOG("First vertex: ", bodyData->frames[0]->vertices[0].getPrint());
TYRA_LOG("Last vertex: ",
bodyData->frames[0]
->vertices[bodyData->frames[0]->verticesCount - 1]
.getPrint());
TYRA_LOG("First index: ", bodyData->materials[0]->vertexFaces[0]);
TYRA_LOG(
"Last index: ",
bodyData->materials[0]->vertexFaces[bodyData->materials[0]->count - 1]);
delete bodyData;
bodyMesh->getMaterial(0)->color.r = 16.0F;
bodyMesh->getMaterial(0)->color.g = 16.0F;
bodyMesh->getMaterial(0)->color.b = 16.0F;
bodyMesh->playAnimation(0, bodyMesh->getFramesCount() - 1);
bodyMesh->setAnimSpeed(0.15F);
bodyMesh->setAnimSpeed(0.1F);
repo->addByMesh(bodyMesh, FileUtils::fromCwd("game/models/soldier/"), "png");
// auto* headData = loader.load(
// FileUtils::fromCwd("game/models/soldier/head.md2"), scale, true);
// headData->normalsEnabled = false;
// headMesh = new DynamicMesh(*headData);
// delete headData;
// headMesh->getMaterial(0)->color.r = 16.0F;
// headMesh->getMaterial(0)->color.g = 16.0F;
// headMesh->getMaterial(0)->color.b = 16.0F;
// repo->addByMesh(headMesh, FileUtils::fromCwd("game/models/soldier/"),
// "png");
bodyMesh->translation.translateY(-5.0F);
allocateOptions();
+3 -3
View File
@@ -9,16 +9,16 @@
*/
#include "states/game/player/weapon.hpp"
#include <loaders/3d/tyrobj/tyrobj_loader.hpp>
#include <loaders/3d/obj_loader/obj_loader.hpp>
#include <file/file_utils.hpp>
using Tyra::FileUtils;
using Tyra::TyrobjLoader;
using Tyra::ObjLoader;
namespace Demo {
Weapon::Weapon(TextureRepository* repo) {
TyrobjLoader loader;
ObjLoader loader;
auto* data = loader.load(FileUtils::fromCwd("game/models/ak47/ak47.obj"), 1,
.5F, true);
data->normalsEnabled = false;
+3 -3
View File
@@ -9,16 +9,16 @@
*/
#include "states/game/skybox/skybox.hpp"
#include <loaders/3d/tyrobj/tyrobj_loader.hpp>
#include <loaders/3d/obj_loader/obj_loader.hpp>
#include <file/file_utils.hpp>
using Tyra::FileUtils;
using Tyra::TyrobjLoader;
using Tyra::ObjLoader;
namespace Demo {
Skybox::Skybox(TextureRepository* repo) {
TyrobjLoader loader;
ObjLoader loader;
auto* data = loader.load(FileUtils::fromCwd("game/models/skybox/skybox.obj"),
1, 100.0F, true);
data->normalsEnabled = false;
+3 -3
View File
@@ -9,11 +9,11 @@
*/
#include "states/game/terrain/terrain.hpp"
#include <loaders/3d/tyrobj/tyrobj_loader.hpp>
#include <loaders/3d/obj_loader/obj_loader.hpp>
#include <file/file_utils.hpp>
using Tyra::FileUtils;
using Tyra::TyrobjLoader;
using Tyra::ObjLoader;
namespace Demo {
Terrain::Terrain(TextureRepository* repo)
@@ -22,7 +22,7 @@ Terrain::Terrain(TextureRepository* repo)
Vec4(-196.6F, 0.0F, -412.0F, 1.0F), // Left up
Vec4(286.0F, 0.0F, 443.3F, 1.0F) // Right down
) {
TyrobjLoader loader;
ObjLoader loader;
auto* data = loader.load(
FileUtils::fromCwd("game/models/terrain/terrain.obj"), 1, 25.0F, true);
data->normalsEnabled = false;