textures-2 #15
BIN
Release/room.exe
BIN
Release/room.pdb
@ -1,35 +1,34 @@
|
|||||||
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
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\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”
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(124,30): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(142,30): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(142,38): warning C4305: "=": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(160,38): warning C4305: "=": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(165,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(183,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(184,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(202,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(202,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(220,15): warning C4101: "textureID": lokalna zmienna, do której nie istnieje odwołanie
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(344,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(310,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(350,96): warning C4305: "argument": obcięcie z "double" do "T"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(316,96): warning C4305: "argument": obcięcie z "double" do "T"
|
||||||
with
|
with
|
||||||
[
|
[
|
||||||
T=float
|
T=float
|
||||||
]
|
]
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(353,59): warning C4305: "argument": obcięcie z "double" do "T"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(319,59): warning C4305: "argument": obcięcie z "double" do "T"
|
||||||
with
|
with
|
||||||
[
|
[
|
||||||
T=float
|
T=float
|
||||||
]
|
]
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(501,29): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(467,29): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(526,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(492,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(540,109): warning C4305: "argument": obcięcie z "double" do "T"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(506,109): warning C4305: "argument": obcięcie z "double" do "T"
|
||||||
with
|
with
|
||||||
[
|
[
|
||||||
T=float
|
T=float
|
||||||
]
|
]
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(593,2): warning C4305: "argument": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(714,21): warning C4305: "-=": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(737,21): warning C4305: "-=": obcięcie z "double" do "float"
|
D:\UAM\Grafika komputerowa\projekt\GRK_Room\cw 9\src\room.hpp(716,21): warning C4305: "+=": obcięcie z "double" do "float"
|
||||||
C:\Users\Genos\source\repos\GRK_Roomfinal\cw 9\src\room.hpp(739,21): warning C4305: "+=": obcięcie z "double" do "float"
|
|
||||||
Trwa generowanie kodu
|
Trwa generowanie kodu
|
||||||
5 of 607 functions ( 0.8%) were compiled, the rest were copied from previous compilation.
|
50 of 607 functions ( 8.2%) were compiled, the rest were copied from previous compilation.
|
||||||
0 functions were new in current compilation
|
0 functions were new in current compilation
|
||||||
7 functions had inline decision re-evaluated but remain unchanged
|
9 functions had inline decision re-evaluated but remain unchanged
|
||||||
Zakończono generowanie kodu
|
Zakończono generowanie kodu
|
||||||
grk-cw9.vcxproj -> C:\Users\Genos\source\repos\GRK_Roomfinal\Release\room.exe
|
grk-cw9.vcxproj -> D:\UAM\Grafika komputerowa\projekt\GRK_Room\Release\room.exe
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<ProjectOutputs>
|
<ProjectOutputs>
|
||||||
<ProjectOutput>
|
<ProjectOutput>
|
||||||
<FullPath>C:\Users\Genos\source\repos\GRK_Roomfinal\Release\room.exe</FullPath>
|
<FullPath>D:\UAM\Grafika komputerowa\projekt\GRK_Room\Release\room.exe</FullPath>
|
||||||
</ProjectOutput>
|
</ProjectOutput>
|
||||||
</ProjectOutputs>
|
</ProjectOutputs>
|
||||||
<ContentFiles />
|
<ContentFiles />
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
|
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
|
||||||
Release|Win32|C:\Users\Genos\source\repos\GRK_Roomfinal\|
|
Release|Win32|D:\UAM\Grafika komputerowa\projekt\GRK_Room\|
|
||||||
|
@ -57,11 +57,29 @@ namespace texture {
|
|||||||
GLuint earth;
|
GLuint earth;
|
||||||
GLuint earthNormal;
|
GLuint earthNormal;
|
||||||
|
|
||||||
|
GLuint spaceship;
|
||||||
|
GLuint spaceshipNormal;
|
||||||
|
GLuint spaceshipARM;
|
||||||
|
|
||||||
GLuint brick;
|
GLuint brick;
|
||||||
GLuint brickNormal;
|
GLuint brickNormal;
|
||||||
GLuint brickARM;
|
GLuint brickARM;
|
||||||
|
|
||||||
GLuint floor;
|
GLuint floor;
|
||||||
|
GLuint floorNormal;
|
||||||
|
GLuint floorARM;
|
||||||
|
|
||||||
|
GLuint wall;
|
||||||
|
GLuint wallNormal;
|
||||||
|
GLuint wallARM;
|
||||||
|
|
||||||
|
GLuint wood;
|
||||||
|
GLuint woodNormal;
|
||||||
|
GLuint woodARM;
|
||||||
|
|
||||||
|
GLuint black;
|
||||||
|
GLuint blackNormal;
|
||||||
|
GLuint blackARM;
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::RenderContext cubeContext;
|
Core::RenderContext cubeContext;
|
||||||
@ -247,7 +265,7 @@ void drawSkyBox(Core::RenderContext& context, glm::mat4 modelMatrix) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void drawObjectPBR(Core::RenderContext& context, glm::mat4 modelMatrix, glm::vec3 color, float roughness, float metallic) {
|
void drawObjectPBR(Core::RenderContext& context, glm::mat4 modelMatrix, GLuint textureID, GLuint textureNormalID, GLuint textureARMID) {
|
||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glUniform1i(glGetUniformLocation(program, "depthMap"), 0);
|
glUniform1i(glGetUniformLocation(program, "depthMap"), 0);
|
||||||
glBindTexture(GL_TEXTURE_2D, depthMap);
|
glBindTexture(GL_TEXTURE_2D, depthMap);
|
||||||
@ -265,11 +283,6 @@ void drawObjectPBR(Core::RenderContext& context, glm::mat4 modelMatrix, glm::vec
|
|||||||
|
|
||||||
glUniform1f(glGetUniformLocation(program, "exposition"), exposition);
|
glUniform1f(glGetUniformLocation(program, "exposition"), exposition);
|
||||||
|
|
||||||
//glUniform1f(glGetUniformLocation(program, "roughness"), roughness);
|
|
||||||
//glUniform1f(glGetUniformLocation(program, "metallic"), metallic);
|
|
||||||
|
|
||||||
//glUniform3f(glGetUniformLocation(program, "color"), color.x, color.y, color.z);
|
|
||||||
|
|
||||||
glUniform3f(glGetUniformLocation(program, "cameraPos"), cameraPos.x, cameraPos.y, cameraPos.z);
|
glUniform3f(glGetUniformLocation(program, "cameraPos"), cameraPos.x, cameraPos.y, cameraPos.z);
|
||||||
|
|
||||||
glUniform3f(glGetUniformLocation(program, "sunDir"), sunDir.x, sunDir.y, sunDir.z);
|
glUniform3f(glGetUniformLocation(program, "sunDir"), sunDir.x, sunDir.y, sunDir.z);
|
||||||
@ -287,59 +300,12 @@ void drawObjectPBR(Core::RenderContext& context, glm::mat4 modelMatrix, glm::vec
|
|||||||
glUniform3f(glGetUniformLocation(program, "spotlightColor"), spotlightColor.x, spotlightColor.y, spotlightColor.z);
|
glUniform3f(glGetUniformLocation(program, "spotlightColor"), spotlightColor.x, spotlightColor.y, spotlightColor.z);
|
||||||
glUniform1f(glGetUniformLocation(program, "spotlightPhi"), spotlightPhi);
|
glUniform1f(glGetUniformLocation(program, "spotlightPhi"), spotlightPhi);
|
||||||
|
|
||||||
Core::SetActiveTexture(texture::brick, "colorTexture", program, 2);
|
Core::SetActiveTexture(textureID, "colorTexture", program, 2);
|
||||||
Core::SetActiveTexture(texture::brickNormal, "normalSampler", program, 3);
|
Core::SetActiveTexture(textureNormalID, "normalSampler", program, 3);
|
||||||
Core::SetActiveTexture(texture::brickARM, "armSampler", program, 4);
|
Core::SetActiveTexture(textureARMID, "armSampler", program, 4);
|
||||||
Core::DrawContext(context);
|
Core::DrawContext(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawObjectTexture(Core::RenderContext& context, glm::mat4 modelMatrix, GLuint textureID, glm::vec3 color, float roughness, float metallic) {
|
|
||||||
glUseProgram(programTex);
|
|
||||||
|
|
||||||
glm::mat4 viewProjectionMatrix = createPerspectiveMatrix() * createCameraMatrix();
|
|
||||||
glm::mat4 transformation = viewProjectionMatrix * modelMatrix;
|
|
||||||
|
|
||||||
glUniformMatrix4fv(glGetUniformLocation(programTex, "transformation"), 1, GL_FALSE, (float*)&transformation);
|
|
||||||
glUniformMatrix4fv(glGetUniformLocation(programTex, "modelMatrix"), 1, GL_FALSE, (float*)&modelMatrix);
|
|
||||||
|
|
||||||
glUniform1f(glGetUniformLocation(programTex, "exposition"), exposition);
|
|
||||||
|
|
||||||
glUniform1f(glGetUniformLocation(programTex, "roughness"), roughness);
|
|
||||||
glUniform1f(glGetUniformLocation(programTex, "metallic"), metallic);
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "color"), color.x, color.y, color.z);
|
|
||||||
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "cameraPos"), cameraPos.x, cameraPos.y, cameraPos.z);
|
|
||||||
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "sunDir"), sunDir.x, sunDir.y, sunDir.z);
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "sunColor"), sunColor.x, sunColor.y, sunColor.z);
|
|
||||||
|
|
||||||
if (lightOn > 0.0f)
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "lightPos"), pointlightPos.x, pointlightPos.y, pointlightPos.z);
|
|
||||||
else
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "lightPos"), 1000.f, 1000.f, 1000.f);
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "lightColor"), pointlightColor.x, pointlightColor.y, pointlightColor.z);
|
|
||||||
|
|
||||||
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "spotlightConeDir"), spotlightConeDir.x, spotlightConeDir.y, spotlightConeDir.z);
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "spotlightPos"), spotlightPos.x, spotlightPos.y, spotlightPos.z);
|
|
||||||
glUniform3f(glGetUniformLocation(programTex, "spotlightColor"), spotlightColor.x, spotlightColor.y, spotlightColor.z);
|
|
||||||
glUniform1f(glGetUniformLocation(program, "spotlightPhi"), spotlightPhi);
|
|
||||||
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
|
||||||
glUniform1i(glGetUniformLocation(programTex, "depthMapSun"), 0);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, depthMap);
|
|
||||||
glUniformMatrix4fv(glGetUniformLocation(programTex, "LightVPSun"), 1, GL_FALSE, (float*)&lightVP);
|
|
||||||
|
|
||||||
glActiveTexture(GL_TEXTURE1);
|
|
||||||
glUniform1i(glGetUniformLocation(programTex, "depthMapShip"), 1);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, depthMapShip);
|
|
||||||
glUniformMatrix4fv(glGetUniformLocation(programTex, "lightShipVP"), 1, GL_FALSE, (float*)&lightShipVP);
|
|
||||||
|
|
||||||
Core::SetActiveTexture(textureID, "colorTexture", programTex, 0);
|
|
||||||
Core::DrawContext(context);
|
|
||||||
glUseProgram(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void renderShadowapSun(GLuint depthFBO, glm::mat4 light) {
|
void renderShadowapSun(GLuint depthFBO, glm::mat4 light) {
|
||||||
float time = glfwGetTime();
|
float time = glfwGetTime();
|
||||||
glViewport(0, 0, SHADOW_WIDTH, SHADOW_HEIGHT);
|
glViewport(0, 0, SHADOW_WIDTH, SHADOW_HEIGHT);
|
||||||
@ -546,34 +512,32 @@ void renderScene(GLFWwindow* window)
|
|||||||
|
|
||||||
glUseProgram(program);
|
glUseProgram(program);
|
||||||
|
|
||||||
drawObjectPBR(models::couchContext, glm::scale(glm::vec3(0.5f)) * glm::translate(glm::vec3(8.4f, 0, -0.4f)) * glm::eulerAngleY(3.15f), glm::vec3(0.03f, 0.03f, 0.03f), 0.2f, 0.0f);
|
//drawObjectPBR(models::couchContext, glm::scale(glm::vec3(0.5f)) * glm::translate(glm::vec3(8.4f, 0, -0.4f)) * glm::eulerAngleY(3.15f), glm::vec3(0.03f, 0.03f, 0.03f), 0.2f, 0.0f);
|
||||||
drawObjectPBR(models::coffeeTableContext, glm::translate(glm::vec3(2.8f, 0, 0.5f)), glm::vec3(1.f, 1.f, 1.f), 0.4f, 0.0f);
|
drawObjectPBR(models::coffeeTableContext, glm::translate(glm::vec3(2.8f, 0, 0.5f)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::doorContext, glm::mat4(), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f);
|
drawObjectPBR(models::doorContext, glm::mat4(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::planeContext, glm::mat4(), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.2f, 0.0f);
|
drawObjectPBR(models::planeContext, glm::mat4(), texture::floor, texture::floorNormal, texture::floorARM);
|
||||||
drawObjectPBR(models::roomContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.8f, 0.0f);
|
drawObjectPBR(models::roomContext, glm::mat4(), texture::wall, texture::wallNormal, texture::wallARM);
|
||||||
drawObjectPBR(models::deskContext, glm::eulerAngleY(3.14f) * glm::translate(glm::vec3(2.8f, 0.0f, 1.9f)), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.0f);
|
drawObjectPBR(models::deskContext, glm::eulerAngleY(3.14f) * glm::translate(glm::vec3(2.8f, 0.0f, 1.9f)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::displayScreenContext, glm::scale(glm::vec3(0.1, 0.1, 0.1)) * glm::translate(glm::vec3(-28.5f, 9.0f, -20.0f)), glm::vec3(0.0f, 0.0f, 0.0f), 0.0f, 0.3f);
|
drawObjectPBR(models::displayScreenContext, glm::scale(glm::vec3(0.1, 0.1, 0.1)) * glm::translate(glm::vec3(-28.5f, 9.0f, -20.0f)), texture::black, texture::blackNormal, texture::blackARM);
|
||||||
|
|
||||||
drawObjectPBR(models::chairContext, glm::scale(glm::vec3(1.0f, 1.2f, 1.0f)) * glm::eulerAngleY(3.14f) * glm::translate(glm::vec3(2.8f, 0.0f, 1.5f)), glm::vec3(0.402978f, 0.120509f, 0.057729f), 0.0f, 0.2f);
|
drawObjectPBR(models::chairContext, glm::scale(glm::vec3(1.0f, 1.2f, 1.0f)) * glm::eulerAngleY(3.14f) * glm::translate(glm::vec3(2.8f, 0.0f, 1.5f)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::tvContext, glm::mat4(), glm::vec3(0.0f, 0.0f, 0.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::tvContext, glm::mat4(), texture::black, texture::blackNormal, texture::blackARM);
|
||||||
drawObjectPBR(models::ps5Context, glm::mat4(), glm::vec3(0.0f, 0.0f, 0.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::ps5Context, glm::mat4(), texture::black, texture::blackNormal, texture::blackARM);
|
||||||
drawObjectPBR(models::tvStandContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::tvStandContext, glm::mat4(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::carpetContext, glm::mat4(), glm::vec3(0.6745098039215686f, 0.6352941176470588f, 0.6235294117647059f), 0.0f, 0.2f);
|
//drawObjectPBR(models::carpetContext, glm::mat4(), glm::vec3(0.6745098039215686f, 0.6352941176470588f, 0.6235294117647059f), 0.0f, 0.2f);
|
||||||
drawObjectPBR(models::cabinet1Context, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::cabinet1Context, glm::mat4(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::cabinet2Context, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::cabinet2Context, glm::mat4(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
drawObjectPBR(models::lampContext, glm::translate(glm::vec3(0.022f, 0.15f, 0.04f)), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::lampContext, glm::translate(glm::vec3(0.022f, 0.15f, 0.04f)), texture::black, texture::blackNormal, texture::blackARM);
|
||||||
drawObjectPBR(models::bookshelfContext, glm::mat4(), glm::vec3(1.0f, 1.0f, 1.0f), 0.0f, 0.2f);
|
drawObjectPBR(models::bookshelfContext, glm::mat4(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
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(), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
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::vaseContext, glm::translate(glm::vec3(1.1f, 1.41f, -2.2f)), glm::vec3(244.0f / 255.0f, 245.0f / 255.0f, 220.0f / 255.0f), 0.0f, 0.2f);
|
//drawObjectPBR(models::vaseContext, glm::translate(glm::vec3(1.1f, 1.41f, -2.2f)), glm::vec3(244.0f / 255.0f, 245.0f / 255.0f, 220.0f / 255.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)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
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)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
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)), texture::wood, texture::woodNormal, texture::woodARM);
|
||||||
|
|
||||||
//drawObjectTexture(models::planeContext, glm::mat4(), texture::floor, 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 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, glm::vec3(0.f, 1.f, 0.f)));
|
||||||
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
|
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
|
||||||
@ -588,8 +552,7 @@ void renderScene(GLFWwindow* window)
|
|||||||
//drawObjectPBR(shipContext,
|
//drawObjectPBR(shipContext,
|
||||||
drawObjectPBR(models::spaceshipContext,
|
drawObjectPBR(models::spaceshipContext,
|
||||||
glm::translate(spaceshipPos) * specshipCameraRotrationMatrix * glm::eulerAngleY(glm::pi<float>()) * glm::scale(glm::vec3(0.03f)),
|
glm::translate(spaceshipPos) * specshipCameraRotrationMatrix * glm::eulerAngleY(glm::pi<float>()) * glm::scale(glm::vec3(0.03f)),
|
||||||
glm::vec3(0.3, 0.3, 0.5),
|
texture::spaceship, texture::spaceshipNormal, texture::spaceshipARM
|
||||||
0.2,1.0
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -648,15 +611,30 @@ void init(GLFWwindow* window)
|
|||||||
loadCubemap(faces);
|
loadCubemap(faces);
|
||||||
initDepthMap();
|
initDepthMap();
|
||||||
|
|
||||||
programTex = shaderLoader.CreateProgram("shaders/shader_tex.vert", "shaders/shader_tex.frag");
|
|
||||||
texture::earth = Core::LoadTexture("textures/room/earth.png");
|
|
||||||
texture::earthNormal = Core::LoadTexture("textures/room/earth_normalmap.png");
|
|
||||||
texture::floor = Core::LoadTexture("textures/floor/floor_wood.jpg");
|
|
||||||
|
|
||||||
texture::brick = Core::LoadTexture("textures/room/brick.jpg");
|
texture::brick = Core::LoadTexture("textures/room/brick.jpg");
|
||||||
texture::brickNormal = Core::LoadTexture("textures/room/brick_normal.jpg");
|
texture::brickNormal = Core::LoadTexture("textures/room/brick_normal.jpg");
|
||||||
texture::brickARM = Core::LoadTexture("textures/room/brick_arm.jpg");
|
texture::brickARM = Core::LoadTexture("textures/room/brick_arm.jpg");
|
||||||
|
|
||||||
|
texture::spaceship = Core::LoadTexture("textures/spaceship/spaceship_albedo.png");
|
||||||
|
texture::spaceshipNormal = Core::LoadTexture("textures/spaceship/spaceship_normal.png");
|
||||||
|
texture::spaceshipARM = Core::LoadTexture("textures/spaceship/spaceship_amr.png");
|
||||||
|
|
||||||
|
texture::floor = Core::LoadTexture("textures/floor/floor.jpg");
|
||||||
|
texture::floorNormal = Core::LoadTexture("textures/floor/floor_normal.png");
|
||||||
|
texture::floorARM = Core::LoadTexture("textures/floor/floor_arm.png");
|
||||||
|
|
||||||
|
texture::wall = Core::LoadTexture("textures/wall/wall.png");
|
||||||
|
texture::wallNormal = Core::LoadTexture("textures/wall/wall_normal.png");
|
||||||
|
texture::wallARM = Core::LoadTexture("textures/wall/wall_arm.png");
|
||||||
|
|
||||||
|
texture::wood = Core::LoadTexture("textures/wood/wood.jpg");
|
||||||
|
texture::woodNormal = Core::LoadTexture("textures/wood/wood_normal.png");
|
||||||
|
texture::woodARM = Core::LoadTexture("textures/wood/wood_arm.png");
|
||||||
|
|
||||||
|
texture::black = Core::LoadTexture("textures/black/black.jpg");
|
||||||
|
texture::blackNormal = Core::LoadTexture("textures/black/black_normal.png");
|
||||||
|
texture::blackARM = Core::LoadTexture("textures/black/black_arm.png");
|
||||||
|
|
||||||
loadModelToContext("./models/sphere.obj", sphereContext);
|
loadModelToContext("./models/sphere.obj", sphereContext);
|
||||||
loadModelToContext("./models/cube.obj", cubeContext);
|
loadModelToContext("./models/cube.obj", cubeContext);
|
||||||
loadModelToContext("./models/couch.obj", models::couchContext);
|
loadModelToContext("./models/couch.obj", models::couchContext);
|
||||||
@ -665,7 +643,6 @@ void init(GLFWwindow* window)
|
|||||||
loadModelToContext("./models/door.obj", models::doorContext);
|
loadModelToContext("./models/door.obj", models::doorContext);
|
||||||
loadModelToContext("./models/drawer.obj", models::drawerContext);
|
loadModelToContext("./models/drawer.obj", models::drawerContext);
|
||||||
loadModelToContext("./models/plane.obj", models::planeContext);
|
loadModelToContext("./models/plane.obj", models::planeContext);
|
||||||
//loadModelToContext("./models/room_2.obj", models::roomContext);
|
|
||||||
loadModelToContext("./models/room/room3.obj", models::roomContext);
|
loadModelToContext("./models/room/room3.obj", models::roomContext);
|
||||||
loadModelToContext("./models/spaceship.obj", models::spaceshipContext);
|
loadModelToContext("./models/spaceship.obj", models::spaceshipContext);
|
||||||
loadModelToContext("./models/sphere.obj", models::sphereContext);
|
loadModelToContext("./models/sphere.obj", models::sphereContext);
|
||||||
|
BIN
cw 9/textures/black/black.jpg
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
cw 9/textures/black/black_arm.png
Normal file
After Width: | Height: | Size: 188 KiB |
BIN
cw 9/textures/black/black_normal.png
Normal file
After Width: | Height: | Size: 565 KiB |
BIN
cw 9/textures/floor/floor.jpg
Normal file
After Width: | Height: | Size: 14 MiB |
BIN
cw 9/textures/floor/floor_arm.png
Normal file
After Width: | Height: | Size: 37 MiB |
BIN
cw 9/textures/floor/floor_normal.png
Normal file
After Width: | Height: | Size: 57 MiB |
BIN
cw 9/textures/spaceship/spaceship_albedo.png
Normal file
After Width: | Height: | Size: 562 KiB |
BIN
cw 9/textures/spaceship/spaceship_amr.png
Normal file
After Width: | Height: | Size: 960 KiB |
BIN
cw 9/textures/spaceship/spaceship_normal.png
Normal file
After Width: | Height: | Size: 3.1 MiB |
BIN
cw 9/textures/wall/wall.png
Normal file
After Width: | Height: | Size: 2.5 MiB |
BIN
cw 9/textures/wall/wall_arm.png
Normal file
After Width: | Height: | Size: 13 MiB |
BIN
cw 9/textures/wall/wall_normal.png
Normal file
After Width: | Height: | Size: 52 MiB |
BIN
cw 9/textures/wood/wood.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
cw 9/textures/wood/wood_arm.png
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
cw 9/textures/wood/wood_normal.png
Normal file
After Width: | Height: | Size: 12 MiB |