wellinator sample update
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
#include <game.hpp>
|
#include <game.hpp>
|
||||||
#include "renderer/3d/pipeline/minecraft/minecraft_pipeline.hpp"
|
#include "renderer/3d/pipeline/minecraft/minecraft_pipeline.hpp"
|
||||||
#include "renderer/3d/pipeline/static/static_pipeline.hpp"
|
#include "renderer/3d/pipeline/static/static_pipeline.hpp"
|
||||||
|
#include "renderer/3d/pipeline/dynamic/dynamic_pipeline.hpp"
|
||||||
|
|
||||||
namespace Tyra {
|
namespace Tyra {
|
||||||
|
|
||||||
@@ -37,7 +38,9 @@ class Wellinator : public Game {
|
|||||||
|
|
||||||
MinecraftPipeline mcPip;
|
MinecraftPipeline mcPip;
|
||||||
StaticPipeline stapip;
|
StaticPipeline stapip;
|
||||||
StaPipOptions* renderOptions;
|
DynamicPipeline dynpip;
|
||||||
|
StaPipOptions* staOptions;
|
||||||
|
DynPipOptions* dynOptions;
|
||||||
Texture* blocksTex;
|
Texture* blocksTex;
|
||||||
|
|
||||||
u32 blocksCount;
|
u32 blocksCount;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include "wellinator.hpp"
|
#include "wellinator.hpp"
|
||||||
#include "file/file_utils.hpp"
|
#include "file/file_utils.hpp"
|
||||||
#include "loaders/3d/md2/md2_loader.hpp"
|
#include "loaders/3d/md2/md2_loader.hpp"
|
||||||
|
#include "renderer/3d/mesh/dynamic/dynamic_mesh.hpp"
|
||||||
|
|
||||||
namespace Tyra {
|
namespace Tyra {
|
||||||
|
|
||||||
@@ -18,7 +19,9 @@ Wellinator::Wellinator(Engine* t_engine) { engine = t_engine; }
|
|||||||
Wellinator::~Wellinator() {}
|
Wellinator::~Wellinator() {}
|
||||||
|
|
||||||
DynamicMesh* getWarrior(Renderer* renderer);
|
DynamicMesh* getWarrior(Renderer* renderer);
|
||||||
StaPipOptions* getRenderingOptions();
|
StaPipOptions* getStaPipOptions();
|
||||||
|
DynPipOptions* getDynPipOptions();
|
||||||
|
void setPipelineOptions(PipelineOptions* options);
|
||||||
Sprite* get2DPicture(Renderer* renderer);
|
Sprite* get2DPicture(Renderer* renderer);
|
||||||
|
|
||||||
void Wellinator::init() {
|
void Wellinator::init() {
|
||||||
@@ -33,7 +36,9 @@ void Wellinator::init() {
|
|||||||
|
|
||||||
engine->renderer.setClearScreenColor(Color(64.0F, 64.0F, 64.0F));
|
engine->renderer.setClearScreenColor(Color(64.0F, 64.0F, 64.0F));
|
||||||
warrior = getWarrior(&engine->renderer);
|
warrior = getWarrior(&engine->renderer);
|
||||||
renderOptions = getRenderingOptions();
|
|
||||||
|
staOptions = getStaPipOptions();
|
||||||
|
dynOptions = getDynPipOptions();
|
||||||
|
|
||||||
cameraPosition = Vec4(0.0F, 0.0F, 0.0F, 1.0F);
|
cameraPosition = Vec4(0.0F, 0.0F, 0.0F, 1.0F);
|
||||||
cameraLookAt = *warrior->getPosition();
|
cameraLookAt = *warrior->getPosition();
|
||||||
@@ -42,6 +47,7 @@ void Wellinator::init() {
|
|||||||
FileUtils::fromCwd("blocks.png"));
|
FileUtils::fromCwd("blocks.png"));
|
||||||
|
|
||||||
mcPip.setRenderer(&engine->renderer.core);
|
mcPip.setRenderer(&engine->renderer.core);
|
||||||
|
dynpip.setRenderer(&engine->renderer.core);
|
||||||
stapip.setRenderer(&engine->renderer.core);
|
stapip.setRenderer(&engine->renderer.core);
|
||||||
|
|
||||||
picture = get2DPicture(&engine->renderer);
|
picture = get2DPicture(&engine->renderer);
|
||||||
@@ -116,8 +122,8 @@ void Wellinator::loop() {
|
|||||||
|
|
||||||
// warrior->setPosition(*nextPos);
|
// warrior->setPosition(*nextPos);
|
||||||
|
|
||||||
engine->renderer.renderer3D.usePipeline(&stapip);
|
engine->renderer.renderer3D.usePipeline(&dynpip);
|
||||||
{ stapip.render(warrior, renderOptions); }
|
{ dynpip.render(warrior, dynOptions); }
|
||||||
|
|
||||||
engine->renderer.renderer3D.usePipeline(&mcPip);
|
engine->renderer.renderer3D.usePipeline(&mcPip);
|
||||||
{ mcPip.render(blocks, blocksCount, blocksTex, false); }
|
{ mcPip.render(blocks, blocksCount, blocksTex, false); }
|
||||||
@@ -150,10 +156,20 @@ Sprite* get2DPicture(Renderer* renderer) {
|
|||||||
return sprite;
|
return sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
StaPipOptions* getRenderingOptions() {
|
StaPipOptions* getStaPipOptions() {
|
||||||
auto* options = new StaPipOptions();
|
auto* options = new StaPipOptions();
|
||||||
|
setPipelineOptions(options);
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
auto* ambientColor = new Color(32.0F, 32.0F, 32.0F, 128.0F);
|
DynPipOptions* getDynPipOptions() {
|
||||||
|
auto* options = new DynPipOptions();
|
||||||
|
setPipelineOptions(options);
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setPipelineOptions(PipelineOptions* options) {
|
||||||
|
auto* ambientColor = new Color(32.0F, 32.0F, 32.0F, 32.0F);
|
||||||
auto* directionalColors = new Color[3];
|
auto* directionalColors = new Color[3];
|
||||||
for (int i = 0; i < 3; i++) directionalColors[i].set(0.0F, 0.0F, 0.0F, 1.0F);
|
for (int i = 0; i < 3; i++) directionalColors[i].set(0.0F, 0.0F, 0.0F, 1.0F);
|
||||||
auto* directionalDirections = new Vec4[3];
|
auto* directionalDirections = new Vec4[3];
|
||||||
@@ -175,8 +191,6 @@ StaPipOptions* getRenderingOptions() {
|
|||||||
|
|
||||||
directionalDirections[1].set(1.0F, 0.0F, 0.0F);
|
directionalDirections[1].set(1.0F, 0.0F, 0.0F);
|
||||||
directionalColors[1].set(96.0F, 0.0F, 0.0F);
|
directionalColors[1].set(96.0F, 0.0F, 0.0F);
|
||||||
|
|
||||||
return options;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Tyra
|
} // namespace Tyra
|
||||||
|
|||||||
Reference in New Issue
Block a user