fix shadow; added plant;

This commit is contained in:
Angelika Iskra 2023-02-01 10:47:45 +01:00
parent 15abe70c4c
commit 155763bdd5
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();