161 void cache_uniforms()
163 cache_uniform(program.get(), u_sunLuminance,
"u_sunLuminance", gfx::uniform_type::Vec4);
164 cache_uniform(program.get(), u_skyLuminanceXYZ,
"u_skyLuminanceXYZ", gfx::uniform_type::Vec4);
165 cache_uniform(program.get(), u_skyLuminance,
"u_skyLuminance", gfx::uniform_type::Vec4);
166 cache_uniform(program.get(), u_sunDirection,
"u_sunDirection", gfx::uniform_type::Vec4);
167 cache_uniform(program.get(), u_parameters,
"u_parameters", gfx::uniform_type::Vec4);
168 cache_uniform(program.get(), u_perezCoeff,
"u_perezCoeff", gfx::uniform_type::Vec4);
179 std::unique_ptr<gpu_program> program;
181 } atmospheric_program_;
184 std::unique_ptr<gfx::vertex_buffer> vb_;
185 std::unique_ptr<gfx::index_buffer> ib_;
187 detail::sun_controller sun_;
190 float time_scale_{1.0f};