Add a plain to look at

This commit is contained in:
Peder Bergebakken Sundt 2019-03-16 18:03:41 +01:00
parent c699330ab5
commit 66458551c6
2 changed files with 18 additions and 8 deletions

View File

@ -35,6 +35,7 @@ uint currentKeyFrame = 0;
uint previousKeyFrame = 0; uint previousKeyFrame = 0;
SceneNode* rootNode; SceneNode* rootNode;
SceneNode* plainNode;
SceneNode* boxNode; SceneNode* boxNode;
SceneNode* ballNode; SceneNode* ballNode;
SceneNode* padNode; SceneNode* padNode;
@ -79,7 +80,9 @@ double totalElapsedTime = debug_startTime;
PNGImage t_charmap = loadPNGFile("../res/textures/charmap.png"); PNGImage t_charmap = loadPNGFile("../res/textures/charmap.png");
PNGImage t_cobble_diff = loadPNGFile("../res/textures/cobble_diff.png"); PNGImage t_cobble_diff = loadPNGFile("../res/textures/cobble_diff.png");
PNGImage t_cobble_normal = loadPNGFile("../res/textures/cobble_normal.png"); PNGImage t_cobble_normal = loadPNGFile("../res/textures/cobble_normal.png");
PNGImage t_perlin = makePerlinNoisePNG(1639*2, 44, {0.1, 0.2, 0.3}); PNGImage t_plain_diff = loadPNGFile("../res/textures/plain_diff.png");
PNGImage t_plain_normal = loadPNGFile("../res/textures/plain_normal.png");
PNGImage t_perlin = makePerlinNoisePNG(256, 256, {0.1, 0.2, 0.3});
void mouseCallback(GLFWwindow* window, double x, double y) { void mouseCallback(GLFWwindow* window, double x, double y) {
@ -124,22 +127,27 @@ void initGame(GLFWwindow* window, CommandLineOptions gameOptions) {
Mesh box = generateBox(boxDimensions.x, boxDimensions.y, boxDimensions.z, true); Mesh box = generateBox(boxDimensions.x, boxDimensions.y, boxDimensions.z, true);
Mesh pad = generateBox(padDimensions.x, padDimensions.y, padDimensions.z, false); Mesh pad = generateBox(padDimensions.x, padDimensions.y, padDimensions.z, false);
Mesh sphere = generateSphere(1.0, 40, 40); Mesh sphere = generateSphere(1.0, 40, 40);
Mesh plain = generateSegmentedPlane(1000, 1000, 100, 100);
rootNode = createSceneNode(); rootNode = createSceneNode();
hudNode = createSceneNode(); hudNode = createSceneNode();
plainNode = createSceneNode(TEXTURED_GEOMETRY);
boxNode = createSceneNode(NORMAL_TEXTURED_GEOMETRY); boxNode = createSceneNode(NORMAL_TEXTURED_GEOMETRY);
padNode = createSceneNode(); padNode = createSceneNode();
ballNode = createSceneNode(); ballNode = createSceneNode();
textNode = createSceneNode(TEXTURED_GEOMETRY); textNode = createSceneNode(TEXTURED_GEOMETRY);
rootNode->children.push_back(boxNode); //rootNode->children.push_back(boxNode);
rootNode->children.push_back(padNode); //rootNode->children.push_back(padNode);
rootNode->children.push_back(ballNode); //rootNode->children.push_back(ballNode);
rootNode->children.push_back(plainNode);
hudNode->children.push_back(textNode); hudNode->children.push_back(textNode);
//rootNode->children.push_back(textNode);
plainNode->setMesh(&plain);
plainNode->setTexture(&t_plain_diff, &t_plain_normal);
boxNode->setMesh(&box); boxNode->setMesh(&box);
boxNode->setTexture(&t_cobble_diff, &t_cobble_normal); boxNode->setTexture(&t_cobble_diff, &t_cobble_normal);
@ -162,6 +170,8 @@ void initGame(GLFWwindow* window, CommandLineOptions gameOptions) {
lightNode[1]->nodeType = SPOT_LIGHT; lightNode[1]->nodeType = SPOT_LIGHT;
padNode->targeted_by = lightNode[1]; padNode->targeted_by = lightNode[1];
plainNode->position = {0, 0, 0};
//plainNode->rotation = vec3(0.0, 0.0, M_PI);
// hud // hud
Mesh hello_world = generateTextGeometryBuffer("Skjer'a bagera?", 1.3, 2); Mesh hello_world = generateTextGeometryBuffer("Skjer'a bagera?", 1.3, 2);

View File

@ -347,8 +347,8 @@ Mesh generateSegmentedPlane(float width, float height, uint x_segments, uint y_s
vec2(tex_step_x*(x+1), tex_step_y*(y+1)), vec2(tex_step_x*(x+1), tex_step_y*(y+1)),
}); });
indices.insert(indices.end(), { indices.insert(indices.end(), {
index_offset + 0, index_offset + 1, index_offset + 2, index_offset + 0, index_offset + 3, index_offset + 1,
index_offset + 1, index_offset + 2, index_offset + 3, index_offset + 0, index_offset + 2, index_offset + 3,
}); });
index_offset += 4; index_offset += 4;
} }