Basic LOD system
This commit is contained in:
parent
a043847bad
commit
c1c62a9b94
@ -7,7 +7,7 @@ find_package(OpenGL REQUIRED)
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(glm REQUIRED)
|
||||
|
||||
add_executable(ecsgame Util/glad.c Util/OBJ_Loader.h Rendering/Shader.cpp Rendering/Shader.h main.cpp ECS/Components/Transform.h ECS/Components/Movement.h ECS/Events/InputEvent.h ECS/Events/MouseMoveEvent.h ECS/Systems/GravitySystem.h ECS/Systems/PositionDebugSystem.h ECS/Systems/KeyboardMovementSystem.h ECS/Components/Camera.h ECS/Systems/RenderSystem.h ECS/Components/Mesh.h ECS/Systems/MouseLookSystem.h ECS/Components/MouseLook.h ECS/Components/ObjMesh.h Util/stb_setup.cpp ECS/Components/Texture.h)
|
||||
add_executable(ecsgame Util/glad.c Util/OBJ_Loader.h Rendering/Shader.cpp Rendering/Shader.h main.cpp ECS/Components/Transform.h ECS/Components/Movement.h ECS/Events/InputEvent.h ECS/Events/MouseMoveEvent.h ECS/Systems/GravitySystem.h ECS/Systems/PositionDebugSystem.h ECS/Systems/KeyboardMovementSystem.h ECS/Components/Camera.h ECS/Systems/RenderSystem.h ECS/Components/Mesh.h ECS/Systems/MouseLookSystem.h ECS/Components/MouseLook.h ECS/Components/ObjMesh.h Util/stb_setup.cpp ECS/Components/Texture.h ECS/Components/LODObjMesh.h)
|
||||
|
||||
include_directories(${OPENGL_INCLUDE_DIRS})
|
||||
|
||||
|
18
ECS/Components/LODObjMesh.h
Normal file
18
ECS/Components/LODObjMesh.h
Normal file
@ -0,0 +1,18 @@
|
||||
//
|
||||
// Created by karl on 15.01.20.
|
||||
//
|
||||
|
||||
#ifndef ECSGAME_LODOBJMESH_H
|
||||
#define ECSGAME_LODOBJMESH_H
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "ObjMesh.h"
|
||||
|
||||
struct LODObjMesh {
|
||||
explicit LODObjMesh(std::vector<ObjMesh> meshes) : meshes(std::move(meshes)) {}
|
||||
|
||||
std::vector<ObjMesh> meshes;
|
||||
};
|
||||
|
||||
#endif //ECSGAME_LODOBJMESH_H
|
@ -9,7 +9,21 @@
|
||||
#include "../../Util/OBJ_Loader.h"
|
||||
|
||||
struct ObjMesh : public Mesh {
|
||||
explicit ObjMesh(const std::string &path) : Mesh(getVerticesFromFile(path), getIndicesFromFile(path)) {}
|
||||
struct Settings {
|
||||
Settings(float minDistanceForRender, float maxDistanceForRender) : minDistanceForRender(
|
||||
minDistanceForRender), maxDistanceForRender(maxDistanceForRender) {}
|
||||
|
||||
float minDistanceForRender = 0.0;
|
||||
float maxDistanceForRender = 1000.0;
|
||||
};
|
||||
|
||||
explicit ObjMesh(const std::string &path, const Settings &settings) : Mesh(getVerticesFromFile(path), getIndicesFromFile(path)),
|
||||
minDistance(settings.minDistanceForRender),
|
||||
maxDistance(settings.maxDistanceForRender) {}
|
||||
|
||||
float minDistance;
|
||||
|
||||
float maxDistance;
|
||||
|
||||
private:
|
||||
static std::vector<float> getVerticesFromFile(const std::string &path) {
|
||||
|
@ -30,19 +30,19 @@ struct Transform {
|
||||
matrix = glm::rotate(matrix, glm::radians(degrees), axis);
|
||||
}
|
||||
|
||||
glm::vec3 getPosition() {
|
||||
glm::vec3 getPosition() const {
|
||||
return matrix * glm::vec4(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
}
|
||||
|
||||
glm::vec3 forward() {
|
||||
glm::vec3 forward() const {
|
||||
return matrix * glm::vec4(0.0, 0.0, -1.0, 0.0);
|
||||
}
|
||||
|
||||
glm::vec3 up() {
|
||||
glm::vec3 up() const {
|
||||
return matrix * glm::vec4(0.0, 1.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
glm::vec3 right() {
|
||||
glm::vec3 right() const {
|
||||
return matrix * glm::vec4(1.0, 0.0, 0.0, 0.0);
|
||||
}
|
||||
};
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "../../Rendering/Shader.h"
|
||||
#include "../Components/ObjMesh.h"
|
||||
#include "../Components/Texture.h"
|
||||
#include "../Components/LODObjMesh.h"
|
||||
|
||||
using namespace ECS;
|
||||
|
||||
@ -36,12 +37,38 @@ public:
|
||||
|
||||
// TODO: Is it possible to do get ObjMeshes in the Mesh loop above implicitly via polymorphism?
|
||||
pWorld->each<ObjMesh, Transform>([&](Entity *ent, ComponentHandle<ObjMesh> mesh, ComponentHandle<Transform> transform) {
|
||||
renderObjects.emplace_back(RenderObject(transform->matrix, 0, mesh.get()));
|
||||
// Add the object to the renderObjects to draw if the distance is within the min and max distance of the mesh
|
||||
glm::vec3 cameraPos = cameraTransform->getPosition();
|
||||
glm::vec3 objPos = transform->getPosition();
|
||||
float distance = glm::distance(cameraPos, objPos);
|
||||
|
||||
if (distance > mesh->minDistance && distance < mesh->maxDistance) {
|
||||
renderObjects.emplace_back(RenderObject(transform->matrix, 0, mesh.get()));
|
||||
}
|
||||
});
|
||||
|
||||
// ObjMesh with textures
|
||||
pWorld->each<ObjMesh, Transform, Texture>([&](Entity *ent, ComponentHandle<ObjMesh> mesh, ComponentHandle<Transform> transform, ComponentHandle<Texture> texture) {
|
||||
renderObjects.emplace_back(RenderObject(transform->matrix, texture->id, mesh.get()));
|
||||
// Add the object to the renderObjects to draw if the distance is within the min and max distance of the mesh
|
||||
glm::vec3 cameraPos = cameraTransform->getPosition();
|
||||
glm::vec3 objPos = transform->getPosition();
|
||||
float distance = glm::distance(cameraPos, objPos);
|
||||
|
||||
if (distance > mesh->minDistance && distance < mesh->maxDistance) {
|
||||
renderObjects.emplace_back(RenderObject(transform->matrix, texture->id, mesh.get()));
|
||||
}
|
||||
});
|
||||
|
||||
pWorld->each<LODObjMesh, Transform, Texture>([&](Entity *ent, ComponentHandle<LODObjMesh> lodMesh, ComponentHandle<Transform> transform, ComponentHandle<Texture> texture) {
|
||||
glm::vec3 cameraPos = cameraTransform->getPosition();
|
||||
glm::vec3 objPos = transform->getPosition();
|
||||
float distance = glm::distance(cameraPos, objPos);
|
||||
|
||||
for (const auto &mesh : lodMesh->meshes) {
|
||||
if (distance > mesh.minDistance && distance < mesh.maxDistance) {
|
||||
renderObjects.emplace_back(RenderObject(transform->matrix, texture->id, mesh));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// TODO: Separate lists for transparent and non-transparent RenderObjects. The non-transparent list is
|
||||
@ -69,9 +96,6 @@ public:
|
||||
unsigned int texture_id;
|
||||
Mesh mesh;
|
||||
};
|
||||
|
||||
private:
|
||||
float gravityAmount;
|
||||
};
|
||||
|
||||
#endif //ECSGAME_RENDERSYSTEM_H
|
||||
|
10
Resources/MonkeySimple.mtl
Normal file
10
Resources/MonkeySimple.mtl
Normal file
@ -0,0 +1,10 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl None
|
||||
Ns 500
|
||||
Ka 0.8 0.8 0.8
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
632
Resources/MonkeySimple.obj
Normal file
632
Resources/MonkeySimple.obj
Normal file
@ -0,0 +1,632 @@
|
||||
# Blender v2.80 (sub 75) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib MonkeySimple.mtl
|
||||
o Suzanne
|
||||
v 0.546875 0.054688 0.578125
|
||||
v -0.546875 0.054688 0.578125
|
||||
v -0.348823 -0.039891 0.626154
|
||||
v 0.348823 -0.039891 0.626154
|
||||
v 0.243136 0.183168 0.809604
|
||||
v 0.156250 0.054688 0.648438
|
||||
v -0.156250 0.054688 0.648438
|
||||
v -0.065623 0.241473 0.664332
|
||||
v 0.065623 0.241473 0.664332
|
||||
v 0.293751 0.363527 0.805224
|
||||
v 0.156250 0.437500 0.648438
|
||||
v -0.156250 0.437500 0.648438
|
||||
v 0.351562 0.515625 0.617188
|
||||
v -0.351562 0.515625 0.617188
|
||||
v -0.293751 0.363527 0.805224
|
||||
v -0.467091 0.308394 0.768123
|
||||
v 0.546875 0.437500 0.578125
|
||||
v -0.546875 0.437500 0.578125
|
||||
v 0.633263 0.242030 0.566494
|
||||
v -0.633263 0.242030 0.566494
|
||||
v 0.467091 0.308394 0.768123
|
||||
v -0.243136 0.183168 0.809604
|
||||
v 0.411605 0.129821 0.794655
|
||||
v -0.411605 0.129821 0.794655
|
||||
v 0.000000 0.372944 0.789694
|
||||
v 0.000000 -0.769082 0.715764
|
||||
v 0.000000 -0.187500 0.796875
|
||||
v 0.000000 0.455016 0.615114
|
||||
v 0.000000 0.739405 -0.758502
|
||||
v 0.000000 -0.382812 -0.351562
|
||||
v -0.226815 -0.192583 0.533658
|
||||
v 0.226815 -0.192583 0.533658
|
||||
v -0.356999 -0.930792 0.570588
|
||||
v 0.356999 -0.930792 0.570588
|
||||
v 0.586132 -0.069318 0.571588
|
||||
v 0.832894 0.398588 0.625095
|
||||
v -0.238492 0.773072 0.711296
|
||||
v 0.261609 0.481956 0.761877
|
||||
v 0.224125 0.132533 0.757452
|
||||
v -0.261609 0.481956 0.761877
|
||||
v -0.096071 -0.811170 0.703592
|
||||
v 0.000000 -0.195312 0.750000
|
||||
v 0.000000 -0.140625 0.742188
|
||||
v 0.094944 -0.120279 0.791976
|
||||
v -0.586132 -0.069318 0.571588
|
||||
v -0.832894 0.398588 0.625095
|
||||
v -0.254704 0.640816 0.854056
|
||||
v 0.254704 0.640816 0.854056
|
||||
v -0.094944 -0.120279 0.791976
|
||||
v 0.000000 -0.302549 0.784118
|
||||
v 0.127176 -0.248204 0.758767
|
||||
v -0.127176 -0.248204 0.758767
|
||||
v 0.096071 -0.811170 0.703592
|
||||
v 0.000000 -0.906041 0.681977
|
||||
v -0.324415 0.390499 0.806824
|
||||
v -0.548006 0.301844 0.681778
|
||||
v -0.543159 0.212734 0.683209
|
||||
v -0.414048 0.075581 0.705376
|
||||
v 0.197297 0.296692 0.761588
|
||||
v -0.197297 0.296692 0.761588
|
||||
v 0.324415 0.390499 0.806824
|
||||
v 0.414048 0.075581 0.705376
|
||||
v 0.543159 0.212734 0.683209
|
||||
v 0.548006 0.301844 0.681778
|
||||
v -0.224125 0.132533 0.757452
|
||||
v 0.109375 0.460938 0.609375
|
||||
v -0.109375 0.460938 0.609375
|
||||
v 0.238492 0.773072 0.711296
|
||||
v -0.457458 0.528564 0.474708
|
||||
v -0.711654 0.400774 0.307327
|
||||
v -0.785346 0.119346 0.417886
|
||||
v 0.785346 0.119346 0.417886
|
||||
v 0.000000 0.976525 0.190772
|
||||
v 0.000000 -0.087682 -0.771844
|
||||
v 0.000000 -0.955036 0.406793
|
||||
v 0.000000 -0.486100 0.298559
|
||||
v 0.854750 0.356817 -0.188387
|
||||
v -0.852752 0.400749 -0.446254
|
||||
v -0.664512 -0.122739 -0.118988
|
||||
v 0.533910 0.047078 -0.538381
|
||||
v -0.533910 0.047078 -0.538381
|
||||
v -0.214052 -0.410230 0.341908
|
||||
v 0.325481 -0.912528 0.409040
|
||||
v -0.325481 -0.912528 0.409040
|
||||
v 0.214052 -0.410230 0.341908
|
||||
v 0.453125 0.867188 -0.382812
|
||||
v -0.453125 0.867188 -0.382812
|
||||
v -0.476077 0.899132 0.128827
|
||||
v 0.476077 0.899132 0.128827
|
||||
v 0.457458 0.528564 0.474708
|
||||
v 0.711654 0.400774 0.307327
|
||||
v -0.781498 0.576058 0.095848
|
||||
v 0.781498 0.576058 0.095848
|
||||
v 0.770823 0.623203 -0.342437
|
||||
v -0.770823 0.623203 -0.342437
|
||||
v -0.394325 -0.238686 -0.333531
|
||||
v 0.394325 -0.238686 -0.333531
|
||||
v -0.908821 -0.067690 -0.196000
|
||||
v -1.381379 0.178077 -0.486387
|
||||
v -1.144385 0.493109 -0.352791
|
||||
v 1.207970 0.310146 -0.440908
|
||||
v 1.144385 0.493109 -0.352791
|
||||
v 0.908821 -0.067690 -0.196000
|
||||
v -1.147014 0.048217 -0.437880
|
||||
v -0.962401 0.305884 -0.351058
|
||||
v 0.736780 0.072512 -0.234252
|
||||
v 0.664512 -0.122739 -0.118988
|
||||
v -0.736780 0.072512 -0.234252
|
||||
v -0.854750 0.356817 -0.188387
|
||||
v -0.864912 0.016082 -0.314259
|
||||
v 0.962401 0.305884 -0.351058
|
||||
v 1.147014 0.048217 -0.437880
|
||||
v 0.864912 0.016082 -0.314259
|
||||
v -1.207970 0.310146 -0.440908
|
||||
v -1.227002 0.480829 -0.552827
|
||||
v 1.227002 0.480829 -0.552827
|
||||
v 1.381379 0.178077 -0.486387
|
||||
v -0.825112 -0.141955 -0.351496
|
||||
v 0.825112 -0.141955 -0.351496
|
||||
v 0.852752 0.400749 -0.446254
|
||||
vt 0.900047 0.600711
|
||||
vt 0.865294 0.596428
|
||||
vt 0.920244 0.524371
|
||||
vt 0.863045 0.814502
|
||||
vt 0.897955 0.811764
|
||||
vt 0.914742 0.888926
|
||||
vt 0.798506 0.569552
|
||||
vt 0.853018 0.521562
|
||||
vt 0.795130 0.838386
|
||||
vt 0.847458 0.888748
|
||||
vt 0.860099 0.630901
|
||||
vt 0.859385 0.779832
|
||||
vt 0.842259 0.702752
|
||||
vt 0.791018 0.645443
|
||||
vt 0.896663 0.634707
|
||||
vt 0.896082 0.777653
|
||||
vt 0.844752 0.707260
|
||||
vt 0.921180 0.713713
|
||||
vt 0.968213 0.770220
|
||||
vt 0.968392 0.573812
|
||||
vt 0.613919 0.156910
|
||||
vt 0.662732 0.229131
|
||||
vt 0.537280 0.191053
|
||||
vt 0.374310 0.231491
|
||||
vt 0.423476 0.157362
|
||||
vt 0.500867 0.191082
|
||||
vt 0.701444 0.312420
|
||||
vt 0.716667 0.255171
|
||||
vt 0.424750 0.406746
|
||||
vt 0.336822 0.319015
|
||||
vt 0.434765 0.379876
|
||||
vt 0.521282 0.351496
|
||||
vt 0.608285 0.376192
|
||||
vt 0.619392 0.402270
|
||||
vt 0.582120 0.273218
|
||||
vt 0.457513 0.274759
|
||||
vt 0.461276 0.311337
|
||||
vt 0.527109 0.076693
|
||||
vt 0.518927 0.067033
|
||||
vt 0.550889 0.061904
|
||||
vt 0.510745 0.076681
|
||||
vt 0.486988 0.061843
|
||||
vt 0.544940 0.168019
|
||||
vt 0.493063 0.168121
|
||||
vt 0.519132 0.185382
|
||||
vt 0.519841 0.200843
|
||||
vt 0.517577 0.190607
|
||||
vt 0.519017 0.160549
|
||||
vt 0.647267 0.283770
|
||||
vt 0.619457 0.263699
|
||||
vt 0.391580 0.287347
|
||||
vt 0.419367 0.266052
|
||||
vt 0.435100 0.343509
|
||||
vt 0.389280 0.303332
|
||||
vt 0.432040 0.329077
|
||||
vt 0.579480 0.309446
|
||||
vt 0.608931 0.325978
|
||||
vt 0.606436 0.340309
|
||||
vt 0.968392 0.645333
|
||||
vt 0.770919 0.306725
|
||||
vt 0.558254 0.053877
|
||||
vt 0.636784 0.083229
|
||||
vt 0.479647 0.053791
|
||||
vt 0.400621 0.082778
|
||||
vt 0.318792 0.259643
|
||||
vt 0.175905 0.137223
|
||||
vt 0.112803 0.039739
|
||||
vt 0.226368 0.098615
|
||||
vt 0.806925 0.103471
|
||||
vt 0.805584 0.010786
|
||||
vt 0.916973 0.056771
|
||||
vt 0.783131 0.156451
|
||||
vt 0.827740 0.210975
|
||||
vt 0.248340 0.155313
|
||||
vt 0.203432 0.216899
|
||||
vt 0.874203 0.325258
|
||||
vt 0.819308 0.278589
|
||||
vt 0.861794 0.236707
|
||||
vt 0.208596 0.287729
|
||||
vt 0.147220 0.341845
|
||||
vt 0.160019 0.241216
|
||||
vt 0.815858 0.445381
|
||||
vt 0.763011 0.431216
|
||||
vt 0.786267 0.369211
|
||||
vt 0.279331 0.457858
|
||||
vt 0.219260 0.477186
|
||||
vt 0.249207 0.387964
|
||||
vt 0.826814 0.463153
|
||||
vt 0.207578 0.498306
|
||||
vt 0.262597 0.316840
|
||||
vt 0.840546 0.202788
|
||||
vt 0.854987 0.141773
|
||||
vt 0.196555 0.864744
|
||||
vt 0.161809 0.747616
|
||||
vt 0.198911 0.798981
|
||||
vt 0.225263 0.743995
|
||||
vt 0.532373 0.749055
|
||||
vt 0.462517 0.691697
|
||||
vt 0.595488 0.754506
|
||||
vt 0.274563 0.817146
|
||||
vt 0.357746 0.622754
|
||||
vt 0.350761 0.724799
|
||||
vt 0.296771 0.688391
|
||||
vt 0.443165 0.731721
|
||||
vt 0.407791 0.726649
|
||||
vt 0.315148 0.729004
|
||||
vt 0.337300 0.863005
|
||||
vt 0.232656 0.176633
|
||||
vt 0.481254 0.820560
|
||||
vt 0.557519 0.870067
|
||||
vt 0.557052 0.804584
|
||||
vt 0.661965 0.735554
|
||||
vt 0.707492 0.759884
|
||||
vt 0.741958 0.591463
|
||||
vt 0.042009 0.548905
|
||||
vt 0.106331 0.582808
|
||||
vt 0.095969 0.726496
|
||||
vt 0.492015 0.636113
|
||||
vt 0.658213 0.585676
|
||||
vt 0.268788 0.632175
|
||||
vt 0.498072 0.552315
|
||||
vt 0.264218 0.550140
|
||||
vt 0.791018 0.762238
|
||||
vt 0.918898 0.699697
|
||||
vt 0.965038 0.841671
|
||||
vt 0.650016 0.299280
|
||||
vt 0.518926 0.083741
|
||||
vt 0.553209 0.433063
|
||||
vt 0.523031 0.433628
|
||||
vt 0.492809 0.434538
|
||||
vt 0.692106 0.388274
|
||||
vt 0.350292 0.396229
|
||||
vt 0.530189 0.019143
|
||||
vt 0.647032 0.020893
|
||||
vt 0.391239 0.020125
|
||||
vt 0.507714 0.019143
|
||||
vt 0.232648 0.003484
|
||||
vt 0.996800 0.204807
|
||||
vt 0.173127 0.195258
|
||||
vt 0.006842 0.199644
|
||||
vt 0.915360 0.259804
|
||||
vt 0.927090 0.385070
|
||||
vt 0.087610 0.412904
|
||||
vt 0.098965 0.266968
|
||||
vt 0.402979 0.624712
|
||||
vt 0.417620 0.864486
|
||||
vt 0.796858 0.178006
|
||||
vt 0.049526 0.748824
|
||||
vn 0.7428 -0.1333 0.6561
|
||||
vn -0.7428 -0.1333 0.6561
|
||||
vn 0.4662 -0.7042 0.5356
|
||||
vn -0.4662 -0.7042 0.5356
|
||||
vn -0.1472 -0.6689 0.7286
|
||||
vn 0.1472 -0.6689 0.7286
|
||||
vn -0.6578 -0.3748 0.6534
|
||||
vn -0.5858 0.1836 0.7894
|
||||
vn 0.5858 0.1836 0.7894
|
||||
vn 0.6197 0.3437 0.7056
|
||||
vn 0.2249 0.7902 0.5701
|
||||
vn 0.7809 0.3130 0.5406
|
||||
vn 0.0882 -0.0006 0.9961
|
||||
vn -0.0882 -0.0006 0.9961
|
||||
vn 0.2307 0.0725 0.9703
|
||||
vn -0.2307 0.0725 0.9703
|
||||
vn 0.2635 -0.8856 0.3824
|
||||
vn -0.2635 -0.8856 0.3824
|
||||
vn 0.7728 -0.4578 0.4396
|
||||
vn -0.4988 0.6633 0.5579
|
||||
vn -0.6693 0.5056 0.5444
|
||||
vn 0.4154 -0.0886 0.9053
|
||||
vn 0.1842 0.0400 0.9821
|
||||
vn -0.1842 0.0400 0.9821
|
||||
vn -0.1403 -0.0020 0.9901
|
||||
vn 0.2396 -0.4398 0.8655
|
||||
vn -0.2396 -0.4398 0.8655
|
||||
vn 0.4103 -0.1114 0.9051
|
||||
vn -0.4103 -0.1114 0.9051
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.4501 0.6780 0.5812
|
||||
vn 0.2654 -0.1791 0.9474
|
||||
vn -0.4490 -0.0823 0.8898
|
||||
vn 0.4490 -0.0823 0.8898
|
||||
vn 0.4368 -0.2727 0.8572
|
||||
vn -0.4368 -0.2727 0.8572
|
||||
vn -0.5522 0.6411 0.5329
|
||||
vn -0.4258 0.1464 0.8929
|
||||
vn 0.3750 0.6732 0.6373
|
||||
vn 0.9294 0.1043 -0.3539
|
||||
vn 0.9670 0.1922 -0.1669
|
||||
vn -0.9670 0.1922 -0.1669
|
||||
vn -0.3239 -0.7792 -0.5366
|
||||
vn -0.4353 -0.6552 -0.6174
|
||||
vn 0.3094 -0.7782 -0.5465
|
||||
vn 0.9268 -0.3735 -0.0402
|
||||
vn -0.9268 -0.3735 -0.0402
|
||||
vn 0.7284 0.6829 0.0557
|
||||
vn -0.7284 0.6829 0.0557
|
||||
vn -0.3972 0.4292 -0.8112
|
||||
vn 0.3972 0.4292 -0.8112
|
||||
vn -0.0296 0.9219 0.3863
|
||||
vn 0.0296 0.9219 0.3863
|
||||
vn -0.9139 0.3314 0.2344
|
||||
vn 0.9588 -0.0435 0.2806
|
||||
vn -0.9588 -0.0435 0.2806
|
||||
vn 0.9521 0.3056 0.0097
|
||||
vn -0.9521 0.3056 0.0097
|
||||
vn 0.9444 0.3254 0.0481
|
||||
vn 0.0792 -0.9153 0.3949
|
||||
vn -0.0792 -0.9153 0.3949
|
||||
vn 0.5050 -0.8512 0.1428
|
||||
vn -0.5050 -0.8512 0.1428
|
||||
vn 0.9534 -0.2289 0.1963
|
||||
vn -0.9534 -0.2289 0.1963
|
||||
vn 0.6299 -0.6316 -0.4519
|
||||
vn 0.1246 -0.4653 0.8763
|
||||
vn -0.2242 -0.0409 0.9737
|
||||
vn -0.4948 0.8660 -0.0723
|
||||
vn -0.3311 -0.3136 0.8900
|
||||
vn -0.1739 0.4521 0.8749
|
||||
vn 0.5481 0.7649 0.3383
|
||||
vn -0.5481 0.7649 0.3383
|
||||
vn -0.5828 -0.3594 0.7288
|
||||
vn -0.9254 -0.3751 -0.0552
|
||||
vn 0.7170 -0.6970 -0.0076
|
||||
vn 0.1406 0.8318 0.5370
|
||||
vn 0.3435 0.0037 0.9391
|
||||
vn -0.3435 0.0037 0.9391
|
||||
vn 0.5088 -0.0621 0.8586
|
||||
vn -0.5088 -0.0621 0.8586
|
||||
vn -0.4080 -0.0844 0.9091
|
||||
vn 0.8184 0.4850 0.3082
|
||||
vn -0.5307 0.8039 -0.2685
|
||||
vn 0.1606 0.9728 0.1670
|
||||
vn -0.2397 -0.1551 -0.9584
|
||||
vn -0.0865 -0.2554 -0.9629
|
||||
vn 0.0865 -0.2554 -0.9629
|
||||
vn 0.4483 -0.1759 -0.8764
|
||||
vn -0.4483 -0.1759 -0.8764
|
||||
vn 0.7536 -0.3115 0.5789
|
||||
vn -0.7536 -0.3115 0.5789
|
||||
vn -0.2566 -0.6836 0.6833
|
||||
vn 0.2566 -0.6836 0.6833
|
||||
vn 0.6578 -0.3748 0.6534
|
||||
vn -0.6197 0.3437 0.7056
|
||||
vn -0.2249 0.7902 0.5701
|
||||
vn -0.3750 0.6732 0.6373
|
||||
vn 0.1760 -0.3207 0.9307
|
||||
vn -0.7809 0.3130 0.5406
|
||||
vn 0.8829 0.1775 0.4347
|
||||
vn -0.8829 0.1775 0.4347
|
||||
vn -0.7728 -0.4578 0.4396
|
||||
vn 0.4988 0.6633 0.5579
|
||||
vn 0.6693 0.5056 0.5444
|
||||
vn -0.1760 -0.3207 0.9307
|
||||
vn 0.3346 -0.2364 0.9122
|
||||
vn -0.3346 -0.2364 0.9122
|
||||
vn 0.2188 -0.2871 0.9326
|
||||
vn -0.4154 -0.0886 0.9053
|
||||
vn -0.2188 -0.2871 0.9326
|
||||
vn 0.1710 -0.1225 0.9776
|
||||
vn 0.1403 -0.0020 0.9901
|
||||
vn -0.1710 -0.1225 0.9776
|
||||
vn -0.7658 0.6228 -0.1606
|
||||
vn -0.4501 0.6780 0.5812
|
||||
vn 0.1282 -0.1093 0.9857
|
||||
vn -0.1282 -0.1093 0.9857
|
||||
vn -0.2654 -0.1791 0.9474
|
||||
vn 0.8974 0.1156 0.4258
|
||||
vn -0.8974 0.1156 0.4258
|
||||
vn 0.0181 -0.2395 0.9707
|
||||
vn -0.0181 -0.2395 0.9707
|
||||
vn -0.0030 -0.6803 0.7329
|
||||
vn 0.0030 -0.6803 0.7329
|
||||
vn 0.5522 0.6411 0.5329
|
||||
vn 0.4258 0.1464 0.8929
|
||||
vn 0.7658 0.6228 -0.1606
|
||||
vn 0.4174 0.8573 -0.3012
|
||||
vn -0.4174 0.8573 -0.3012
|
||||
vn 0.1186 -0.1632 -0.9794
|
||||
vn -0.9294 0.1043 -0.3539
|
||||
vn -0.1186 -0.1632 -0.9794
|
||||
vn 0.0367 -0.9970 0.0675
|
||||
vn -0.0367 -0.9970 0.0675
|
||||
vn 0.3493 -0.9258 -0.1444
|
||||
vn 0.9576 0.1568 -0.2417
|
||||
vn -0.9576 0.1568 -0.2417
|
||||
vn 0.3239 -0.7792 -0.5366
|
||||
vn 0.4353 -0.6552 -0.6174
|
||||
vn -0.3094 -0.7782 -0.5465
|
||||
vn -0.3493 -0.9258 -0.1444
|
||||
vn 0.3642 -0.0152 -0.9312
|
||||
vn -0.3642 -0.0152 -0.9312
|
||||
vn 0.0079 0.9834 -0.1812
|
||||
vn -0.0079 0.9834 -0.1812
|
||||
vn 0.6223 0.5076 0.5959
|
||||
vn 0.4657 0.4984 -0.7312
|
||||
vn -0.4657 0.4984 -0.7312
|
||||
vn 0.4822 0.5100 -0.7123
|
||||
vn -0.4822 0.5100 -0.7123
|
||||
vn 0.6134 0.7860 -0.0766
|
||||
vn -0.6134 0.7860 -0.0766
|
||||
vn -0.6223 0.5076 0.5959
|
||||
vn 0.1648 0.6426 0.7483
|
||||
vn -0.1648 0.6426 0.7483
|
||||
vn 0.9139 0.3314 0.2344
|
||||
vn -0.9444 0.3254 0.0481
|
||||
vn -0.6299 -0.6316 -0.4519
|
||||
vn -0.1246 -0.4653 0.8763
|
||||
vn 0.2242 -0.0409 0.9737
|
||||
vn 0.4948 0.8660 -0.0723
|
||||
vn 0.3311 -0.3136 0.8900
|
||||
vn 0.1739 0.4521 0.8749
|
||||
vn 0.5828 -0.3594 0.7288
|
||||
vn 0.9254 -0.3751 -0.0552
|
||||
vn -0.7170 -0.6970 -0.0076
|
||||
vn -0.1406 0.8318 0.5370
|
||||
vn 0.4080 -0.0844 0.9091
|
||||
vn 0.2938 -0.9144 0.2785
|
||||
vn -0.2938 -0.9144 0.2785
|
||||
vn 0.5174 -0.8464 0.1257
|
||||
vn -0.5174 -0.8464 0.1257
|
||||
vn -0.8184 0.4850 0.3082
|
||||
vn 0.5307 0.8039 -0.2685
|
||||
vn -0.1606 0.9728 0.1670
|
||||
vn 0.2397 -0.1551 -0.9584
|
||||
vn -0.4266 -0.8767 -0.2222
|
||||
vn 0.4266 -0.8767 -0.2222
|
||||
usemtl None
|
||||
s off
|
||||
f 21/1/1 23/2/1 19/3/1
|
||||
f 24/4/2 16/5/2 20/6/2
|
||||
f 23/2/3 4/7/3 1/8/3
|
||||
f 3/9/4 24/4/4 2/10/4
|
||||
f 23/2/5 5/11/5 4/7/5
|
||||
f 22/12/6 24/4/6 3/9/6
|
||||
f 9/13/7 6/14/7 5/11/7
|
||||
f 5/11/8 10/15/8 9/13/8
|
||||
f 15/16/9 22/12/9 8/17/9
|
||||
f 15/16/10 8/17/10 12/18/10
|
||||
f 15/16/11 12/18/11 14/19/11
|
||||
f 19/3/12 17/20/12 21/1/12
|
||||
f 23/2/13 10/15/13 5/11/13
|
||||
f 22/12/14 15/16/14 24/4/14
|
||||
f 23/2/15 21/1/15 10/15/15
|
||||
f 15/16/16 16/5/16 24/4/16
|
||||
f 32/21/17 35/22/17 44/23/17
|
||||
f 45/24/18 31/25/18 49/26/18
|
||||
f 36/27/19 35/22/19 72/28/19
|
||||
f 37/29/20 46/30/20 47/31/20
|
||||
f 25/32/21 48/33/21 68/34/21
|
||||
f 44/23/22 35/22/22 39/35/22
|
||||
f 39/35/23 25/32/23 44/23/23
|
||||
f 25/32/24 65/36/24 49/26/24
|
||||
f 65/36/25 25/32/25 60/37/25
|
||||
f 53/38/26 54/39/26 34/40/26
|
||||
f 54/39/27 41/41/27 33/42/27
|
||||
f 51/43/28 53/38/28 34/40/28
|
||||
f 41/41/29 52/44/29 33/42/29
|
||||
f 27/45/30 43/46/30 42/47/30
|
||||
f 27/45/31 43/46/31 49/26/31
|
||||
f 51/43/32 44/23/32 50/48/32
|
||||
f 43/46/33 44/23/33 25/32/33
|
||||
f 49/26/34 43/46/34 25/32/34
|
||||
f 35/22/35 63/49/35 62/50/35
|
||||
f 57/51/36 45/24/36 58/52/36
|
||||
f 40/53/37 56/54/37 55/55/37
|
||||
f 59/56/38 61/57/38 38/58/38
|
||||
f 13/59/39 10/15/39 21/1/39 17/20/39
|
||||
f 72/28/40 91/60/40 36/27/40
|
||||
f 34/40/41 83/61/41 85/62/41
|
||||
f 84/63/42 33/42/42 82/64/42
|
||||
f 31/25/43 45/24/43 71/65/43
|
||||
f 81/66/44 74/67/44 96/68/44
|
||||
f 97/69/45 30/70/45 74/71/45
|
||||
f 72/28/46 107/72/46 77/73/46
|
||||
f 79/74/47 71/65/47 109/75/47
|
||||
f 89/76/48 93/77/48 94/78/48
|
||||
f 92/79/49 88/80/49 95/81/49
|
||||
f 66/82/50 68/83/50 90/84/50
|
||||
f 37/85/51 67/86/51 69/87/51
|
||||
f 66/82/52 90/84/52 28/88/52
|
||||
f 69/87/53 67/86/53 28/89/53
|
||||
f 71/65/54 70/90/54 109/75/54
|
||||
f 77/73/55 93/77/55 91/60/55
|
||||
f 92/79/56 109/75/56 70/90/56
|
||||
f 77/73/57 94/78/57 93/77/57
|
||||
f 95/81/58 109/75/58 92/79/58
|
||||
f 94/78/59 77/73/59 120/91/59
|
||||
f 72/28/60 97/69/60 107/72/60
|
||||
f 96/68/61 71/65/61 79/74/61
|
||||
f 72/28/62 32/21/62 97/69/62
|
||||
f 31/25/63 71/65/63 96/68/63
|
||||
f 32/21/64 85/62/64 97/69/64
|
||||
f 96/68/65 82/64/65 31/25/65
|
||||
f 97/69/66 80/92/66 107/72/66
|
||||
f 100/93/67 99/94/67 114/95/67
|
||||
f 114/95/68 99/94/68 104/96/68
|
||||
f 112/97/69 103/98/69 117/99/69
|
||||
f 105/100/70 100/93/70 114/95/70
|
||||
f 79/101/71 108/102/71 98/103/71
|
||||
f 103/98/72 113/104/72 106/105/72
|
||||
f 110/106/73 98/103/73 108/102/73
|
||||
f 109/107/74 100/93/74 108/102/74
|
||||
f 79/74/75 109/75/75 108/108/75
|
||||
f 106/105/76 111/109/76 102/110/76
|
||||
f 112/97/77 113/104/77 103/98/77
|
||||
f 113/104/78 101/111/78 111/109/78
|
||||
f 114/95/79 110/106/79 105/100/79
|
||||
f 113/104/80 111/109/80 106/105/80
|
||||
f 105/100/81 110/106/81 108/102/81
|
||||
f 114/95/82 104/96/82 110/106/82
|
||||
f 117/99/83 116/112/83 102/113/83
|
||||
f 102/113/84 116/112/84 77/114/84
|
||||
f 109/115/85 78/116/85 115/117/85
|
||||
f 119/118/86 120/119/86 116/112/86
|
||||
f 116/112/87 117/99/87 119/118/87
|
||||
f 99/94/88 115/117/88 118/120/88
|
||||
f 120/119/89 119/118/89 80/121/89
|
||||
f 118/120/90 78/116/90 81/122/90
|
||||
f 19/3/91 23/2/91 1/8/91
|
||||
f 2/10/92 24/4/92 20/6/92
|
||||
f 4/7/93 5/11/93 6/14/93
|
||||
f 7/123/94 22/12/94 3/9/94
|
||||
f 8/17/95 22/12/95 7/123/95
|
||||
f 10/15/96 11/124/96 9/13/96
|
||||
f 10/15/97 13/59/97 11/124/97
|
||||
f 14/19/98 18/125/98 16/5/98 15/16/98
|
||||
f 38/58/99 64/126/99 36/27/99 48/33/99
|
||||
f 20/6/100 16/5/100 18/125/100
|
||||
f 32/21/101 51/43/101 34/40/101
|
||||
f 33/42/102 52/44/102 31/25/102
|
||||
f 46/30/103 71/65/103 45/24/103
|
||||
f 68/34/104 48/33/104 36/27/104
|
||||
f 25/32/105 37/29/105 47/31/105
|
||||
f 40/53/106 47/31/106 46/30/106 56/54/106
|
||||
f 64/126/107 63/49/107 35/22/107 36/27/107
|
||||
f 56/54/108 46/30/108 45/24/108 57/51/108
|
||||
f 59/56/109 38/58/109 48/33/109 25/32/109
|
||||
f 49/26/110 65/36/110 45/24/110
|
||||
f 60/37/111 25/32/111 47/31/111 40/53/111
|
||||
f 26/127/112 53/38/112 51/43/112 50/48/112
|
||||
f 39/35/113 59/56/113 25/32/113
|
||||
f 26/127/114 50/48/114 52/44/114 41/41/114
|
||||
f 66/128/115 28/129/115 25/32/115 68/34/115
|
||||
f 27/45/116 44/23/116 43/46/116
|
||||
f 27/45/117 50/48/117 44/23/117
|
||||
f 49/26/118 50/48/118 27/45/118
|
||||
f 52/44/119 50/48/119 49/26/119
|
||||
f 32/21/120 44/23/120 51/43/120
|
||||
f 52/44/121 49/26/121 31/25/121
|
||||
f 26/127/122 54/39/122 53/38/122
|
||||
f 41/41/123 54/39/123 26/127/123
|
||||
f 39/35/124 35/22/124 62/50/124
|
||||
f 58/52/125 45/24/125 65/36/125
|
||||
f 38/58/126 61/57/126 64/126/126
|
||||
f 60/37/127 40/53/127 55/55/127
|
||||
f 25/32/128 28/129/128 67/130/128 37/29/128
|
||||
f 90/131/129 68/34/129 36/27/129 91/60/129
|
||||
f 69/132/130 70/90/130 46/30/130 37/29/130
|
||||
f 83/61/131 75/133/131 76/134/131 85/62/131
|
||||
f 71/65/132 46/30/132 70/90/132
|
||||
f 84/63/133 82/64/133 76/135/133 75/136/133
|
||||
f 75/136/134 83/61/134 34/40/134 54/39/134
|
||||
f 33/42/135 84/63/135 75/136/135 54/39/135
|
||||
f 85/62/136 76/134/136 30/70/136 97/69/136
|
||||
f 32/21/137 34/40/137 85/62/137
|
||||
f 82/64/138 33/42/138 31/25/138
|
||||
f 32/21/139 72/28/139 35/22/139
|
||||
f 80/92/140 97/69/140 74/71/140
|
||||
f 96/68/141 74/67/141 30/137/141
|
||||
f 30/137/142 76/135/142 82/64/142 96/68/142
|
||||
f 74/71/143 29/138/143 120/91/143 80/92/143
|
||||
f 74/67/144 81/66/144 78/139/144 29/140/144
|
||||
f 86/141/145 29/138/145 73/142/145 89/76/145
|
||||
f 73/143/146 29/140/146 87/144/146 88/80/146
|
||||
f 91/60/147 93/77/147 89/76/147 90/84/147
|
||||
f 29/138/148 86/141/148 120/91/148
|
||||
f 78/139/149 87/144/149 29/140/149
|
||||
f 120/91/150 86/141/150 94/78/150
|
||||
f 95/81/151 87/144/151 78/139/151
|
||||
f 86/141/152 89/76/152 94/78/152
|
||||
f 95/81/153 88/80/153 87/144/153
|
||||
f 88/80/154 92/79/154 70/90/154 69/87/154
|
||||
f 73/142/155 28/88/155 90/84/155 89/76/155
|
||||
f 73/143/156 88/80/156 69/87/156 28/89/156
|
||||
f 72/28/157 77/73/157 91/60/157
|
||||
f 95/81/158 78/139/158 109/75/158
|
||||
f 96/68/159 79/74/159 81/66/159
|
||||
f 102/110/160 101/111/160 117/99/160
|
||||
f 101/111/161 112/97/161 117/99/161
|
||||
f 104/96/162 99/94/162 98/103/162
|
||||
f 111/109/163 101/111/163 102/110/163
|
||||
f 107/145/164 103/98/164 106/105/164
|
||||
f 77/146/165 106/105/165 102/110/165
|
||||
f 107/72/166 106/147/166 77/73/166
|
||||
f 108/102/167 100/93/167 105/100/167
|
||||
f 104/96/168 98/103/168 110/106/168
|
||||
f 101/111/169 113/104/169 112/97/169
|
||||
f 103/98/170 107/145/170 119/118/170
|
||||
f 118/120/171 79/101/171 98/103/171
|
||||
f 117/99/172 103/98/172 119/118/172
|
||||
f 118/120/173 98/103/173 99/94/173
|
||||
f 99/94/174 100/148/174 115/117/174
|
||||
f 100/148/175 109/115/175 115/117/175
|
||||
f 77/114/176 116/112/176 120/119/176
|
||||
f 118/120/177 115/117/177 78/116/177
|
||||
f 107/145/178 80/121/178 119/118/178
|
||||
f 118/120/179 81/122/179 79/101/179
|
4
main.cpp
4
main.cpp
@ -81,13 +81,13 @@ int main() {
|
||||
|
||||
Entity *player = world->create();
|
||||
player->assign<Transform>();
|
||||
player->assign<Movement>(glm::vec3(1.f, 1.f, 1.f));
|
||||
player->assign<Movement>(glm::vec3(2.f, 2.f, 2.f));
|
||||
player->assign<Camera>(70.0f, 640, 480, 0.1f, 100.0f);
|
||||
player->assign<MouseLook>(0.1);
|
||||
|
||||
Entity *box2 = world->create();
|
||||
box2->assign<Transform>();
|
||||
box2->assign<ObjMesh>("Resources/Monkey.obj");
|
||||
box2->assign<LODObjMesh>(std::vector{ObjMesh("Resources/Monkey.obj", ObjMesh::Settings(0.0, 8.0)), ObjMesh("Resources/MonkeySimple.obj", ObjMesh::Settings(8.0, 100.0))});
|
||||
box2->assign<Texture>("Resources/tex.png", Texture::Settings(true, true));
|
||||
box2->get<Transform>()->translate(glm::vec3(0.0f, 0.0f, -5.0f));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user