Finally working cubemap

This commit is contained in:
Vladislav Khorev committed 2024-06-08 20:55:56 +03:00
1 parent d132060e19
commit f413bbe265
16 files changed
+406 -119

No files matched your search

+1 -4
View File
@@ -169,11 +169,8 @@ TSimpleLandClass* TGameMap::GetLand()
void TGameMap::DrawVBO()
{
Renderer->PushShader("Simple3D");
Land->DrawVBO();
Renderer->PopShader();
//Land->DrawImmediate();
Land->DrawVBO();
for (TLiteModelArr::iterator i = StaticModelArr.begin(); i != StaticModelArr.end(); ++i)
{
//i->DrawImmediate();
+75 -68
View File
@@ -1,102 +1,109 @@
2024-Jun-06 15:57:24: Log started
2024-Jun-06 15:57:25: OpenGL Window created
2024-Jun-06 15:57:25: Script manager ready
2024-Jun-06 15:57:25: Render::OpenGL glVersion = 4.6.0 - Build 31.0.101.4887
2024-Jun-06 15:57:25: Render::OpenGL glVersion above 2.0 ok
2024-Jun-06 15:57:25: Render::OpenGL GL_ARB_framebuffer_object supported ok
2024-Jun-06 15:57:25: Render::OpenGL GL_ARB_uniform_buffer_object supported ok
2024-Jun-06 15:57:25: Prepare to add shader GUI
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Log started
2024-Jun-08 20:53:34: OpenGL Window created
2024-Jun-08 20:53:34: Script manager ready
2024-Jun-08 20:53:34: Render::OpenGL glVersion = 4.6.0 - Build 31.0.101.4887
2024-Jun-08 20:53:34: Render::OpenGL glVersion above 2.0 ok
2024-Jun-08 20:53:34: Render::OpenGL GL_ARB_framebuffer_object supported ok
2024-Jun-08 20:53:34: Render::OpenGL GL_ARB_uniform_buffer_object supported ok
2024-Jun-08 20:53:34: Prepare to add shader GUI
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 3
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: GUI
2024-Jun-06 15:57:25: Prepare to add shader Parallax
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 3
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: GUI
2024-Jun-08 20:53:34: Prepare to add shader Parallax
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
WARNING: 0:27: 'assign' : implicit type conversion allowed from GLSL 1.20
WARNING: 0:27: 'assign' : implicit type conversion allowed from GLSL 1.20
WARNING: 0:27: 'assign' : implicit type conversion allowed
2024-Jun-06 15:57:25: Shader program is - 6
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Parallax
2024-Jun-06 15:57:25: Prepare to add shader Directlight
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 6
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Parallax
2024-Jun-08 20:53:34: Prepare to add shader Directlight
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 9
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Directlight
2024-Jun-06 15:57:25: Prepare to add shader Env
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 9
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Directlight
2024-Jun-08 20:53:34: Prepare to add shader Env
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 12
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Env
2024-Jun-06 15:57:25: Prepare to add shader Water
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 12
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Env
2024-Jun-08 20:53:34: Prepare to add shader Water
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
WARNING: 0:20: 'assign' : implicit type conversion allowed from GLSL 1.20
2024-Jun-06 15:57:25: Shader program is - 15
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Water
2024-Jun-06 15:57:25: Prepare to add shader Frame
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 15
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Water
2024-Jun-08 20:53:34: Prepare to add shader Frame
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 18
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Frame
2024-Jun-06 15:57:25: Prepare to add shader Lightview
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:5: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 18
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Frame
2024-Jun-08 20:53:34: Prepare to add shader Lightview
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:5: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 21
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Lightview
2024-Jun-06 15:57:25: Prepare to add shader Simple3D
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: Shader program is - 21
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Lightview
2024-Jun-08 20:53:34: Prepare to add shader Simple3D
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader WARNING: 0:1: '' : #version directive missing
2024-Jun-06 15:57:25: Shader program is - 24
2024-Jun-06 15:57:25: ResourceManager::ShaderManager::Shader
2024-Jun-06 15:57:25: ResourceManager::ShaderManager shader loaded: Simple3D
2024-Jun-06 15:57:25: ResourceManager::TexList Texture added: bt_box_yellow.bmp with id = 1
2024-Jun-06 15:57:25: ResourceManager::TexList Texture added: bt_box_norm.bmp32 with id = 2
2024-Jun-06 15:57:25: Lite model added successfully: models/bt_box_yellow.lm1
2024-Jun-06 15:57:25: ResourceManager::TexList Texture added: bt_cone.bmp with id = 3
2024-Jun-06 15:57:25: Lite model added successfully: models/bt_cone.lm1
2024-Jun-06 15:57:25: Lite model added successfully: models/girl.lm1
2024-Jun-06 15:57:25: Lite model added successfully: models/bonemodel.lm1
2024-Jun-06 15:57:26: ResourceManager::TexList Texture added: out.bmp with id = 4
2024-Jun-06 15:57:26: FrameManager:: frame buffer added: Skybox
2024-Jun-06 15:57:26: ResourceManager::TexList Texture added: normalmap.bmp with id = 6
2024-Jun-06 15:57:26: FrameManager:: frame buffer added: ScreenBlur
2024-Jun-06 15:57:26: FrameManager:: frame buffer added: ShadowBufferGlobal
2024-Jun-06 15:57:26: FrameManager:: frame buffer added: ShadowBufferLocal
2024-Jun-08 20:53:34: Shader program is - 24
2024-Jun-08 20:53:34: ResourceManager::ShaderManager::Shader
2024-Jun-08 20:53:34: ResourceManager::ShaderManager shader loaded: Simple3D
2024-Jun-08 20:53:34: ResourceManager::TexList Texture added: bt_box_yellow.bmp with id = 1
2024-Jun-08 20:53:34: ResourceManager::TexList Texture added: bt_box_norm.bmp32 with id = 2
2024-Jun-08 20:53:34: Lite model added successfully: models/bt_box_yellow.lm1
2024-Jun-08 20:53:34: ResourceManager::TexList Texture added: bt_cone.bmp with id = 3
2024-Jun-08 20:53:34: Lite model added successfully: models/bt_cone.lm1
2024-Jun-08 20:53:34: Lite model added successfully: models/girl.lm1
2024-Jun-08 20:53:34: Lite model added successfully: models/bonemodel.lm1
2024-Jun-08 20:53:35: ResourceManager::TexList Texture added: out.bmp with id = 4
2024-Jun-08 20:53:35: FrameManager:: frame buffer added: Skybox
2024-Jun-08 20:53:35: ResourceManager::TexList Texture added: normalmap.bmp with id = 6
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/posx.bmp
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/negx.bmp
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/posy.bmp
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/negy.bmp
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/posz.bmp
2024-Jun-08 20:53:35: Going to add texture: C:\Work\OldProjects\ho3\resources\../resources/negz.bmp
2024-Jun-08 20:53:35: ResourceManager::TexList texture added succesfuly: posx.bmp
2024-Jun-08 20:53:35: FrameManager:: frame buffer added: ScreenBlur
2024-Jun-08 20:53:35: FrameManager:: frame buffer added: ShadowBufferGlobal
2024-Jun-08 20:53:35: FrameManager:: frame buffer added: ShadowBufferLocal
+203 -4
View File
@@ -10,6 +10,7 @@ cardinal CONST_CUBEMAP_UPDATE_INTERVAL = 5000;
void TMyApplication::DrawToCubemap()
{
Renderer->PushPerspectiveProjectionMatrix(pi/2, 1.0, 1, 1000);
Renderer->PushShader("Directlight");
Renderer->SwitchToCubemapBuffer("Skybox",0);
@@ -39,6 +40,8 @@ void TMyApplication::DrawToCubemap()
Renderer->SwitchToScreen();
Renderer->PopShader();
Renderer->PopProjectionMatrix();
}
void TMyApplication::DrawToShadowMap()
@@ -86,11 +89,33 @@ void TMyApplication::DrawWaterSurface()
Renderer->PopShader();
}
void TMyApplication::DrawCubemap()
{
Renderer->PushShader("Env");
Renderer->SetGLCamAngleView();
//Renderer->LoadIdentity();
RenderUniformMatrix3fv(CONST_STRING_MODELROTATEMATRIX_UNIFORM, false, (float*)IdentityMatrix.m);
RenderUniform3fv(CONST_STRING_MODELTRANSLATEVECTOR_UNIFORM, (float*)ZeroVec3.v);
glBindTexture(GL_TEXTURE_CUBE_MAP, ResourceManager->FrameManager.GetFrameTexture("Skybox"));
//glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapTexture);
EnableVertexAttribArray("vPosition");
DrawVertexDataStruct(cubemapVertexDataStruct);
DisableVertexAttribArray("vPosition");
Renderer->PopShader();
}
//What to do on init
void TMyApplication::InnerInit()
{
ResourceManager->PathToResources = "C:\\Work\\OldProjects\\ho3\\resources\\";
glDisable(GL_CULL_FACE);
ResourceManager->ShaderManager.AddShader("GUI", "shaders/gui_transparent.vertex", "shaders/gui_transparent.fragment");
ResourceManager->ShaderManager.AddShader("Parallax", "shaders/directlight_parallax_shadow.vertex", "shaders/directlight_parallax_shadow.fragment");
@@ -136,6 +161,13 @@ void TMyApplication::InnerInit()
ResourceManager->TexList.AddTexture("../resources/normalmap.bmp");
std::array<std::string, 6> cubemapTextureStr = {
"../resources/posx.bmp", "../resources/negx.bmp", "../resources/posy.bmp", "../resources/negy.bmp", "../resources/posz.bmp", "../resources/negz.bmp"
};
cubemapTexture = ResourceManager->TexList.AddCubemapTexture(cubemapTextureStr);
//."posx.bmp","negx.bmp","posy.bmp","negy.bmp","posz.bmp","negz.bmp"
ResourceManager->FrameManager.AddFrameRenderBuffer("ScreenBlur", 512, 512);
ResourceManager->FrameManager.AddDepthBuffer("ShadowBufferGlobal", 512, 512);
@@ -151,9 +183,119 @@ void TMyApplication::InnerInit()
glClearColor(0.2f, 0.5f, 1.0f, 1.0f);
//Renderer->SetShadowClampValue(0.3f);
Renderer->SetShadowClampValue(0.0f);
//Renderer->SetShadowClampValue(0.0f);
Renderer->SetFogBeginDistance(15.f);
Renderer->SetFogEndDistance(30.f);
// +x
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, 10.0f });
// -x
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, 10.0f });
// +y
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, 10.0f });
// -y
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, 10.0f });
// +z
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, 10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, 10.0f });
// -z
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, -10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ 10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.PositionData.push_back({ -10.0f, 10.0f, -10.0f });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.TexCoordData.push_back({ 0.0, 0.0 });
cubemapVertexDataStruct.RefreshVBO();
}
@@ -168,12 +310,64 @@ void TMyApplication::InnerDeinit()
void TMyApplication::InnerDraw()
{
Renderer->SwitchToScreen();
glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
glClearColor(0.2f, 0.55f, 1.0f, 1.0f);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
Renderer->PushShader("GUI");
Renderer->PushShader("Directlight");
DrawToCubemap();
//Renderer->SwitchToCubemapBuffer("Skybox", 0);
//Renderer->SetGlPosXView();
//DrawSceneWithoutWater();
if (view == 6)
{
DrawCubemap();
}
else
{
Renderer->PushPerspectiveProjectionMatrix(pi / 2, 1.0, 1, 1000);
if (view == 0)
{
Renderer->SetGlNegZView();
}
else if (view == 1)
{
Renderer->SetGlNegYView();
}
else if (view == 2)
{
Renderer->SetGlPosXView();
}
else if (view == 3)
{
Renderer->SetGlNegXView();
}
else if (view == 4)
{
Renderer->SetGlPosZView();
}
else if (view == 5)
{
Renderer->SetGlPosYView();
}
DrawSceneWithoutWater();
Renderer->PopProjectionMatrix();
}
//DrawCubemap();
Renderer->PopShader();
/*
Renderer->PushShader("Directlight");
DrawSceneWithoutWater();
Renderer->PopShader();
*/
//DrawToCubemap();
/*
DrawToCubemap();
@@ -270,6 +464,11 @@ void TMyApplication::OnMouseDown(TMouseState& mouseState)
if (mouseState.LeftButtonPressed)
{
MouseLeftButtonPressed = true;
view += 1;
if (view == 7)
{
view = 0;
}
}
}
+7
View File
@@ -26,6 +26,8 @@ class TMyApplication : public SE::TApplication
int MouseX0, MouseY0;
//Mouse pos caught on right button click
int view = 0;
float WaterTimer;
void DrawSceneWithoutWater();
@@ -36,6 +38,11 @@ class TMyApplication : public SE::TApplication
void DrawWaterSurface();
void DrawCubemap();
cardinal cubemapTexture;
VertexDataStruct cubemapVertexDataStruct;
public:
//Constructor