Added viola
This commit is contained in:
parent
56ce826205
commit
7840bfdb4e
42311
resources/idleviola_uv010.txt
Normal file
42311
resources/idleviola_uv010.txt
Normal file
File diff suppressed because it is too large
Load Diff
BIN
resources/viola.png
(Stored with Git LFS)
Normal file
BIN
resources/viola.png
(Stored with Git LFS)
Normal file
Binary file not shown.
43494
resources/walkviola_uv010.txt
Normal file
43494
resources/walkviola_uv010.txt
Normal file
File diff suppressed because it is too large
Load Diff
64
src/Game.cpp
64
src/Game.cpp
@ -171,7 +171,11 @@ namespace ZL
|
||||
benchMesh.data.Move({ -2.1, 0.5, -7.9 });
|
||||
benchMesh.RefreshVBO();
|
||||
|
||||
violaIdleModel.LoadFromFile("resources/idleviola_uv010.txt", CONST_ZIP_FILE);
|
||||
violaWalkModel.LoadFromFile("resources/walkviola_uv010.txt", CONST_ZIP_FILE);
|
||||
|
||||
violaTexture = std::make_unique<Texture>(CreateTextureDataFromPng("resources/viola.png", CONST_ZIP_FILE));
|
||||
|
||||
loadingCompleted = true;
|
||||
}
|
||||
|
||||
@ -205,7 +209,7 @@ namespace ZL
|
||||
|
||||
renderer.LoadIdentity();
|
||||
renderer.TranslateMatrix({ 0,0, -1.0f * Environment::zoom });
|
||||
renderer.TranslateMatrix({ 0, -6.f, 0 }); //Ship camera offset
|
||||
//renderer.TranslateMatrix({ 0, -6.f, 0 });
|
||||
|
||||
renderer.RotateMatrix(Eigen::Quaternionf(Eigen::AngleAxisf(M_PI * 30 / 180.f, Eigen::Vector3f::UnitX())).toRotationMatrix());
|
||||
|
||||
@ -219,6 +223,34 @@ namespace ZL
|
||||
glBindTexture(GL_TEXTURE_2D, benchTexture->getTexID());
|
||||
renderer.DrawVertexRenderStruct(benchMesh);
|
||||
|
||||
|
||||
|
||||
renderer.PushMatrix();
|
||||
|
||||
renderer.ScaleMatrix(0.2);
|
||||
renderer.RotateMatrix(Eigen::Quaternionf(Eigen::AngleAxisf(-M_PI * 0.5f, Eigen::Vector3f::UnitX())).toRotationMatrix());
|
||||
renderer.RotateMatrix(Eigen::Quaternionf(Eigen::AngleAxisf(M_PI, Eigen::Vector3f::UnitZ())).toRotationMatrix());
|
||||
|
||||
//renderer.RotateMatrix(QuatFromRotateAroundX(-M_PI / 2.0));
|
||||
//renderer.RotateMatrix(QuatFromRotateAroundZ(M_PI));
|
||||
|
||||
if (violaCurrentAnimation == 0) {
|
||||
|
||||
violaIdleModelMutable.AssignFrom(violaIdleModel.mesh);
|
||||
violaIdleModelMutable.RefreshVBO();
|
||||
glBindTexture(GL_TEXTURE_2D, violaTexture->getTexID());
|
||||
renderer.DrawVertexRenderStruct(violaIdleModelMutable);
|
||||
}
|
||||
else if (violaCurrentAnimation == 1) {
|
||||
violaWalkModelMutable.AssignFrom(violaWalkModel.mesh);
|
||||
violaWalkModelMutable.RefreshVBO();
|
||||
glBindTexture(GL_TEXTURE_2D, violaTexture->getTexID());
|
||||
renderer.DrawVertexRenderStruct(violaWalkModelMutable);
|
||||
}
|
||||
|
||||
renderer.PopMatrix();
|
||||
|
||||
|
||||
renderer.PopMatrix();
|
||||
|
||||
renderer.PopProjectionMatrix();
|
||||
@ -294,7 +326,37 @@ namespace ZL
|
||||
int64_t delta = newTickCount - lastTickCount;
|
||||
|
||||
lastTickCount = newTickCount;
|
||||
|
||||
if (violaCurrentAnimation == 0) {
|
||||
|
||||
violaCurrentIdleFrame += delta / 24.f;
|
||||
|
||||
while (violaCurrentIdleFrame >= 40) {
|
||||
violaCurrentIdleFrame -= 40;
|
||||
}
|
||||
|
||||
if (int(violaCurrentIdleFrame) != violaLastIdleFrame) {
|
||||
violaIdleModel.Interpolate(int(violaCurrentIdleFrame));
|
||||
violaLastIdleFrame = int(violaCurrentIdleFrame);
|
||||
}
|
||||
}
|
||||
else if (violaCurrentAnimation == 1) {
|
||||
|
||||
violaCurrentWalkFrame += delta / 24.f;
|
||||
|
||||
while (violaCurrentWalkFrame >= 30) {
|
||||
violaCurrentWalkFrame -= 30;
|
||||
}
|
||||
|
||||
if (int(violaCurrentWalkFrame) != violaLastWalkFrame) {
|
||||
violaWalkModel.Interpolate(int(violaCurrentWalkFrame));
|
||||
violaLastWalkFrame = int(violaCurrentWalkFrame);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Game::render() {
|
||||
|
||||
18
src/Game.h
18
src/Game.h
@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "BoneAnimatedModel.h"
|
||||
#include "render/Renderer.h"
|
||||
#include "Environment.h"
|
||||
#include "render/TextureManager.h"
|
||||
@ -56,6 +56,22 @@ namespace ZL {
|
||||
|
||||
std::shared_ptr<Texture> benchTexture;
|
||||
VertexRenderStruct benchMesh;
|
||||
|
||||
BoneSystem violaIdleModel;
|
||||
VertexRenderStruct violaIdleModelMutable;
|
||||
|
||||
BoneSystem violaWalkModel;
|
||||
VertexRenderStruct violaWalkModelMutable;
|
||||
|
||||
std::shared_ptr<Texture> violaTexture;
|
||||
|
||||
float violaCurrentIdleFrame = 0;
|
||||
float violaCurrentWalkFrame = 0;
|
||||
|
||||
int violaLastIdleFrame = 0;
|
||||
int violaLastWalkFrame = 0;
|
||||
|
||||
int violaCurrentAnimation = 0;
|
||||
private:
|
||||
int64_t getSyncTimeMs();
|
||||
void processTickCount();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user