bloom koniec - ale do poprawy
This commit is contained in:
parent
73fa84b026
commit
564b7c4e74
@ -5,6 +5,6 @@
|
||||
"\\cw 9\\shaders",
|
||||
"\\cw 9\\src"
|
||||
],
|
||||
"SelectedNode": "\\cw 9\\src\\main.cpp",
|
||||
"SelectedNode": "\\cw 9\\src",
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
Binary file not shown.
Binary file not shown.
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
BIN
Debug/room.exe
BIN
Debug/room.exe
Binary file not shown.
BIN
Debug/room.pdb
BIN
Debug/room.pdb
Binary file not shown.
BIN
Release/room.exe
BIN
Release/room.exe
Binary file not shown.
BIN
Release/room.pdb
BIN
Release/room.pdb
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\Users\s464961\Source\Repos\GRK_Room\Debug\room.exe</FullPath>
|
||||
<FullPath>C:\Users\Genos\Source\Repos\GRK_Room22\Debug\room.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
|
||||
Debug|Win32|C:\Users\s464961\Source\Repos\GRK_Room\|
|
||||
Debug|Win32|C:\Users\Genos\Source\Repos\GRK_Room22\|
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,46 +1,41 @@
|
||||
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:\Users\Genos\source\repos\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_Room\cw 9\src\room.hpp(94,30): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(109,38): warning C4305: "=": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(132,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(153,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(172,15): warning C4101: "textureID": lokalna zmienna, do której nie istnieje odwołanie
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(252,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(263,96): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
C:\Users\Genos\Source\Repos\GRK_Room22\dependencies\glfw-3.3.8.bin.WIN32\include\GLFW\glfw3.h(123): message : zobacz poprzednią definicję „APIENTRY”
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(107,30): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(122,38): warning C4305: "=": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(145,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(166,16): warning C4305: "inicjowanie": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(185,15): warning C4101: "textureID": lokalna zmienna, do której nie istnieje odwołanie
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(268,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(279,96): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
T=float
|
||||
]
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(267,59): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(283,59): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
T=float
|
||||
]
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(343,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(353,108): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(441,29): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(482,13): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(495,108): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
T=float
|
||||
]
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(361,87): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(506,59): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
T=float
|
||||
]
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(361,223): warning C4305: "argument": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(364,59): warning C4305: "argument": obcięcie z "double" do "T"
|
||||
with
|
||||
[
|
||||
T=float
|
||||
]
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(365,37): warning C4305: "argument": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(393,2): warning C4305: "argument": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(501,21): warning C4305: "-=": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room\cw 9\src\room.hpp(503,21): warning C4305: "+=": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(507,37): warning C4305: "argument": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(540,2): warning C4305: "argument": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(664,21): warning C4305: "-=": obcięcie z "double" do "float"
|
||||
C:\Users\Genos\source\repos\GRK_Room22\cw 9\src\room.hpp(666,21): warning C4305: "+=": obcięcie z "double" do "float"
|
||||
Trwa generowanie kodu
|
||||
35 of 586 functions ( 6.0%) were compiled, the rest were copied from previous compilation.
|
||||
1 of 595 functions ( 0.2%) were compiled, the rest were copied from previous compilation.
|
||||
0 functions were new in current compilation
|
||||
15 functions had inline decision re-evaluated but remain unchanged
|
||||
10 functions had inline decision re-evaluated but remain unchanged
|
||||
Zakończono generowanie kodu
|
||||
grk-cw9.vcxproj -> C:\Users\Genos\source\repos\GRK_Room\Release\room.exe
|
||||
grk-cw9.vcxproj -> C:\Users\Genos\Source\Repos\GRK_Room22\Release\room.exe
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\Users\Genos\source\repos\GRK_Room\Release\room.exe</FullPath>
|
||||
<FullPath>C:\Users\Genos\Source\Repos\GRK_Room22\Release\room.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
|
||||
Release|Win32|C:\Users\Genos\source\repos\GRK_Room\|
|
||||
Release|Win32|C:\Users\Genos\Source\Repos\GRK_Room22\|
|
||||
|
Binary file not shown.
Binary file not shown.
@ -5,10 +5,16 @@ layout (location = 1) out vec4 BloomColor;
|
||||
uniform vec3 color;
|
||||
uniform float exposition;
|
||||
|
||||
|
||||
out vec4 outColor;
|
||||
void main()
|
||||
{
|
||||
//outColor = vec4(vec3(1.0) - exp(-color*exposition),1);
|
||||
outColor = vec4(color, 1.0);
|
||||
outColor = vec4(vec3(1.0) - exp(-color*exposition),1);
|
||||
//outColor = vec4(color, 1.0);
|
||||
float brightness = dot(FragColor.rgb, vec3(0.2126, 0.7152, 0.0722));
|
||||
if(brightness > 1.0)
|
||||
BloomColor = vec4(FragColor.rgb, 1.0);
|
||||
else
|
||||
BloomColor = vec4(0.0, 0.0, 0.0, 1.0);
|
||||
|
||||
BloomColor = vec4(color, 1.0);
|
||||
}
|
||||
|
@ -9,6 +9,6 @@ out vec2 TexCoords;
|
||||
|
||||
void main()
|
||||
{
|
||||
//gl_Position = vec4(vertexPosition*0.5, 1.0);
|
||||
gl_Position = vec4(vertexPosition, 1.0);
|
||||
TexCoords = vertexTexCoord;
|
||||
}
|
||||
|
@ -4,9 +4,16 @@ uniform samplerCube skybox;
|
||||
|
||||
in vec3 texCoord;
|
||||
|
||||
out vec4 out_color;
|
||||
layout (location = 0) out vec4 FragColor;
|
||||
layout (location = 1) out vec4 BloomColor;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
out_color = texture(skybox,texCoord);
|
||||
FragColor = texture(skybox,texCoord);
|
||||
float brightness = dot(FragColor.rgb, vec3(0.2126, 0.7152, 0.0722));
|
||||
if(brightness > 1.0)
|
||||
BloomColor = vec4(FragColor.rgb, 1.0);
|
||||
else
|
||||
BloomColor = vec4(0.0, 0.0, 0.0, 1.0);
|
||||
}
|
@ -16,22 +16,22 @@ float weight[5] = float[] (0.227027, 0.1945946, 0.1216216, 0.054054, 0.016216);
|
||||
vec4 blur()
|
||||
{
|
||||
vec2 tex_offset = 1.0 / textureSize(color, 0); // gets size of single texel
|
||||
vec3 result = texture(color, tc).rgb * weight[0]; // current fragment's contribution
|
||||
vec3 result = texture(highlight, tc).rgb * weight[0]; // current fragment's contribution
|
||||
bool horizontal = true;
|
||||
if(horizontal)
|
||||
{
|
||||
for(int i = 1; i < 5; ++i)
|
||||
{
|
||||
result += texture(color, tc + vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
||||
result += texture(color, tc - vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
||||
result += texture(highlight, tc + vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
||||
result += texture(highlight, tc - vec2(tex_offset.x * i, 0.0)).rgb * weight[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for(int i = 1; i < 5; ++i)
|
||||
{
|
||||
result += texture(color, tc + vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
||||
result += texture(color, tc - vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
||||
result += texture(highlight, tc + vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
||||
result += texture(highlight, tc - vec2(0.0, tex_offset.y * i)).rgb * weight[i];
|
||||
}
|
||||
}
|
||||
return vec4(result, 1.0);
|
||||
@ -43,6 +43,6 @@ void main()
|
||||
//FragColor = vec4(vec3(rescale_z(depthValue)+0.5), 1.0);
|
||||
//FragColor = vec4(vec3((depthValue)+0.5), 1.0);
|
||||
|
||||
FragColor = vec4( blur());
|
||||
FragColor = vec4(texture(highlight, tc).rgb+texture(color, tc).rgb,1);
|
||||
//FragColor = vec4( (texture(color, tc)-0.98)*50);
|
||||
}
|
@ -23,7 +23,7 @@ int main(int argc, char** argv)
|
||||
#endif
|
||||
|
||||
// tworzenie okna za pomoca glfw
|
||||
GLFWwindow* window = glfwCreateWindow(500, 500, "The Best Room", NULL, NULL);
|
||||
GLFWwindow* window = glfwCreateWindow(800, 800, "The Best Room", NULL, NULL);
|
||||
if (window == NULL)
|
||||
{
|
||||
std::cout << "Failed to create GLFW window" << std::endl;
|
||||
@ -34,7 +34,7 @@ int main(int argc, char** argv)
|
||||
|
||||
// ladowanie OpenGL za pomoca glew
|
||||
glewInit();
|
||||
glViewport(0, 0, 500, 500);
|
||||
glViewport(0, 0, 800, 800);
|
||||
|
||||
init(window);
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
const unsigned int SHADOW_WIDTH = 1024, SHADOW_HEIGHT = 1024;
|
||||
|
||||
int WIDTH = 500, HEIGHT = 500;
|
||||
int WIDTH = 800, HEIGHT = 800;
|
||||
|
||||
namespace models {
|
||||
Core::RenderContext couchContext;
|
||||
@ -427,14 +427,15 @@ void initPingPong()
|
||||
glFramebufferTexture2D(
|
||||
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, pingpongBuffer[i], 0
|
||||
);
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void pingPongBluring(float time)
|
||||
void pingPongBluring()
|
||||
{
|
||||
|
||||
bool horizontal = true, first_iteration = true;
|
||||
int amount = 10;
|
||||
int amount = 50;
|
||||
glUseProgram(programBlur);
|
||||
|
||||
for (unsigned int i = 0; i < amount; i++)
|
||||
@ -444,7 +445,8 @@ void pingPongBluring(float time)
|
||||
glBindTexture(
|
||||
GL_TEXTURE_2D, first_iteration ? colorBuffers[1] : pingpongBuffer[!horizontal]
|
||||
);
|
||||
Core::DrawContext(models::couchContext);
|
||||
Core::SetActiveTexture(first_iteration ? colorBuffers[1] : pingpongBuffer[!horizontal], "image",programBlur, 0);
|
||||
Core::DrawContext(models::testContext);
|
||||
horizontal = !horizontal;
|
||||
if (first_iteration)
|
||||
first_iteration = false;
|
||||
@ -544,16 +546,16 @@ void renderScene(GLFWwindow* window)
|
||||
spotlightPos = spaceshipPos + 0.2 * spaceshipDir;
|
||||
spotlightConeDir = spaceshipDir;
|
||||
|
||||
|
||||
pingPongBluring();
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
|
||||
//test depth buffer
|
||||
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glUseProgram(programTest);
|
||||
Core::SetActiveTexture(colorBuffers[0], "color", programTest, 0);
|
||||
Core::SetActiveTexture(colorBuffers[1], "highlight", programTest, 1);
|
||||
Core::SetActiveTexture(pingpongBuffer[1], "highlight", programTest, 1);
|
||||
//Core::SetActiveTexture(colorBuffers[0],prog)
|
||||
Core::DrawContext(models::testContext);
|
||||
//Core::DrawContext(models::testContext);
|
||||
|
||||
glUseProgram(0);
|
||||
glfwSwapBuffers(window);
|
||||
|
Loading…
Reference in New Issue
Block a user