This commit is contained in:
s473621 2024-02-07 19:55:04 +01:00
parent 349ba83ec3
commit 339afe2b97
33 changed files with 225 additions and 14 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,7 +2,7 @@
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\DANE\CppProjects\grk_cw1 (1)\grk_cw1\grk\Release\grk-cw6.exe</FullPath>
<FullPath>C:\Users\neryt\Grafika2023\PlanetCreator\Release\grk-cw6.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />

View File

@ -1 +1,189 @@
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(439,5): error MSB8020: Не удается найти средства сборки для v143 (набор инструментов платформы = "v143"). Чтобы выполнить сборку с использованием средств сборки v143 установите средства сборки v143. Кроме того, можно выполнить обновление до текущей версии средств Visual Studio, перейдя в меню "Проект" или щелкнув решение правой кнопкой мыши и выбрав "Обновить решение...".
 main.cpp
C:\Windows Kits\10\Include\10.0.22000.0\shared\minwindef.h(130,1): warning C4005: APIENTRY: изменение макроопределения
C:\Users\neryt\Grafika2023\PlanetCreator\dependencies\glfw-3.3.8.bin.WIN32\include\GLFW\glfw3.h(123): message : см. предыдущее определение "APIENTRY"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(127,15): warning C4244: инициализация: преобразование "double" в "float", возможна потеря данных
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(178,30): warning C4244: =: преобразование "float" в "int", возможна потеря данных
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(184,20): warning C4244: =: преобразование "int" в "float", возможна потеря данных
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(355,16): warning C4305: инициализация: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(459,61): warning C4305: аргумент: усечение из "double" в "GLfloat"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(460,61): warning C4305: аргумент: усечение из "double" в "GLfloat"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(473,17): warning C4244: инициализация: преобразование "double" в "float", возможна потеря данных
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(588,13): warning C4244: инициализация: преобразование "double" в "float", возможна потеря данных
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(722,92): warning C4305: аргумент: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(723,96): warning C4305: аргумент: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(724,100): warning C4305: аргумент: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(725,102): warning C4305: аргумент: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(728,106): warning C4305: аргумент: усечение из "double" в "float"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(729,96): warning C4305: аргумент: усечение из "double" в "float"
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(158,47): warning C4244: инициализация: преобразование "_Ty" в "_Ty", возможна потеря данных
with
[
_Ty=float
]
and
[
_Ty=int
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::_Tuple_val<_This>::_Tuple_val<_Ty>(_Other &&)"
with
[
_This=int,
_Ty=float,
_Other=float
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::_Tuple_val<_This>::_Tuple_val<_Ty>(_Other &&)"
with
[
_This=int,
_Ty=float,
_Other=float
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int>::tuple<std::_Exact_args_t,_Ty,,0>(_Tag,_This2 &&)"
with
[
_Ty=float,
_Tag=std::_Exact_args_t,
_This2=float
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int>::tuple<std::_Exact_args_t,_Ty,,0>(_Tag,_This2 &&)"
with
[
_Ty=float,
_Tag=std::_Exact_args_t,
_This2=float
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(860): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Exact_args_t,int,float,0>(_Tag,_This2 &&,float &&)"
with
[
_Tag=std::_Exact_args_t,
_This2=int
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(860): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Exact_args_t,int,float,0>(_Tag,_This2 &&,float &&)"
with
[
_Tag=std::_Exact_args_t,
_This2=int
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(253): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Unpack_tuple_t,_Ty,0,1,0>(_Tag,_Tpl &&,std::integer_sequence<size_t,0,1>)"
with
[
_Ty=std::tuple<int,float>,
_Tag=std::_Unpack_tuple_t,
_Tpl=std::tuple<int,float>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(252): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Unpack_tuple_t,_Ty,0,1,0>(_Tag,_Tpl &&,std::integer_sequence<size_t,0,1>)"
with
[
_Ty=std::tuple<int,float>,
_Tag=std::_Unpack_tuple_t,
_Tpl=std::tuple<int,float>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(379): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Unpack_tuple_t,std::tuple<int,float>,0>(_Tag,_Tpl &&)"
with
[
_Tag=std::_Unpack_tuple_t,
_Tpl=std::tuple<int,float>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(379): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<std::_Unpack_tuple_t,std::tuple<int,float>,0>(_Tag,_Tpl &&)"
with
[
_Tag=std::_Unpack_tuple_t,
_Tpl=std::tuple<int,float>
]
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(185): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<int,float,0>(std::tuple<int,float> &&) noexcept"
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(185): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,int>::tuple<int,float,0>(std::tuple<int,float> &&) noexcept"
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(158,47): warning C4244: инициализация: преобразование "const int" в "_Ty", возможна потеря данных
with
[
_Ty=float
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::_Tuple_val<_This>::_Tuple_val<const int&>(_Other)"
with
[
_This=float,
_Other=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::_Tuple_val<_This>::_Tuple_val<const int&>(_Other)"
with
[
_This=float,
_Other=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<float>::tuple<std::_Exact_args_t,const int&,,0>(_Tag,_This2)"
with
[
_Tag=std::_Exact_args_t,
_This2=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(245): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<float>::tuple<std::_Exact_args_t,const int&,,0>(_Tag,_This2)"
with
[
_Tag=std::_Exact_args_t,
_This2=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(860): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Exact_args_t,const int&,const int&,0>(_Tag,_This2,const int &)"
with
[
_Tag=std::_Exact_args_t,
_This2=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(860): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Exact_args_t,const int&,const int&,0>(_Tag,_This2,const int &)"
with
[
_Tag=std::_Exact_args_t,
_This2=const int &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(253): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Unpack_tuple_t,const _Ty&,0,1,0>(_Tag,_Tpl,std::integer_sequence<size_t,0,1>)"
with
[
_Ty=std::tuple<int,int>,
_Tag=std::_Unpack_tuple_t,
_Tpl=const std::tuple<int,int> &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(252): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Unpack_tuple_t,const _Ty&,0,1,0>(_Tag,_Tpl,std::integer_sequence<size_t,0,1>)"
with
[
_Ty=std::tuple<int,int>,
_Tag=std::_Unpack_tuple_t,
_Tpl=const std::tuple<int,int> &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(356): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Unpack_tuple_t,const std::tuple<int,int>&,0>(_Tag,_Tpl)"
with
[
_Tag=std::_Unpack_tuple_t,
_Tpl=const std::tuple<int,int> &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\tuple(356): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<std::_Unpack_tuple_t,const std::tuple<int,int>&,0>(_Tag,_Tpl)"
with
[
_Tag=std::_Unpack_tuple_t,
_Tpl=const std::tuple<int,int> &
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\algorithm(6926): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<int,int,0>(const std::tuple<int,int> &) noexcept"
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\algorithm(6926): message : выполняется компиляция ссылки на экземпляр шаблон функции "std::tuple<int,float>::tuple<int,int,0>(const std::tuple<int,int> &) noexcept"
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\algorithm(7050): message : выполняется компиляция ссылки на экземпляр шаблон функции "_BidIt *std::_Insertion_sort_unchecked<_RanIt,bool(__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)>(const _BidIt,const _BidIt,_Pr)"
with
[
_BidIt=std::tuple<int,int> *,
_RanIt=std::tuple<int,int> *,
_Pr=bool (__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\algorithm(7080): message : выполняется компиляция ссылки на экземпляр шаблон функции "void std::_Sort_unchecked<std::tuple<int,int>*,bool(__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)>(_RanIt,_RanIt,int,_Pr)"
with
[
_RanIt=std::tuple<int,int> *,
_Pr=bool (__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)
]
C:\Users\neryt\Grafika2023\PlanetCreator\cw 6\src\ex_6_1.hpp(193): message : выполняется компиляция ссылки на экземпляр шаблон функции "void std::sort<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>,bool(__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)>(const _RanIt,const _RanIt,_Pr)"
with
[
_Ty=std::tuple<int,int>,
_RanIt=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::tuple<int,int>>>>,
_Pr=bool (__cdecl *)(std::tuple<int,float>,std::tuple<int,float>)
]
Создание кода
2 of 2460 functions (<0.1%) were compiled, the rest were copied from previous compilation.
0 functions were new in current compilation
23 functions had inline decision re-evaluated but remain unchanged
Создание кода завершено
grk-cw6.vcxproj -> C:\Users\neryt\Grafika2023\PlanetCreator\Release\grk-cw6.exe

View File

@ -1,2 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.36.32532:TargetPlatformVersion=10.0.22621.0:
Release|Win32|D:\DANE\CppProjects\grk_cw1 (1)\grk_cw1\grk\|
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.22000.0:
Release|Win32|C:\Users\neryt\Grafika2023\PlanetCreator\|

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.

View File

@ -439,7 +439,7 @@ void drawObjectTexture(Core::RenderContext& context, glm::mat4 modelMatrix, GLui
}
void drawObjectTexture_plant(Core::RenderContext& context, glm::mat4 modelMatrix, Material& material, GLuint program) {
void drawObjectTexture_plant(Core::RenderContext& context, glm::mat4 modelMatrix, const Material& material, GLuint program) {
glUseProgram(program);
Core::SetActiveTexture(material.textureID, "colorTexture", program, 0);
glm::mat4 viewProjectionMatrix = createPerspectiveMatrix() * createCameraMatrix();
@ -507,7 +507,13 @@ Material plant3Material;
Material plant2_1Material;
PlanetParams TestPlanet = PlanetParams();
struct TexturePlantData {
Core::RenderContext thirdTreeContext;
glm::mat4 plantModelMatrix;
Material plant3Material;
GLuint program_pbr;
};
std::vector<TexturePlantData> texturePlantDataList;
#include <cmath>
float thirdTreeStartScale = 0.0f;
void animateGrowingTree(float& elapsedTime, float deltaTime, float firstTreeDuration, float secondTreeDuration, float thirdTreeDuration,
@ -521,6 +527,7 @@ void animateGrowingTree(float& elapsedTime, float deltaTime, float firstTreeDura
plantModelMatrix = glm::translate(plantPosition) * glm::scale(glm::vec3(scaleFactor + (elapsedTime / firstTreeDuration) * scaleFactor));
drawObjectTexture_plant(plant_1_1_small_Context, plantModelMatrix, plant3Material, program_pbr);
elapsedTime += deltaTime;
}
// drugie drzewo
else if (elapsedTime < firstTreeDuration + secondTreeDuration) {
@ -534,6 +541,7 @@ void animateGrowingTree(float& elapsedTime, float deltaTime, float firstTreeDura
thirdTreeStartScale = scaleFactor + growthStage2 * scaleFactor;
//std::cout << "thirdTreeStartScale: " << thirdTreeStartScale << std::endl;
}
elapsedTime += deltaTime;
}
//trzecie drzewo
else if (elapsedTime < firstTreeDuration + secondTreeDuration + thirdTreeDuration) {
@ -541,16 +549,28 @@ void animateGrowingTree(float& elapsedTime, float deltaTime, float firstTreeDura
float growthStage3 = ((elapsedTime - firstTreeDuration - secondTreeDuration) / thirdTreeDuration);
plantModelMatrix = glm::translate(plantPosition) * glm::scale(glm::vec3(thirdTreeStartScale*2 + growthStage3 * scaleFactor));
drawObjectTexture_plant(thirdTreeContext, plantModelMatrix, plant3Material, program_pbr);
elapsedTime += deltaTime;
}
else {
//plantModelMatrix = glm::translate(plantPosition) * glm::scale(glm::vec3(scaleFactor + scaleFactor));
plantModelMatrix = glm::translate(plantPosition) * glm::scale(glm::vec3(thirdTreeStartScale*2 + scaleFactor));
drawObjectTexture_plant(thirdTreeContext, plantModelMatrix, plant3Material, program_pbr);
TexturePlantData newData;
newData.thirdTreeContext = thirdTreeContext;
newData.plantModelMatrix = plantModelMatrix;
newData.plant3Material = plant3Material;
newData.program_pbr = program_pbr;
texturePlantDataList.push_back(newData);
// drawObjectTexture_plant(thirdTreeContext, plantModelMatrix, plant3Material, program_pbr);
elapsedTime = 0;
}
elapsedTime += deltaTime;
for (const auto& newData : texturePlantDataList) {
drawObjectTexture_plant(const_cast<Core::RenderContext&>(newData.thirdTreeContext), newData.plantModelMatrix, newData.plant3Material, newData.program_pbr);
}
}
@ -571,10 +591,13 @@ void renderScene(GLFWwindow* window)
float deltaTime = static_cast<float>(time - lastFrameTime);
lastFrameTime = time;
static float elapsedTime = 0.0f;
std::cout << "delta " << time<<"chuj"<< lastFrameTime <<"elapsed"<<elapsedTime<< std::endl;
float firstTreeDuration = 20.0f;
float secondTreeDuration = 8.0f;
float thirdTreeDuration = 5.0f;
static float elapsedTime = 0.0f;
//static float elapsedTime = 0.0f;
glm::vec3 plantPosition = glm::vec3(1.f, 0.f, 3.5f);
glm::vec3 plantPosition1 = glm::vec3(1.f, 0.f, 1.5f);
glm::vec3 plantPosition2 = glm::vec3(1.f, 0.f, 0.5f);
@ -621,11 +644,11 @@ void renderScene(GLFWwindow* window)
//drawObjectColor(plant2Context, plantModelMatrix, glm::vec3(1, 1, 1), program);
animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition, scaleFactor, plant_1_1_small_Context, plant_1_1_med_Context, plant_1_1Context, plantModelMatrix, plant3Material, program_pbr);
///animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition, scaleFactor, plant_1_1_small_Context, plant_1_1_med_Context, plant_1_1Context, plantModelMatrix, plant3Material, program_pbr);
animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition1, scaleFactor, plant_2_1_small_Context, plant_2_1_med_Context, plant_2_1Context, plantModelMatrix, plant2_1Material, program_pbr);
//animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition1, scaleFactor, plant_2_1_small_Context, plant_2_1_med_Context, plant_2_1Context, plantModelMatrix, plant2_1Material, program_pbr);
animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition2, scaleFactor, plant_2_1_small_Context, plant_2_1_med_Context, plant_2_1Context, plantModelMatrix, plant2_1Material, program_pbr);
//animateGrowingTree(elapsedTime, deltaTime, firstTreeDuration, secondTreeDuration, thirdTreeDuration, plantPosition2, scaleFactor, plant_2_1_small_Context, plant_2_1_med_Context, plant_2_1Context, plantModelMatrix, plant2_1Material, program_pbr);
//glfwSwapBuffers(window);
}