feat: add basic towers rendering
This commit is contained in:
@@ -188,6 +188,40 @@ GL::VertexArray loadTileSelectModel() {
|
||||
return tileSelectVao;
|
||||
}
|
||||
|
||||
RenderData loadTowerModel(game::TowerPtr tower){
|
||||
RenderData renderData;
|
||||
|
||||
float towerX = tower->getX() - 1;
|
||||
float towerDX = tower->getX() + 2;
|
||||
|
||||
float towerY = tower->getY() - 1;
|
||||
float towerDY = tower->getY() + 2;
|
||||
std::vector<float> positions = {
|
||||
towerX, towerY,
|
||||
towerDX, towerY,
|
||||
towerX, towerDY,
|
||||
|
||||
towerDX, towerY,
|
||||
towerX, towerDY,
|
||||
towerDX, towerDY
|
||||
};
|
||||
|
||||
renderData.positions = positions;
|
||||
|
||||
std::uint8_t towerType = static_cast<std::uint8_t>(tower->getType());
|
||||
std::uint8_t r = 10 * towerType + 40, g = 5 * towerType + 30, b = 10 * towerType + 20;
|
||||
|
||||
float colorFloat;
|
||||
int color = r << 24 | g << 16 | b << 8 | 255;
|
||||
memcpy(&colorFloat, &color, sizeof(int));
|
||||
|
||||
std::vector<float> colors(6, colorFloat);
|
||||
renderData.colors = colors;
|
||||
|
||||
return renderData;
|
||||
}
|
||||
|
||||
|
||||
} // namespace WorldLoader
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user