final touches
This commit is contained in:
parent
75287d106e
commit
f166123a7a
Binary file not shown.
Binary file not shown.
BIN
GrafikaProjekt/Debug/scenaPodwodna.exe
Normal file
BIN
GrafikaProjekt/Debug/scenaPodwodna.exe
Normal file
Binary file not shown.
BIN
GrafikaProjekt/Debug/scenaPodwodna.pdb
Normal file
BIN
GrafikaProjekt/Debug/scenaPodwodna.pdb
Normal file
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>
|
<Project>
|
||||||
<ProjectOutputs>
|
<ProjectOutputs>
|
||||||
<ProjectOutput>
|
<ProjectOutput>
|
||||||
<FullPath>C:\Users\Tomek\source\repos\Grafika\GrafikaProjekt\Debug\grk-cw6.exe</FullPath>
|
<FullPath>C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\Debug\grk-cw6.exe</FullPath>
|
||||||
</ProjectOutput>
|
</ProjectOutput>
|
||||||
</ProjectOutputs>
|
</ProjectOutputs>
|
||||||
<ContentFiles />
|
<ContentFiles />
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.30.30705:TargetPlatformVersion=10.0.19041.0:
|
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.30.30705:TargetPlatformVersion=10.0.19041.0:
|
||||||
Debug|Win32|C:\Users\Tomek\source\repos\Grafika\GrafikaProjekt\|
|
Debug|Win32|C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,44 @@
|
|||||||
projekt.vcxproj -> C:\Users\Tomek\source\repos\Grafika\GrafikaProjekt\Debug\grk-cw6.exe
|
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(510,5): warning MSB8028: Katalog pośredni (Debug\) zawiera pliki udostępnione z innego projektu (grk-cw6.vcxproj). Może to spowodować niepoprawne zachowanie podczas oczyszczania i ponownej kompilacji.
|
||||||
|
Camera.cpp
|
||||||
|
main.cpp
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(316,28): warning C4305: "+=": obcięcie z "double" do "float"
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(321,167): warning C4305: "argument": obcięcie z "double" do "float"
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(369,12): warning C4244: "argument": konwersja z "time_t" do "unsigned int", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(381,39): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(382,37): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\main.cpp(383,37): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
Render_Utils.cpp
|
||||||
|
Shader_Loader.cpp
|
||||||
|
Texture.cpp
|
||||||
|
Generowanie kodu...
|
||||||
|
image_DXT.c
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_DXT.c(92,9): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
image_helper.c
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_helper.c(325,22): warning C4244: "inicjowanie": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_helper.c(366,13): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_helper.c(373,20): warning C4244: "=": konwersja z "float" do "int", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_helper.c(415,13): warning C4244: "=": konwersja z "double" do "float", możliwa utrata danych
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\image_helper.c(422,20): warning C4244: "=": konwersja z "float" do "int", możliwa utrata danych
|
||||||
|
SOIL.c
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\SOIL.c(1719,36): warning C4018: "<=": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\SOIL.c(1729,19): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\SOIL.c(1841,6): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
stb_image_aug.c
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(177,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(251,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(303,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(1557,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(2394,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(2709,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(2995,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(3209,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(3548,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stb_image_aug.c(3644,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stbi_DDS_aug_c.h(362,19): warning C4018: ">": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stbi_DDS_aug_c.h(366,19): warning C4018: ">": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stbi_DDS_aug_c.h(390,19): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stbi_DDS_aug_c.h(427,19): warning C4018: "<": niezgodność typu ze znakiem/bez znaku
|
||||||
|
C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\pliki\src\SOIL\stbi_DDS_aug_c.h(498,14): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
Generowanie kodu...
|
||||||
|
Camera.obj : warning LNK4075: zignorowano opcję „/EDITANDCONTINUE” z powodu określenia opcji „/INCREMENTAL:NO”
|
||||||
|
projekt.vcxproj -> C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\Debug\scenaPodwodna.exe
|
||||||
|
11
GrafikaProjekt/pliki/Debug/scenaPodwodna.exe.recipe
Normal file
11
GrafikaProjekt/pliki/Debug/scenaPodwodna.exe.recipe
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project>
|
||||||
|
<ProjectOutputs>
|
||||||
|
<ProjectOutput>
|
||||||
|
<FullPath>C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\Debug\scenaPodwodna.exe</FullPath>
|
||||||
|
</ProjectOutput>
|
||||||
|
</ProjectOutputs>
|
||||||
|
<ContentFiles />
|
||||||
|
<SatelliteDlls />
|
||||||
|
<NonRecipeFileRefs />
|
||||||
|
</Project>
|
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.command.1.tlog
Normal file
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.command.1.tlog
Normal file
Binary file not shown.
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.read.1.tlog
Normal file
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.read.1.tlog
Normal file
Binary file not shown.
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.write.1.tlog
Normal file
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/CL.write.1.tlog
Normal file
Binary file not shown.
Binary file not shown.
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/link.read.1.tlog
Normal file
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/link.read.1.tlog
Normal file
Binary file not shown.
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/link.write.1.tlog
Normal file
BIN
GrafikaProjekt/pliki/Debug/scenaPodwodna.tlog/link.write.1.tlog
Normal file
Binary file not shown.
@ -0,0 +1,2 @@
|
|||||||
|
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.30.30705:TargetPlatformVersion=10.0.19041.0:
|
||||||
|
Debug|Win32|C:\Users\luksli\Desktop\GrafikaProjekt\GrafikaProjekt\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -46,7 +46,7 @@
|
|||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>grk-cw6</RootNamespace>
|
<RootNamespace>grk-cw6</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
<ProjectName>grk-cw6</ProjectName>
|
<ProjectName>scenaPodwodna</ProjectName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
uniform sampler2D textureSampler;
|
uniform sampler2D textureSampler;
|
||||||
uniform vec3 lightDir;
|
uniform vec3 lightDir;
|
||||||
|
uniform float alpha;
|
||||||
|
|
||||||
in vec3 interpNormal;
|
in vec3 interpNormal;
|
||||||
in vec2 interpTexCoord;
|
in vec2 interpTexCoord;
|
||||||
@ -13,5 +14,5 @@ void main()
|
|||||||
vec3 color = texture2D(textureSampler, modifiedTexCoord).rgb;
|
vec3 color = texture2D(textureSampler, modifiedTexCoord).rgb;
|
||||||
vec3 normal = normalize(interpNormal);
|
vec3 normal = normalize(interpNormal);
|
||||||
float diffuse = max(dot(normal, -lightDir), 0.0);
|
float diffuse = max(dot(normal, -lightDir), 0.0);
|
||||||
gl_FragColor = mix(vec4(0.3f, 0.4f, 0.62f, 1.0f), vec4(color * diffuse, 1.0), visibility);
|
gl_FragColor = vec4(mix(vec4(0.3f, 0.4f, 0.62f, 1.0f), vec4(color * diffuse, 1.0), visibility).rgb, alpha);
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,8 @@ Core::Shader_Loader shaderLoader;
|
|||||||
int random[320];
|
int random[320];
|
||||||
int random2[320];
|
int random2[320];
|
||||||
int randomRock[65];
|
int randomRock[65];
|
||||||
|
float randomBubble[20];
|
||||||
|
float bubbleSize[20];
|
||||||
|
|
||||||
Core::RenderContext shipContext;
|
Core::RenderContext shipContext;
|
||||||
Core::RenderContext sphereContext;
|
Core::RenderContext sphereContext;
|
||||||
@ -38,6 +40,7 @@ Core::RenderContext plant5;
|
|||||||
Core::RenderContext smiglo;
|
Core::RenderContext smiglo;
|
||||||
Core::RenderContext grass;
|
Core::RenderContext grass;
|
||||||
Core::RenderContext cave;
|
Core::RenderContext cave;
|
||||||
|
Core::RenderContext sphere;
|
||||||
|
|
||||||
float skyboxVertices[] = {
|
float skyboxVertices[] = {
|
||||||
-10.0f, 10.0f, -10.0f,
|
-10.0f, 10.0f, -10.0f,
|
||||||
@ -88,6 +91,7 @@ glm::vec3 cameraDir;
|
|||||||
glm::vec3 cameraSide;
|
glm::vec3 cameraSide;
|
||||||
glm::vec3 cameraUp;
|
glm::vec3 cameraUp;
|
||||||
float cameraAngle = 0;
|
float cameraAngle = 0;
|
||||||
|
float bubbleLifetime[20];
|
||||||
|
|
||||||
int lastMouseX, lastMouseY, mouseX, mouseY;
|
int lastMouseX, lastMouseY, mouseX, mouseY;
|
||||||
int fishMovement = 0;
|
int fishMovement = 0;
|
||||||
@ -112,13 +116,14 @@ GLuint texturePlant3;
|
|||||||
GLuint texturePlant4;
|
GLuint texturePlant4;
|
||||||
GLuint texturePlant5;
|
GLuint texturePlant5;
|
||||||
GLuint textureSmiglo;
|
GLuint textureSmiglo;
|
||||||
|
GLuint textureBubble;
|
||||||
|
|
||||||
|
|
||||||
void keyboard(unsigned char key, int x, int y)
|
void keyboard(unsigned char key, int x, int y)
|
||||||
{
|
{
|
||||||
|
|
||||||
float angleSpeed = 0.1f;
|
float angleSpeed = 0.1f;
|
||||||
float moveSpeed = 0.4f;
|
float moveSpeed = 0.03f;
|
||||||
switch(key)
|
switch(key)
|
||||||
{
|
{
|
||||||
case 'z': cameraAngle -= angleSpeed; break;
|
case 'z': cameraAngle -= angleSpeed; break;
|
||||||
@ -140,7 +145,7 @@ void mouse(int x, int y)
|
|||||||
|
|
||||||
glm::mat4 createCameraMatrix()
|
glm::mat4 createCameraMatrix()
|
||||||
{
|
{
|
||||||
rotation = glm::normalize(rotation * glm::angleAxis((float)(mouseX * 0.05), cameraUp) * glm::angleAxis((float)(mouseY * 0.05), cameraSide));
|
rotation = glm::normalize(rotation * glm::angleAxis((float)(mouseX * 0.03), cameraUp) * glm::angleAxis((float)(mouseY * 0.03), cameraSide));
|
||||||
mouseX = mouseY = 0;
|
mouseX = mouseY = 0;
|
||||||
cameraDir = glm::inverse(rotation) * glm::vec3(0, 0, -1);
|
cameraDir = glm::inverse(rotation) * glm::vec3(0, 0, -1);
|
||||||
cameraSide = glm::inverse(rotation) * glm::vec3(-1, 0, 0);
|
cameraSide = glm::inverse(rotation) * glm::vec3(-1, 0, 0);
|
||||||
@ -181,13 +186,15 @@ unsigned int loadCubemap()
|
|||||||
return textureID;
|
return textureID;
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawObjectTexture(Core::RenderContext context, glm::mat4 modelMatrix, GLuint textureId)
|
void drawObjectTexture(Core::RenderContext context, glm::mat4 modelMatrix, GLuint textureId, float alpha = 1.0)
|
||||||
{
|
{
|
||||||
GLuint program = programTexture;
|
GLuint program = programTexture;
|
||||||
|
|
||||||
glUseProgram(program);
|
glUseProgram(program);
|
||||||
|
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
glUniform3f(glGetUniformLocation(program, "lightDir"), lightDir.x, lightDir.y, lightDir.z);
|
glUniform3f(glGetUniformLocation(program, "lightDir"), lightDir.x, lightDir.y, lightDir.z);
|
||||||
|
glUniform1f(glGetUniformLocation(program, "alpha"), alpha);
|
||||||
Core::SetActiveTexture(textureId, "textureSampler", program, 0);
|
Core::SetActiveTexture(textureId, "textureSampler", program, 0);
|
||||||
|
|
||||||
glm::mat4 transformation = perspectiveMatrix * cameraMatrix * modelMatrix;
|
glm::mat4 transformation = perspectiveMatrix * cameraMatrix * modelMatrix;
|
||||||
@ -195,7 +202,7 @@ void drawObjectTexture(Core::RenderContext context, glm::mat4 modelMatrix, GLuin
|
|||||||
glUniformMatrix4fv(glGetUniformLocation(program, "modelMatrix"), 1, GL_FALSE, (float*)&modelMatrix);
|
glUniformMatrix4fv(glGetUniformLocation(program, "modelMatrix"), 1, GL_FALSE, (float*)&modelMatrix);
|
||||||
|
|
||||||
Core::DrawContext(context);
|
Core::DrawContext(context);
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
glUseProgram(0);
|
glUseProgram(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -302,6 +309,19 @@ void moveFish()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void createBubbles(glm::mat4 smigloPos)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
bubbleLifetime[i] += 0.05;
|
||||||
|
if (bubbleLifetime[i] >= 0.5)
|
||||||
|
{
|
||||||
|
bubbleLifetime[i] = 0;
|
||||||
|
}
|
||||||
|
drawObjectTexture(sphere, smigloPos * glm::translate(glm::vec3(randomBubble[i], bubbleLifetime[i], -0.1)) * glm::scale(glm::vec3(bubbleSize[i])), textureBubble, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void renderScene()
|
void renderScene()
|
||||||
{
|
{
|
||||||
// Aktualizacja macierzy widoku i rzutowania
|
// Aktualizacja macierzy widoku i rzutowania
|
||||||
@ -319,12 +339,14 @@ void renderScene()
|
|||||||
|
|
||||||
drawObjectTexture(shipContext, shipModelMatrix, textureSubmarine);
|
drawObjectTexture(shipContext, shipModelMatrix, textureSubmarine);
|
||||||
drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, -1.2, 0)), textureAsteroid);
|
drawObjectTexture(sphereContext, glm::translate(glm::vec3(0, -1.2, 0)), textureAsteroid);
|
||||||
drawObjectTexture(smiglo, shipModelMatrix * glm::translate(glm::vec3(0, -0.3, -1)) * glm::rotate(glm::degrees((float)fishMovement), glm::vec3(0, 0, 1)), textureSmiglo);
|
glm::mat4 smigloPos = shipModelMatrix* glm::translate(glm::vec3(0, -0.3, -1));
|
||||||
|
drawObjectTexture(smiglo, smigloPos * glm::rotate(glm::degrees((float)fishMovement), glm::vec3(0, 0, 1)), textureSmiglo);
|
||||||
drawObjectTexture(cave, glm::translate(glm::vec3(0, -0.6, 0)), textureAsteroid);
|
drawObjectTexture(cave, glm::translate(glm::vec3(0, -0.6, 0)), textureAsteroid);
|
||||||
|
|
||||||
createFlora();
|
createFlora();
|
||||||
createRockFlora();
|
createRockFlora();
|
||||||
moveFish();
|
moveFish();
|
||||||
|
createBubbles(smigloPos);
|
||||||
|
|
||||||
glutSwapBuffers();
|
glutSwapBuffers();
|
||||||
}
|
}
|
||||||
@ -354,7 +376,15 @@ void init()
|
|||||||
{
|
{
|
||||||
randomRock[i] = rand() % 20 + 30;
|
randomRock[i] = rand() % 20 + 30;
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
randomBubble[i] = (rand() % 24 - 12)/100.0;
|
||||||
|
bubbleLifetime[i] = (rand() % 50) / 100.0;
|
||||||
|
bubbleSize[i] = (rand() % 16 + 4) / 1000.0;
|
||||||
|
}
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
programCubemap = shaderLoader.CreateProgram("shaders/shader_cubemap.vert", "shaders/shader_cubemap.frag");
|
programCubemap = shaderLoader.CreateProgram("shaders/shader_cubemap.vert", "shaders/shader_cubemap.frag");
|
||||||
programTexture = shaderLoader.CreateProgram("shaders/shader_tex.vert", "shaders/shader_tex.frag");
|
programTexture = shaderLoader.CreateProgram("shaders/shader_tex.vert", "shaders/shader_tex.frag");
|
||||||
loadModelToContext("models/submarine1.obj", shipContext);
|
loadModelToContext("models/submarine1.obj", shipContext);
|
||||||
@ -370,6 +400,7 @@ void init()
|
|||||||
loadModelToContext("models/cave.obj", cave);
|
loadModelToContext("models/cave.obj", cave);
|
||||||
loadModelToContext("models/roslina4.obj", plant4);
|
loadModelToContext("models/roslina4.obj", plant4);
|
||||||
loadModelToContext("models/roslina5.obj", plant5);
|
loadModelToContext("models/roslina5.obj", plant5);
|
||||||
|
loadModelToContext("models/sphere.obj", sphere);
|
||||||
|
|
||||||
textureAsteroid = Core::LoadTexture("textures/rock.png");
|
textureAsteroid = Core::LoadTexture("textures/rock.png");
|
||||||
textureSubmarine = Core::LoadTexture("textures/sub1.png");
|
textureSubmarine = Core::LoadTexture("textures/sub1.png");
|
||||||
@ -382,6 +413,7 @@ void init()
|
|||||||
textureSmiglo = Core::LoadTexture("textures/metal.png");
|
textureSmiglo = Core::LoadTexture("textures/metal.png");
|
||||||
texturePlant4 = Core::LoadTexture("textures/plant4.png");
|
texturePlant4 = Core::LoadTexture("textures/plant4.png");
|
||||||
texturePlant5 = Core::LoadTexture("textures/plant5.png");
|
texturePlant5 = Core::LoadTexture("textures/plant5.png");
|
||||||
|
textureBubble = Core::LoadTexture("textures/bubble.png");
|
||||||
cubemapTexture = loadCubemap();
|
cubemapTexture = loadCubemap();
|
||||||
|
|
||||||
glGenVertexArrays(1, &skyboxVAO);
|
glGenVertexArrays(1, &skyboxVAO);
|
||||||
@ -409,7 +441,7 @@ int main(int argc, char ** argv)
|
|||||||
glutInit(&argc, argv);
|
glutInit(&argc, argv);
|
||||||
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
|
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
|
||||||
glutInitWindowPosition(200, 0);
|
glutInitWindowPosition(200, 0);
|
||||||
glutInitWindowSize(600, 600);
|
glutInitWindowSize(1000, 1000);
|
||||||
glutCreateWindow("Scena podwodna");
|
glutCreateWindow("Scena podwodna");
|
||||||
glewInit();
|
glewInit();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user