loading-screen
This commit is contained in:
parent
a628c5c91a
commit
e7a8327011
Binary file not shown.
@ -1,19 +1,25 @@
|
|||||||
projekt.cpp
|
projekt.cpp
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(80,43): warning C4305: "argument": obcięcie z "double" do "float"
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(92,43): warning C4305: "argument": obcięcie z "double" do "float"
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(174,66): warning C4305: "argument": obcięcie z "double" do "physx::PxReal"
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(186,66): warning C4305: "argument": obcięcie z "double" do "physx::PxReal"
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(182,64): warning C4305: "argument": obcięcie z "double" do "physx::PxReal"
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(194,64): warning C4305: "argument": obcięcie z "double" do "physx::PxReal"
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(379,60): warning C4244: "argument": konwersja z "double" do "float", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(431,60): warning C4244: "argument": konwersja z "double" do "float", możliwa utrata danych
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(380,60): warning C4244: "argument": konwersja z "double" do "float", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(432,60): warning C4244: "argument": konwersja z "double" do "float", możliwa utrata danych
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(393,57): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(445,57): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(419,57): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(481,57): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(432,30): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(494,30): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(447,243): warning C4305: "argument": obcięcie z "double" do "T"
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(509,243): warning C4305: "argument": obcięcie z "double" do "T"
|
||||||
with
|
with
|
||||||
[
|
[
|
||||||
T=float
|
T=float
|
||||||
]
|
]
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(493,15): warning C4244: "argument": konwersja z "time_t" do "unsigned int", możliwa utrata danych
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(516,149): warning C4305: "argument": obcięcie z "double" do "T"
|
||||||
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(524,49): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
with
|
||||||
|
[
|
||||||
|
T=float
|
||||||
|
]
|
||||||
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(523,26): warning C4244: "inicjowanie": konwersja z "glm::tvec3<float,glm::packed_highp>::length_type" do "float", możliwa utrata danych
|
||||||
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(549,15): warning C4244: "argument": konwersja z "time_t" do "unsigned int", możliwa utrata danych
|
||||||
|
D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\src\projekt.cpp(581,49): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
Camera.obj : warning LNK4075: zignorowano opcję „/EDITANDCONTINUE” z powodu określenia opcji „/INCREMENTAL:NO”
|
Camera.obj : warning LNK4075: zignorowano opcję „/EDITANDCONTINUE” z powodu określenia opcji „/INCREMENTAL:NO”
|
||||||
PhysXExtensions_static_32.lib(ExtCpuWorkerThread.obj) : warning LNK4099: nie znaleziono pliku PDB „PhysXExtensions_static_32.pdb” z elementem „PhysXExtensions_static_32.lib(ExtCpuWorkerThread.obj)” lub w pozycji „D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\Debug\PhysXExtensions_static_32.pdb”; obiekt zostanie skonsolidowany bez informacji debugowania
|
PhysXExtensions_static_32.lib(ExtCpuWorkerThread.obj) : warning LNK4099: nie znaleziono pliku PDB „PhysXExtensions_static_32.pdb” z elementem „PhysXExtensions_static_32.lib(ExtCpuWorkerThread.obj)” lub w pozycji „D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\Debug\PhysXExtensions_static_32.pdb”; obiekt zostanie skonsolidowany bez informacji debugowania
|
||||||
PhysXExtensions_static_32.lib(ExtDefaultCpuDispatcher.obj) : warning LNK4099: nie znaleziono pliku PDB „PhysXExtensions_static_32.pdb” z elementem „PhysXExtensions_static_32.lib(ExtDefaultCpuDispatcher.obj)” lub w pozycji „D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\Debug\PhysXExtensions_static_32.pdb”; obiekt zostanie skonsolidowany bez informacji debugowania
|
PhysXExtensions_static_32.lib(ExtDefaultCpuDispatcher.obj) : warning LNK4099: nie znaleziono pliku PDB „PhysXExtensions_static_32.pdb” z elementem „PhysXExtensions_static_32.lib(ExtDefaultCpuDispatcher.obj)” lub w pozycji „D:\Documents\2020\studia\s3e1\grafika\Projekt_Grafika\Debug\PhysXExtensions_static_32.pdb”; obiekt zostanie skonsolidowany bez informacji debugowania
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Debug/vc142.idb
BIN
Debug/vc142.idb
Binary file not shown.
BIN
Debug/vc142.pdb
BIN
Debug/vc142.pdb
Binary file not shown.
103
src/projekt.cpp
103
src/projekt.cpp
@ -21,6 +21,7 @@ GLuint programTexture;
|
|||||||
GLuint programSkybox;
|
GLuint programSkybox;
|
||||||
GLuint programSun;
|
GLuint programSun;
|
||||||
GLuint cubemapTexture;
|
GLuint cubemapTexture;
|
||||||
|
GLuint cubemapTexture2;
|
||||||
GLuint skyboxVAO, skyboxVBO;
|
GLuint skyboxVAO, skyboxVBO;
|
||||||
|
|
||||||
Core::Shader_Loader shaderLoader;
|
Core::Shader_Loader shaderLoader;
|
||||||
@ -74,6 +75,17 @@ std::vector<std::string> faces
|
|||||||
"textures/skybox/stars.jpeg",
|
"textures/skybox/stars.jpeg",
|
||||||
"textures/skybox/stars.jpeg",
|
"textures/skybox/stars.jpeg",
|
||||||
};
|
};
|
||||||
|
// skybox
|
||||||
|
std::vector<std::string> faces2
|
||||||
|
{
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
"textures/skybox/stars3.jpeg",
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Initalization of physical scene (PhysX)
|
// Initalization of physical scene (PhysX)
|
||||||
@ -250,10 +262,21 @@ void keyboard(unsigned char key, int x, int y)
|
|||||||
|
|
||||||
case 'w':
|
case 'w':
|
||||||
if (orbitSpeed < 0.02f) {
|
if (orbitSpeed < 0.02f) {
|
||||||
orbitSpeed += 0.001f;
|
orbitSpeed += 0.0001f;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
|
if (orbitSpeed > 0.001f) {
|
||||||
|
orbitSpeed -= 0.0001f;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'd':
|
||||||
|
if (orbitSpeed < 0.02f) {
|
||||||
|
orbitSpeed += 0.001f;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'a':
|
||||||
if (orbitSpeed > 0.001f) {
|
if (orbitSpeed > 0.001f) {
|
||||||
orbitSpeed -= 0.001f;
|
orbitSpeed -= 0.001f;
|
||||||
}
|
}
|
||||||
@ -266,6 +289,19 @@ void mouse(int x, int y)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
glm::mat4 createCameraMatrixLoading()
|
||||||
|
{
|
||||||
|
float time = glutGet(GLUT_ELAPSED_TIME) / 1000.0f - appLoadingTime;
|
||||||
|
|
||||||
|
// Obliczanie kierunku patrzenia kamery (w plaszczyznie x-z) przy uzyciu zmiennej cameraAngle kontrolowanej przez klawisze.
|
||||||
|
cameraPos = glm::vec3(0, 0, 40);
|
||||||
|
//cameraDir = glm::vec3(cosf(cameraAngle), 0.0f, sinf(cameraAngle));
|
||||||
|
cameraDir = glm::normalize(glm::vec3(0, 0, 0) - cameraPos);
|
||||||
|
glm::vec3 up = glm::vec3(0, 1, 0);
|
||||||
|
|
||||||
|
return Core::createViewMatrix(cameraPos, cameraDir, up);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
glm::mat4 createCameraMatrixOrbit()
|
glm::mat4 createCameraMatrixOrbit()
|
||||||
{
|
{
|
||||||
@ -343,6 +379,22 @@ void drawObjectTexture(Core::RenderContext* context, glm::mat4 modelMatrix, GLui
|
|||||||
glUseProgram(0);
|
glUseProgram(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void shutdown()
|
||||||
|
{
|
||||||
|
shaderLoader.DeleteProgram(programColor);
|
||||||
|
shaderLoader.DeleteProgram(programTexture);
|
||||||
|
|
||||||
|
planeContext.initFromOBJ(planeModel);
|
||||||
|
boxContext.initFromOBJ(boxModel);
|
||||||
|
shipContext.initFromOBJ(shipModel);
|
||||||
|
boosterContext.initFromOBJ(boosterModel);
|
||||||
|
platformContext.initFromOBJ(platformModel);
|
||||||
|
craneContext.initFromOBJ(craneModel);
|
||||||
|
lampContext.initFromOBJ(lampModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void renderScene()
|
void renderScene()
|
||||||
{
|
{
|
||||||
//start
|
//start
|
||||||
@ -411,11 +463,21 @@ void renderScene()
|
|||||||
|
|
||||||
if (time < 3) {
|
if (time < 3) {
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glClearColor(1.f, 1.f, 1.f, 1.0f);
|
glClearColor(0.0f, 0.1f, 0.3f, 1.0f);
|
||||||
|
|
||||||
|
//cameraMatrix = createCameraMatrixLoading();
|
||||||
|
// perspectiveMatrix = Core::createPerspectiveMatrix(0.1f, 1000.f);
|
||||||
|
Skybox::drawSkybox(programSkybox, cameraMatrix, perspectiveMatrix, cubemapTexture2);
|
||||||
|
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
reload = true;
|
reload = true;
|
||||||
|
lightDir = glm::normalize(glm::vec3(1.0f, -1.0f, -1.0f));
|
||||||
|
lightPos = glm::vec3(0, 0, -800);
|
||||||
|
cameraAngle = glm::radians(0.0f);
|
||||||
|
cameraPos = glm::vec3(0, 0, -250);
|
||||||
appLoadingTime = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
|
appLoadingTime = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -451,7 +513,17 @@ void renderScene()
|
|||||||
//drawObjectTexture(&sphereModelOrbit, glm::translate(glm::vec3(0, 0, 0)) * glm::scale(glm::vec3(20.f)), textureSun);
|
//drawObjectTexture(&sphereModelOrbit, glm::translate(glm::vec3(0, 0, 0)) * glm::scale(glm::vec3(20.f)), textureSun);
|
||||||
|
|
||||||
//STATION
|
//STATION
|
||||||
drawObjectColor(&stationContextOrbit, glm::rotate(time / 2.0f, glm::vec3(0, 1, 0)) * glm::translate(glm::vec3(0, 0, 200)) * glm::scale(glm::vec3(5)), glm::vec3(0.5));
|
glm::mat4 stationmat = glm::rotate(time / 2.0f, glm::vec3(0, 1, 0)) * glm::translate(glm::vec3(0, -0.7f, 245.5f)) * glm::scale(glm::vec3(0.4)) * glm::rotate(glm::radians(-90.0f), glm::vec3(0, 1, 0));
|
||||||
|
drawObjectColor(&stationContextOrbit, stationmat, glm::vec3(0.5));
|
||||||
|
|
||||||
|
stationmat = perspectiveMatrix * stationmat;
|
||||||
|
glm::vec3 stationPos = glm::vec3(stationmat[3][0], stationmat[3][1], stationmat[3][2]);
|
||||||
|
|
||||||
|
glm::vec3 dif = stationPos - cameraPos;
|
||||||
|
float difference = dif.length();
|
||||||
|
//if (difference < 5) {
|
||||||
|
//shutdown();
|
||||||
|
//}
|
||||||
|
|
||||||
//EARTH nieruchoma - <20>atwiejsze dla naszej cutscenki
|
//EARTH nieruchoma - <20>atwiejsze dla naszej cutscenki
|
||||||
drawObjectTexture(&sphereContextOrbit, glm::scale(glm::vec3(45)), textureEarthHighres);
|
drawObjectTexture(&sphereContextOrbit, glm::scale(glm::vec3(45)), textureEarthHighres);
|
||||||
@ -459,7 +531,6 @@ void renderScene()
|
|||||||
//MOON
|
//MOON
|
||||||
drawObjectTexture(&sphereContextOrbit, glm::rotate(time / 50.0f, glm::vec3(0, 1, 0)) * glm::translate(glm::vec3(0, 0, 300)) * glm::scale(glm::vec3(20)), textureMoon);
|
drawObjectTexture(&sphereContextOrbit, glm::rotate(time / 50.0f, glm::vec3(0, 1, 0)) * glm::translate(glm::vec3(0, 0, 300)) * glm::scale(glm::vec3(20)), textureMoon);
|
||||||
|
|
||||||
|
|
||||||
// sun
|
// sun
|
||||||
glUseProgram(programSun);
|
glUseProgram(programSun);
|
||||||
glUniform3f(glGetUniformLocation(programSun, "lightPos"), lightPos.x, lightPos.y, lightPos.z);
|
glUniform3f(glGetUniformLocation(programSun, "lightPos"), lightPos.x, lightPos.y, lightPos.z);
|
||||||
@ -473,21 +544,6 @@ void renderScene()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void shutdown()
|
|
||||||
{
|
|
||||||
shaderLoader.DeleteProgram(programColor);
|
|
||||||
shaderLoader.DeleteProgram(programTexture);
|
|
||||||
|
|
||||||
planeContext.initFromOBJ(planeModel);
|
|
||||||
boxContext.initFromOBJ(boxModel);
|
|
||||||
shipContext.initFromOBJ(shipModel);
|
|
||||||
boosterContext.initFromOBJ(boosterModel);
|
|
||||||
platformContext.initFromOBJ(platformModel);
|
|
||||||
craneContext.initFromOBJ(craneModel);
|
|
||||||
lampContext.initFromOBJ(lampModel);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void init()
|
void init()
|
||||||
{
|
{
|
||||||
srand(time(0));
|
srand(time(0));
|
||||||
@ -497,6 +553,7 @@ void init()
|
|||||||
programSkybox = shaderLoader.CreateProgram("shaders/shader_skybox.vert", "shaders/shader_skybox.frag");
|
programSkybox = shaderLoader.CreateProgram("shaders/shader_skybox.vert", "shaders/shader_skybox.frag");
|
||||||
|
|
||||||
cubemapTexture = Skybox::loadCubemap(faces);
|
cubemapTexture = Skybox::loadCubemap(faces);
|
||||||
|
cubemapTexture2 = Skybox::loadCubemap(faces2);
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
@ -529,6 +586,13 @@ void idle()
|
|||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onReshape(int width, int height)
|
||||||
|
{
|
||||||
|
frustumScale = (float)width / height;
|
||||||
|
|
||||||
|
glViewport(0, 0, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
glutInit(&argc, argv);
|
glutInit(&argc, argv);
|
||||||
@ -543,6 +607,7 @@ int main(int argc, char** argv)
|
|||||||
glutPassiveMotionFunc(mouse);
|
glutPassiveMotionFunc(mouse);
|
||||||
glutDisplayFunc(renderScene);
|
glutDisplayFunc(renderScene);
|
||||||
glutIdleFunc(idle);
|
glutIdleFunc(idle);
|
||||||
|
glutReshapeFunc(onReshape);
|
||||||
|
|
||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
|
|
||||||
|
BIN
textures/skybox/stars3.jpeg
Normal file
BIN
textures/skybox/stars3.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 624 KiB |
BIN
textures/skybox/stars3.png
Normal file
BIN
textures/skybox/stars3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
Loading…
Reference in New Issue
Block a user