| @@ -26,12 +26,12 @@ LOLFX_RESOURCE_DECLARE(12_texture_to_screen); | |||||
| enum FboType | enum FboType | ||||
| { | { | ||||
| src_voronoi, | |||||
| voronoi, | |||||
| distance_voronoi, | |||||
| distance, | |||||
| SrcVoronoiFbo, | |||||
| VoronoiFbo, | |||||
| DistanceVoronoiFbo, | |||||
| DistanceFbo, | |||||
| MAX | |||||
| MaxFboType | |||||
| }; | }; | ||||
| class Voronoi : public WorldEntity | class Voronoi : public WorldEntity | ||||
| @@ -89,11 +89,11 @@ public: | |||||
| m_screen_coord = m_screen_shader->GetAttribLocation("in_position", VertexUsage::Position, 0); | m_screen_coord = m_screen_shader->GetAttribLocation("in_position", VertexUsage::Position, 0); | ||||
| m_screen_texture = m_screen_shader->GetUniformLocation("in_texture"); | m_screen_texture = m_screen_shader->GetUniformLocation("in_texture"); | ||||
| for (int i = 0; i < FboType::MAX; ++i) | |||||
| for (int i = 0; i < MaxFboType; ++i) | |||||
| { | { | ||||
| m_fbos.Push(new FrameBuffer(Video::GetSize()), 0, Array<ShaderUniform>(), Array<ShaderAttrib>() ); | m_fbos.Push(new FrameBuffer(Video::GetSize()), 0, Array<ShaderUniform>(), Array<ShaderAttrib>() ); | ||||
| if (i == src_voronoi) | |||||
| if (i == SrcVoronoiFbo) | |||||
| { | { | ||||
| m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi_setup)); | m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi_setup)); | ||||
| m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_texture"); | m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_texture"); | ||||
| @@ -101,7 +101,7 @@ public: | |||||
| m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_screen_res"); | m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_screen_res"); | ||||
| m_fbos[i].m4 << m_fbos[i].m2->GetAttribLocation("in_position", VertexUsage::Position, 0); | m_fbos[i].m4 << m_fbos[i].m2->GetAttribLocation("in_position", VertexUsage::Position, 0); | ||||
| } | } | ||||
| else if (i == voronoi) | |||||
| else if (i == VoronoiFbo) | |||||
| { | { | ||||
| m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi)); | m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi)); | ||||
| m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_texture"); | m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_texture"); | ||||
| @@ -109,11 +109,11 @@ public: | |||||
| m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_screen_res"); | m_fbos[i].m3 << m_fbos[i].m2->GetUniformLocation("in_screen_res"); | ||||
| m_fbos[i].m4 << m_fbos[i].m2->GetAttribLocation("in_position", VertexUsage::Position, 0); | m_fbos[i].m4 << m_fbos[i].m2->GetAttribLocation("in_position", VertexUsage::Position, 0); | ||||
| } | } | ||||
| else if (i == distance_voronoi) | |||||
| else if (i == DistanceVoronoiFbo) | |||||
| { | { | ||||
| m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi_distance)); | m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_voronoi_distance)); | ||||
| } | } | ||||
| else if (i == FboType::distance) | |||||
| else if (i == DistanceFbo) | |||||
| { | { | ||||
| m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_distance)); | m_fbos[i].m2 = Shader::Create(LOLFX_RESOURCE_NAME(12_distance)); | ||||
| } | } | ||||
| @@ -149,7 +149,7 @@ public: | |||||
| //voronoi_points.Push(vec3(128.f, 400.f, .0f), vec2( 128.f)); | //voronoi_points.Push(vec3(128.f, 400.f, .0f), vec2( 128.f)); | ||||
| //voronoi_points.Push(vec3(400.f, 24.f, .0f), vec2(-128.f)); | //voronoi_points.Push(vec3(400.f, 24.f, .0f), vec2(-128.f)); | ||||
| m_cur_fbo = voronoi; | |||||
| m_cur_fbo = VoronoiFbo; | |||||
| } | } | ||||
| { | { | ||||
| @@ -160,9 +160,9 @@ public: | |||||
| voronoi_points.Push(vec3(rand<float>(512.f), rand<float>(512.f), .0f), | voronoi_points.Push(vec3(rand<float>(512.f), rand<float>(512.f), .0f), | ||||
| vec2(64.f + rand<float>(64.f), 64.f + rand<float>(64.f))); | vec2(64.f + rand<float>(64.f), 64.f + rand<float>(64.f))); | ||||
| else if (Input::WasReleased(Key::F1)) | else if (Input::WasReleased(Key::F1)) | ||||
| m_cur_fbo = src_voronoi; | |||||
| m_cur_fbo = SrcVoronoiFbo; | |||||
| else if (Input::WasReleased(Key::F2)) | else if (Input::WasReleased(Key::F2)) | ||||
| m_cur_fbo = voronoi; | |||||
| m_cur_fbo = VoronoiFbo; | |||||
| } | } | ||||
| @@ -191,7 +191,7 @@ public: | |||||
| voronoi_points[j].m1.z = ((float)j + 1) / ((float)voronoi_points.Count()); | voronoi_points[j].m1.z = ((float)j + 1) / ((float)voronoi_points.Count()); | ||||
| } | } | ||||
| int f = src_voronoi; | |||||
| int f = SrcVoronoiFbo; | |||||
| m_fbos[f].m1->Bind(); | m_fbos[f].m1->Bind(); | ||||
| Video::SetClearColor(vec4(0.f, 0.f, 0.f, 1.f)); | Video::SetClearColor(vec4(0.f, 0.f, 0.f, 1.f)); | ||||
| @@ -241,7 +241,7 @@ public: | |||||
| //FRAME BUFFER DRAW | //FRAME BUFFER DRAW | ||||
| m_timer -= seconds; | m_timer -= seconds; | ||||
| if (m_timer < .0f && m_cur_fbo != src_voronoi) | |||||
| if (m_timer < .0f && m_cur_fbo != SrcVoronoiFbo) | |||||
| { | { | ||||
| //m_timer = 1.0f; | //m_timer = 1.0f; | ||||
| m_fbos[m_cur_fbo].m1->Bind(); | m_fbos[m_cur_fbo].m1->Bind(); | ||||
| @@ -264,7 +264,7 @@ public: | |||||
| shader = m_fbos[m_cur_fbo].m2; | shader = m_fbos[m_cur_fbo].m2; | ||||
| if (curres.x == 256) | if (curres.x == 256) | ||||
| src_buf = m_fbos[src_voronoi].m1; | |||||
| src_buf = m_fbos[SrcVoronoiFbo].m1; | |||||
| else if (buf) | else if (buf) | ||||
| src_buf = m_fbos[m_cur_fbo].m1; | src_buf = m_fbos[m_cur_fbo].m1; | ||||
| else | else | ||||
| @@ -296,7 +296,7 @@ public: | |||||
| int i = 0; | int i = 0; | ||||
| if (curres == ivec2(0)) | if (curres == ivec2(0)) | ||||
| m_screen_shader->SetUniform(m_screen_texture, src_buf->GetTexture(), 0); | m_screen_shader->SetUniform(m_screen_texture, src_buf->GetTexture(), 0); | ||||
| else if (m_cur_fbo == voronoi) | |||||
| else if (m_cur_fbo == VoronoiFbo) | |||||
| { | { | ||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], src_buf->GetTexture(), 0); //"in_texture" | shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], src_buf->GetTexture(), 0); //"in_texture" | ||||
| shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], ((float)curres.x) / 512.f); //"in_step" | shader->SetUniform(m_fbos[m_cur_fbo].m3[i++], ((float)curres.x) / 512.f); //"in_step" | ||||