loading-screen
This commit is contained in:
parent
a628c5c91a
commit
e7a8327011
Binary file not shown.
@ -1,19 +1,25 @@
|
||||
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(174,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(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(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(393,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(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(447,243): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
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(186,66): 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(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(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(445,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(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(509,243): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
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(524,49): warning C4244: "=": konwersja z "double" do "float", 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"
|
||||
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”
|
||||
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
|
||||
|
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 programSun;
|
||||
GLuint cubemapTexture;
|
||||
GLuint cubemapTexture2;
|
||||
GLuint skyboxVAO, skyboxVBO;
|
||||
|
||||
Core::Shader_Loader shaderLoader;
|
||||
@ -74,6 +75,17 @@ std::vector<std::string> faces
|
||||
"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)
|
||||
@ -250,10 +262,21 @@ void keyboard(unsigned char key, int x, int y)
|
||||
|
||||
case 'w':
|
||||
if (orbitSpeed < 0.02f) {
|
||||
orbitSpeed += 0.001f;
|
||||
orbitSpeed += 0.0001f;
|
||||
}
|
||||
break;
|
||||
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) {
|
||||
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()
|
||||
{
|
||||
@ -343,6 +379,22 @@ void drawObjectTexture(Core::RenderContext* context, glm::mat4 modelMatrix, GLui
|
||||
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()
|
||||
{
|
||||
//start
|
||||
@ -411,11 +463,21 @@ void renderScene()
|
||||
|
||||
if (time < 3) {
|
||||
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();
|
||||
}
|
||||
else {
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -451,7 +513,17 @@ void renderScene()
|
||||
//drawObjectTexture(&sphereModelOrbit, glm::translate(glm::vec3(0, 0, 0)) * glm::scale(glm::vec3(20.f)), textureSun);
|
||||
|
||||
//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
|
||||
drawObjectTexture(&sphereContextOrbit, glm::scale(glm::vec3(45)), textureEarthHighres);
|
||||
@ -459,7 +531,6 @@ void renderScene()
|
||||
//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);
|
||||
|
||||
|
||||
// sun
|
||||
glUseProgram(programSun);
|
||||
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()
|
||||
{
|
||||
srand(time(0));
|
||||
@ -497,6 +553,7 @@ void init()
|
||||
programSkybox = shaderLoader.CreateProgram("shaders/shader_skybox.vert", "shaders/shader_skybox.frag");
|
||||
|
||||
cubemapTexture = Skybox::loadCubemap(faces);
|
||||
cubemapTexture2 = Skybox::loadCubemap(faces2);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
@ -529,6 +586,13 @@ void idle()
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
void onReshape(int width, int height)
|
||||
{
|
||||
frustumScale = (float)width / height;
|
||||
|
||||
glViewport(0, 0, width, height);
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
@ -543,6 +607,7 @@ int main(int argc, char** argv)
|
||||
glutPassiveMotionFunc(mouse);
|
||||
glutDisplayFunc(renderScene);
|
||||
glutIdleFunc(idle);
|
||||
glutReshapeFunc(onReshape);
|
||||
|
||||
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