Add joke player "model"
Turns on backface culling too.
This commit is contained in:
parent
f39229fc30
commit
03732e7566
@ -25,47 +25,223 @@
|
|||||||
* =====================================================================================
|
* =====================================================================================
|
||||||
*/
|
*/
|
||||||
#include <gk/gl/Vertex.hpp>
|
#include <gk/gl/Vertex.hpp>
|
||||||
|
#include <gk/gl/GLCheck.hpp>
|
||||||
|
|
||||||
#include "PlayerBox.hpp"
|
#include "PlayerBox.hpp"
|
||||||
|
|
||||||
constexpr int NUM_QUADS = 6;
|
constexpr int NUM_QUADS = 34;
|
||||||
|
|
||||||
static const float modelCoords[NUM_QUADS * 4 * 3] = {
|
static const float modelCoords[NUM_QUADS * 4 * 3] = {
|
||||||
|
|
||||||
|
// LEFT LEG
|
||||||
// West
|
// West
|
||||||
-0.3125f, -0.3125f, 0.f,
|
-0.15f, -0.15f - 0.18f, 0.f,
|
||||||
-0.3125f, -0.3125f, 1.75f,
|
-0.15f, -0.15f - 0.18f, 0.575f,
|
||||||
-0.3125f, 0.3125f, 1.75f,
|
-0.15f, 0.15f - 0.18f, 0.575f,
|
||||||
-0.3125f, 0.3125f, 0.f,
|
-0.15f, 0.15f - 0.18f, 0.f,
|
||||||
|
|
||||||
// East
|
// East
|
||||||
0.3125f, -0.3125f, 1.75f,
|
0.15f, -0.15f - 0.18f, 0.575f,
|
||||||
0.3125f, -0.3125f, 0.f,
|
0.15f, -0.15f - 0.18f, 0.f,
|
||||||
0.3125f, 0.3125f, 0.f,
|
0.15f, 0.15f - 0.18f, 0.f,
|
||||||
0.3125f, 0.3125f, 1.75f,
|
0.15f, 0.15f - 0.18f, 0.575f,
|
||||||
|
|
||||||
// South
|
// South
|
||||||
-0.3125f, -0.3125f, 0.f,
|
-0.15f, -0.15f - 0.18f, 0.f,
|
||||||
0.3125f, -0.3125f, 0.f,
|
0.15f, -0.15f - 0.18f, 0.f,
|
||||||
0.3125f, -0.3125f, 1.75f,
|
0.15f, -0.15f - 0.18f, 0.575f,
|
||||||
-0.3125f, -0.3125f, 1.75f,
|
-0.15f, -0.15f - 0.18f, 0.575f,
|
||||||
|
|
||||||
// North
|
// North
|
||||||
-0.3125f, 0.3125f, 1.75f,
|
-0.15f, 0.15f - 0.18f, 0.575f,
|
||||||
0.3125f, 0.3125f, 1.75f,
|
0.15f, 0.15f - 0.18f, 0.575f,
|
||||||
0.3125f, 0.3125f, 0.f,
|
0.15f, 0.15f - 0.18f, 0.f,
|
||||||
-0.3125f, 0.3125f, 0.f,
|
-0.15f, 0.15f - 0.18f, 0.f,
|
||||||
|
|
||||||
// Bottom
|
// Bottom
|
||||||
0.3125f, -0.3125f, 0.f,
|
0.15f, -0.15f - 0.18f, 0.f,
|
||||||
-0.3125f, -0.3125f, 0.f,
|
-0.15f, -0.15f - 0.18f, 0.f,
|
||||||
-0.3125f, 0.3125f, 0.f,
|
-0.15f, 0.15f - 0.18f, 0.f,
|
||||||
0.3125f, 0.3125f, 0.f,
|
0.15f, 0.15f - 0.18f, 0.f,
|
||||||
|
|
||||||
// Top
|
// RIGHT LEG
|
||||||
-0.3125f, -0.3125f, 1.75f,
|
// West
|
||||||
0.3125f, -0.3125f, 1.75f,
|
-0.15f, -0.15f + 0.18f, 0.f,
|
||||||
0.3125f, 0.3125f, 1.75f,
|
-0.15f, -0.15f + 0.18f, 0.575f,
|
||||||
-0.3125f, 0.3125f, 1.75f,
|
-0.15f, 0.15f + 0.18f, 0.575f,
|
||||||
|
-0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
|
||||||
|
// East
|
||||||
|
0.15f, -0.15f + 0.18f, 0.575f,
|
||||||
|
0.15f, -0.15f + 0.18f, 0.f,
|
||||||
|
0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
0.15f, 0.15f + 0.18f, 0.575f,
|
||||||
|
|
||||||
|
// South
|
||||||
|
-0.15f, -0.15f + 0.18f, 0.f,
|
||||||
|
0.15f, -0.15f + 0.18f, 0.f,
|
||||||
|
0.15f, -0.15f + 0.18f, 0.575f,
|
||||||
|
-0.15f, -0.15f + 0.18f, 0.575f,
|
||||||
|
|
||||||
|
// North
|
||||||
|
-0.15f, 0.15f + 0.18f, 0.575f,
|
||||||
|
0.15f, 0.15f + 0.18f, 0.575f,
|
||||||
|
0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
-0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
|
||||||
|
// Bottom
|
||||||
|
0.15f, -0.15f + 0.18f, 0.f,
|
||||||
|
-0.15f, -0.15f + 0.18f, 0.f,
|
||||||
|
-0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
0.15f, 0.15f + 0.18f, 0.f,
|
||||||
|
|
||||||
|
// BODY
|
||||||
|
// West
|
||||||
|
-0.15f, -0.33f, 0.575f,
|
||||||
|
-0.15f, -0.33f, 1.35f,
|
||||||
|
-0.15f, 0.33f, 1.35f,
|
||||||
|
-0.15f, 0.33f, 0.575f,
|
||||||
|
|
||||||
|
// East
|
||||||
|
0.15f, -0.33f, 1.35f,
|
||||||
|
0.15f, -0.33f, 0.575f,
|
||||||
|
0.15f, 0.33f, 0.575f,
|
||||||
|
0.15f, 0.33f, 1.35f,
|
||||||
|
|
||||||
|
// South
|
||||||
|
-0.15f, -0.33f, 0.575f,
|
||||||
|
0.15f, -0.33f, 0.575f,
|
||||||
|
0.15f, -0.33f, 1.35f,
|
||||||
|
-0.15f, -0.33f, 1.35f,
|
||||||
|
|
||||||
|
// North
|
||||||
|
-0.15f, 0.33f, 1.35f,
|
||||||
|
0.15f, 0.33f, 1.35f,
|
||||||
|
0.15f, 0.33f, 0.575f,
|
||||||
|
-0.15f, 0.33f, 0.575f,
|
||||||
|
|
||||||
|
// Bottom
|
||||||
|
0.15f, -0.33f, 0.575f,
|
||||||
|
-0.15f, -0.33f, 0.575f,
|
||||||
|
-0.15f, 0.33f, 0.575f,
|
||||||
|
0.15f, 0.33f, 0.575f,
|
||||||
|
|
||||||
|
// Top
|
||||||
|
-0.15f, -0.33f, 1.35f,
|
||||||
|
0.15f, -0.33f, 1.35f,
|
||||||
|
0.15f, 0.33f, 1.35f,
|
||||||
|
-0.15f, 0.33f, 1.35f,
|
||||||
|
|
||||||
|
// LEFT ARM
|
||||||
|
// West
|
||||||
|
-0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
-0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// East
|
||||||
|
0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// South
|
||||||
|
-0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
-0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// North
|
||||||
|
-0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
-0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// Bottom
|
||||||
|
0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
-0.15f, -0.15f - 0.48f, 0.675f,
|
||||||
|
-0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f - 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// Top
|
||||||
|
-0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
0.15f, -0.15f - 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f - 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// RIGHT ARM
|
||||||
|
// West
|
||||||
|
-0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
-0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// East
|
||||||
|
0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// South
|
||||||
|
-0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
-0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// North
|
||||||
|
-0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
-0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// Bottom
|
||||||
|
0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
-0.15f, -0.15f + 0.48f, 0.675f,
|
||||||
|
-0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
0.15f, 0.15f + 0.48f, 0.675f,
|
||||||
|
|
||||||
|
// Top
|
||||||
|
-0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
0.15f, -0.15f + 0.48f, 1.35f,
|
||||||
|
0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
-0.15f, 0.15f + 0.48f, 1.35f,
|
||||||
|
|
||||||
|
// HEAD
|
||||||
|
// West
|
||||||
|
-0.2f, -0.2f, 1.35f,
|
||||||
|
-0.2f, -0.2f, 1.75f,
|
||||||
|
-0.2f, 0.2f, 1.75f,
|
||||||
|
-0.2f, 0.2f, 1.35f,
|
||||||
|
|
||||||
|
// East
|
||||||
|
0.2f, -0.2f, 1.75f,
|
||||||
|
0.2f, -0.2f, 1.35f,
|
||||||
|
0.2f, 0.2f, 1.35f,
|
||||||
|
0.2f, 0.2f, 1.75f,
|
||||||
|
|
||||||
|
// South
|
||||||
|
-0.2f, -0.2f, 1.35f,
|
||||||
|
0.2f, -0.2f, 1.35f,
|
||||||
|
0.2f, -0.2f, 1.75f,
|
||||||
|
-0.2f, -0.2f, 1.75f,
|
||||||
|
|
||||||
|
// North
|
||||||
|
-0.2f, 0.2f, 1.75f,
|
||||||
|
0.2f, 0.2f, 1.75f,
|
||||||
|
0.2f, 0.2f, 1.35f,
|
||||||
|
-0.2f, 0.2f, 1.35f,
|
||||||
|
|
||||||
|
// Bottom
|
||||||
|
0.2f, -0.2f, 1.35f,
|
||||||
|
-0.2f, -0.2f, 1.35f,
|
||||||
|
-0.2f, 0.2f, 1.35f,
|
||||||
|
0.2f, 0.2f, 1.35f,
|
||||||
|
|
||||||
|
// Top
|
||||||
|
-0.2f, -0.2f, 1.75f,
|
||||||
|
0.2f, -0.2f, 1.75f,
|
||||||
|
0.2f, 0.2f, 1.75f,
|
||||||
|
-0.2f, 0.2f, 1.75f,
|
||||||
};
|
};
|
||||||
|
|
||||||
PlayerBox::PlayerBox(const gk::Camera &camera) : m_camera(camera) {
|
PlayerBox::PlayerBox(const gk::Camera &camera) : m_camera(camera) {
|
||||||
@ -98,6 +274,7 @@ void PlayerBox::draw(gk::RenderTarget &target, gk::RenderStates states) const {
|
|||||||
|
|
||||||
states.transform *= getTransform();
|
states.transform *= getTransform();
|
||||||
|
|
||||||
|
glCheck(glEnable(GL_CULL_FACE));
|
||||||
target.draw(m_vbo, GL_QUADS, 0, NUM_QUADS * 4, states);
|
target.draw(m_vbo, GL_QUADS, 0, NUM_QUADS * 4, states);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user