Merge pull request 'fix shadow; added plant;' (#12) from fix-shadow into master

Reviewed-on: #12
This commit is contained in:
Angelika Iskra 2023-02-01 10:48:36 +01:00
commit 1c4b65ed79
11 changed files with 119781 additions and 29 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,43 +2,43 @@
main.cpp main.cpp
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h(130,1): warning C4005: "APIENTRY": ponowna definicja makra C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h(130,1): warning C4005: "APIENTRY": ponowna definicja makra
D:\UAM\Grafika komputerowa\projekt\GRK_Room\dependencies\glfw-3.3.8.bin.WIN32\include\GLFW\glfw3.h(123): message : zobacz poprzednią definicję „APIENTRY” D:\UAM\Grafika komputerowa\projekt\GRK_Room\dependencies\glfw-3.3.8.bin.WIN32\include\GLFW\glfw3.h(123): message : zobacz poprzednią definicję „APIENTRY”
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(110,30): warning C4305: "inicjowanie": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(111,30): warning C4305: "inicjowanie": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(129,38): warning C4305: "=": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(130,38): warning C4305: "=": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(152,16): warning C4305: "inicjowanie": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(153,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(171,16): warning C4305: "inicjowanie": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(172,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(189,15): warning C4101: "textureID": lokalna zmienna, do której nie istnieje odwołanie D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(190,15): warning C4101: "textureID": lokalna zmienna, do której nie istnieje odwołanie
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(275,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(276,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(286,96): warning C4305: "argument": obcięcie z "double" do "T" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(287,96): warning C4305: "argument": obcięcie z "double" do "T"
with with
[ [
T=float T=float
] ]
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(290,59): warning C4305: "argument": obcięcie z "double" do "T" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(291,59): warning C4305: "argument": obcięcie z "double" do "T"
with with
[ [
T=float T=float
] ]
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(386,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(388,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(397,109): warning C4305: "argument": obcięcie z "double" do "T" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(412,109): warning C4305: "argument": obcięcie z "double" do "T"
with with
[ [
T=float T=float
] ]
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(406,87): warning C4305: "argument": obcięcie z "double" do "T" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(421,87): warning C4305: "argument": obcięcie z "double" do "T"
with with
[ [
T=float T=float
] ]
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(406,223): warning C4305: "argument": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(421,223): warning C4305: "argument": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(409,59): warning C4305: "argument": obcięcie z "double" do "T" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(424,59): warning C4305: "argument": obcięcie z "double" do "T"
with with
[ [
T=float T=float
] ]
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(410,37): warning C4305: "argument": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(425,37): warning C4305: "argument": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(455,2): warning C4305: "argument": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(462,2): warning C4305: "argument": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(589,21): warning C4305: "-=": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(594,21): warning C4305: "-=": obcięcie z "double" do "float"
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(591,21): warning C4305: "+=": obcięcie z "double" do "float" D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(596,21): warning C4305: "+=": obcięcie z "double" do "float"
Box.obj : warning LNK4075: zignorowano opcję „/EDITANDCONTINUE” z powodu określenia opcji „/INCREMENTAL:NO” Box.obj : warning LNK4075: zignorowano opcję „/EDITANDCONTINUE” z powodu określenia opcji „/INCREMENTAL:NO”
LINK : warning LNK4098: domyślna biblioteka „MSVCRT” powoduje konflikt z innymi bibliotekami; użyj opcji /NODEFAULTLIB:biblioteka LINK : warning LNK4098: domyślna biblioteka „MSVCRT” powoduje konflikt z innymi bibliotekami; użyj opcji /NODEFAULTLIB:biblioteka
grk-cw9.vcxproj -> D:\UAM\Grafika komputerowa\projekt\GRK_Room\Debug\room.exe grk-cw9.vcxproj -> D:\UAM\Grafika komputerowa\projekt\GRK_Room\Debug\room.exe

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,68 @@
# Blender 3.4.1 MTL File: 'None'
# www.blender.org
newmtl IDP_Pot.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
map_Ks D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
newmtl IDP_ground.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 1
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
newmtl IDP_leaves.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Ks D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
newmtl IDP_leaves_indoor_plant_2_NOR.jpg.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
map_Ks D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
newmtl IDP_root.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Ks D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
newmtl IDP_root_indoor_plant_2_NOR.jpg.001
Ns 96.078453
Ka 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg
map_Ks D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_COL.jpg
map_Bump D:/UAM/Grafika komputerowa/projekt/models/textures/indoor plant_2_NOR.jpg

119679
cw 9/models/flower/flower.obj Normal file

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,7 @@ namespace models {
Core::RenderContext lightSwitchContext; Core::RenderContext lightSwitchContext;
Core::RenderContext easelContext; Core::RenderContext easelContext;
Core::RenderContext carContext; Core::RenderContext carContext;
Core::RenderContext flowerContext;
} }
namespace texture { namespace texture {
@ -312,6 +313,7 @@ void renderShadowapSun(GLuint depthFBO, glm::mat4 light) {
drawObjectDepth(models::bookshelfContext, light, glm::mat4()); drawObjectDepth(models::bookshelfContext, light, glm::mat4());
drawObjectDepth(models::easelContext, light, glm::mat4()); drawObjectDepth(models::easelContext, light, glm::mat4());
drawObjectDepth(models::carContext, light, glm::translate(carPosTranform)); drawObjectDepth(models::carContext, light, glm::translate(carPosTranform));
drawObjectDepth(models::flowerContext, light, glm::mat4());
// draw windows // draw windows
drawObjectDepth(models::windowContext, light, glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.2f))); drawObjectDepth(models::windowContext, light, glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.2f)));
@ -385,6 +387,19 @@ void renderScene(GLFWwindow* window)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
float time = glfwGetTime(); float time = glfwGetTime();
updateDeltaTime(time); updateDeltaTime(time);
glm::vec3 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, glm::vec3(0.f, 1.f, 0.f)));
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
glm::mat4 specshipCameraRotrationMatrix = glm::mat4({
spaceshipSide.x,spaceshipSide.y,spaceshipSide.z,0,
spaceshipUp.x,spaceshipUp.y,spaceshipUp.z ,0,
-spaceshipDir.x,-spaceshipDir.y,-spaceshipDir.z,0,
0.,0.,0.,1.,
});
spotlightPos = spaceshipPos + 0.4 * spaceshipDir;
spotlightConeDir = spaceshipDir;
renderShadowapSun(depthMapFBO, lightVP); renderShadowapSun(depthMapFBO, lightVP);
renderShadowapSun(depthMapShipFBO, lightShipVP); renderShadowapSun(depthMapShipFBO, lightShipVP);
@ -429,21 +444,13 @@ void renderScene(GLFWwindow* window)
drawObjectPBR(models::lightSwitchContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f); drawObjectPBR(models::lightSwitchContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
drawObjectPBR(models::easelContext, glm::mat4(), glm::vec3(0.6745098039215686f, 0.6352941176470588f, 0.6235294117647059f), 0.0f, 0.2f); drawObjectPBR(models::easelContext, glm::mat4(), glm::vec3(0.6745098039215686f, 0.6352941176470588f, 0.6235294117647059f), 0.0f, 0.2f);
drawObjectPBR(models::carContext, glm::translate(carPosTranform), glm::vec3(1.0f, 0.0f, 0.0f), 0.0f, 0.2f); drawObjectPBR(models::carContext, glm::translate(carPosTranform), glm::vec3(1.0f, 0.0f, 0.0f), 0.0f, 0.2f);
drawObjectPBR(models::flowerContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
// draw windows // draw windows
drawObjectPBR(models::windowContext, glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.2f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f); drawObjectPBR(models::windowContext, glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.2f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f);
drawObjectPBR(models::windowContext, glm::eulerAngleY(3.14f) * glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.3f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f); drawObjectPBR(models::windowContext, glm::eulerAngleY(3.14f) * glm::scale(glm::vec3(1.0f, 1.0f, 2.3f)) * glm::translate(glm::vec3(-2.9f, 0, -0.3f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f);
drawObjectPBR(models::windowContext, glm::eulerAngleY(1.57f) * glm::scale(glm::vec3(1.0f, 1.0f, 2.45f)) * glm::translate(glm::vec3(-0.6f, 0, -0.25f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f); drawObjectPBR(models::windowContext, glm::eulerAngleY(1.57f) * glm::scale(glm::vec3(1.0f, 1.0f, 2.45f)) * glm::translate(glm::vec3(-0.6f, 0, -0.25f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f);
glm::vec3 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, glm::vec3(0.f, 1.f, 0.f)));
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
glm::mat4 specshipCameraRotrationMatrix = glm::mat4({
spaceshipSide.x,spaceshipSide.y,spaceshipSide.z,0,
spaceshipUp.x,spaceshipUp.y,spaceshipUp.z ,0,
-spaceshipDir.x,-spaceshipDir.y,-spaceshipDir.z,0,
0.,0.,0.,1.,
});
//drawObjectColor(shipContext, //drawObjectColor(shipContext,
// glm::translate(cameraPos + 1.5 * cameraDir + cameraUp * -0.5f) * inveseCameraRotrationMatrix * glm::eulerAngleY(glm::pi<float>()), // glm::translate(cameraPos + 1.5 * cameraDir + cameraUp * -0.5f) * inveseCameraRotrationMatrix * glm::eulerAngleY(glm::pi<float>()),
// glm::vec3(0.3, 0.3, 0.5) // glm::vec3(0.3, 0.3, 0.5)
@ -454,9 +461,6 @@ void renderScene(GLFWwindow* window)
0.2,1.0 0.2,1.0
); );
spotlightPos = spaceshipPos + 0.2 * spaceshipDir;
spotlightConeDir = spaceshipDir;
//test depth buffer //test depth buffer
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//glUseProgram(programTest); //glUseProgram(programTest);
@ -539,6 +543,7 @@ void init(GLFWwindow* window)
loadModelToContext("./models/light_switch/light_switch.obj", models::lightSwitchContext); loadModelToContext("./models/light_switch/light_switch.obj", models::lightSwitchContext);
loadModelToContext("./models/easel/easel3.obj", models::easelContext); loadModelToContext("./models/easel/easel3.obj", models::easelContext);
loadModelToContext("./models/car/car.obj", models::carContext); loadModelToContext("./models/car/car.obj", models::carContext);
loadModelToContext("./models/flower/flower.obj", models::flowerContext);
initDepthMap(); initDepthMap();
initDepthMapShip(); initDepthMapShip();