Working version for linux

This commit is contained in:
jancoow
2016-06-20 20:00:58 +02:00
parent f84fcfa4e2
commit 030a136e8b
11 changed files with 36 additions and 24 deletions
+4 -3
View File
@@ -10,6 +10,7 @@ add_executable(CrystalPoint ${SOURCE_FILES})
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED) find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} ) find_package(OpenAL REQUIRED)
target_link_libraries(CrystalPoint ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ) include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} ${OPENAL_INCLUDE_DIRS} )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall ") target_link_libraries(CrystalPoint ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${OPENAL_LIBRARY} )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -lpthread")
+1 -1
View File
@@ -1,5 +1,5 @@
#include "Cursor.h" #include "Cursor.h"
#include <GL\freeglut.h> #include <GL/freeglut.h>
#include <cmath> #include <cmath>
#include "CrystalPoint.h" #include "CrystalPoint.h"
+2 -1
View File
@@ -1,6 +1,6 @@
#include "HeightMap.h" #include "HeightMap.h"
#include "stb_image.h" #include "stb_image.h"
#include "vector.h" #include "Vector.h"
#include "LevelObject.h" #include "LevelObject.h"
@@ -127,6 +127,7 @@ float HeightMap::GetHeight(float x, float y)
float labda3 = 1 - labda1 - labda2; float labda3 = 1 - labda1 - labda2;
Vertex z = a * labda1 + b * labda2 + c * labda3; Vertex z = a * labda1 + b * labda2 + c * labda3;
// Vertex z = (a * labda1) + (b * labda2) ;
return z.y; return z.y;
} }
+1 -1
View File
@@ -1,5 +1,5 @@
#include "Interface.h" #include "Interface.h"
#include <GL\freeglut.h> #include <GL/freeglut.h>
#include "CrystalPoint.h" #include "CrystalPoint.h"
#include <string> #include <string>
+2 -2
View File
@@ -138,7 +138,7 @@ Model::Model(std::string fileName)
radius = fmax(radius, (center.x - v.x) * (center.x - v.x) + (center.z - v.z) * (center.z - v.z)); radius = fmax(radius, (center.x - v.x) * (center.x - v.x) + (center.z - v.z) * (center.z - v.z));
radius = sqrt(radius); radius = sqrt(radius);
for each(ObjGroup *group in groups) for (ObjGroup *group : groups)
{ {
Optimise(group); Optimise(group);
} }
@@ -148,7 +148,7 @@ void Model::Optimise(ObjGroup *t)
{ {
for (Face &face : t->faces) for (Face &face : t->faces)
{ {
for each(auto &vertex in face.vertices) for (auto &vertex : face.vertices)
{ {
t->VertexArray.push_back(Vertex(vertices[vertex.position].x, vertices[vertex.position].y, vertices[vertex.position].z, t->VertexArray.push_back(Vertex(vertices[vertex.position].x, vertices[vertex.position].y, vertices[vertex.position].z,
normals[vertex.normal].x, normals[vertex.normal].y, normals[vertex.normal].z, normals[vertex.normal].x, normals[vertex.normal].y, normals[vertex.normal].z,
+9
View File
@@ -1,8 +1,17 @@
#include "Sound.h" #include "Sound.h"
#include <iostream> #include <iostream>
#ifdef WIN32
#include <windows.h> #include <windows.h>
#include <al.h> #include <al.h>
#else
#include <AL/al.h>
typedef unsigned long DWORD;
typedef unsigned short WORD;
typedef unsigned int UNINT32;
typedef unsigned char BYTE;
#endif
Sound::Sound(const char* inWavPath, bool inLooping): Sound::Sound(const char* inWavPath, bool inLooping):
buffer_id(0), buffer_id(0),
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once #pragma once
#include "vector.h" #include "Vector.h"
class Sound class Sound
{ {
-6
View File
@@ -1,11 +1,5 @@
#include "SoundSystem.h" #include "SoundSystem.h"
#include <cstdlib>
#include <iostream>
#include <windows.h>
SoundSystem::SoundSystem(): SoundSystem::SoundSystem():
device(nullptr), device(nullptr),
context(nullptr) context(nullptr)
+8 -1
View File
@@ -1,9 +1,16 @@
#pragma once #pragma once
#include <vector> #include <vector>
#ifdef WIN32
#include <al.h> #include <al.h>
#include <alc.h> #include <alc.h>
#include "vector.h" #else
#include <AL/al.h>
#include <AL/alc.h>
#endif
#include "Vector.h"
#include "Sound.h" #include "Sound.h"
+4 -4
View File
@@ -18,22 +18,22 @@ Vertex::~Vertex()
{ {
} }
Vertex Vertex::operator/(float &other) Vertex Vertex::operator/(const float &other) const
{ {
return Vertex(x / other, y / other, z / other, normalX, normalY, normalZ, texX, texY); return Vertex(x / other, y / other, z / other, normalX, normalY, normalZ, texX, texY);
} }
Vertex Vertex::operator*(Vertex & other) Vertex Vertex::operator*(const Vertex & other) const
{ {
return Vertex(x*other.x, y*other.y, z*other.z, normalX, normalY, normalZ, texX, texY); return Vertex(x*other.x, y*other.y, z*other.z, normalX, normalY, normalZ, texX, texY);
} }
Vertex Vertex::operator*(float & other) Vertex Vertex::operator*(const float & other) const
{ {
return Vertex(x*other, y*other, z*other, normalX, normalY, normalZ, texX, texY); return Vertex(x*other, y*other, z*other, normalX, normalY, normalZ, texX, texY);
} }
Vertex Vertex::operator+(Vertex & other) Vertex Vertex::operator+(const Vertex & other) const
{ {
return Vertex(x+other.x, y+other.y, z+other.z, normalX, normalY, normalZ, texX, texY); return Vertex(x+other.x, y+other.y, z+other.z, normalX, normalY, normalZ, texX, texY);
} }
+4 -4
View File
@@ -16,9 +16,9 @@ public:
float texX; float texX;
float texY; float texY;
Vertex operator/(float &other); Vertex operator/(const float &other) const;
Vertex operator*(Vertex &other); Vertex operator*(const Vertex &other) const;
Vertex operator*(float &other); Vertex operator*(const float &other) const;
Vertex operator+(Vertex &other); Vertex operator+(const Vertex &other) const;
}; };