@@ -80,8 +80,8 @@ std::shared_ptr<UniformBufferInput> GlUniformBuffer::new_unif_in() {
8080 return in;
8181}
8282
83- void GlUniformBuffer::set_unif (std::shared_ptr< UniformBufferInput> const &in, const char *unif, void const *val, GLenum type) {
84- auto unif_in = std::dynamic_pointer_cast <GlUniformBufferInput>(in);
83+ void GlUniformBuffer::set_unif (UniformBufferInput &in, const char *unif, void const *val, GLenum type) {
84+ auto & unif_in = dynamic_cast <GlUniformBufferInput & >(in);
8585
8686 auto uniform = this ->uniforms .find (unif);
8787 ENSURE (uniform != std::end (this ->uniforms ),
@@ -96,83 +96,82 @@ void GlUniformBuffer::set_unif(std::shared_ptr<UniformBufferInput> const &in, co
9696 ENSURE (size == unif_data.size ,
9797 " Tried to set uniform " << unif << " to a value of the wrong size." );
9898
99- auto update_off = unif_in->update_offs .find (unif);
100- if (update_off != std::end (unif_in->update_offs )) [[likely]] { // always used after the uniform value is written once
101- // already wrote to this uniform since last upload
99+ auto update_off = unif_in.update_offs .find (unif);
100+ if (update_off != std::end (unif_in.update_offs )) [[likely]] { // always used after the uniform value is written once // already wrote to this uniform since last upload
102101 size_t off = update_off->second ;
103- memcpy (unif_in-> update_data .data () + off, val, size);
102+ memcpy (unif_in. update_data .data () + off, val, size);
104103 }
105104 else {
106105 // first time writing to this uniform since last upload, so
107106 // extend the buffer before storing the uniform value
108- size_t prev_size = unif_in-> update_data .size ();
109- unif_in-> update_data .resize (prev_size + size);
110- memcpy (unif_in-> update_data .data () + prev_size, val, size);
111- unif_in-> update_offs .emplace (unif, prev_size);
107+ size_t prev_size = unif_in. update_data .size ();
108+ unif_in. update_data .resize (prev_size + size);
109+ memcpy (unif_in. update_data .data () + prev_size, val, size);
110+ unif_in. update_offs .emplace (unif, prev_size);
112111 }
113112}
114113
115- void GlUniformBuffer::set_i32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, int32_t val) {
114+ void GlUniformBuffer::set_i32 (UniformBufferInput &in, const char *unif, int32_t val) {
116115 this ->set_unif (in, unif, &val, GL_INT);
117116}
118117
119- void GlUniformBuffer::set_u32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, uint32_t val) {
118+ void GlUniformBuffer::set_u32 (UniformBufferInput &in, const char *unif, uint32_t val) {
120119 this ->set_unif (in, unif, &val, GL_UNSIGNED_INT);
121120}
122121
123- void GlUniformBuffer::set_f32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, float val) {
122+ void GlUniformBuffer::set_f32 (UniformBufferInput &in, const char *unif, float val) {
124123 this ->set_unif (in, unif, &val, GL_FLOAT);
125124}
126125
127- void GlUniformBuffer::set_f64 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, double val) {
126+ void GlUniformBuffer::set_f64 (UniformBufferInput &in, const char *unif, double val) {
128127 this ->set_unif (in, unif, &val, GL_DOUBLE);
129128}
130129
131- void GlUniformBuffer::set_bool (std::shared_ptr< UniformBufferInput> const &in, const char *unif, bool val) {
130+ void GlUniformBuffer::set_bool (UniformBufferInput &in, const char *unif, bool val) {
132131 this ->set_unif (in, unif, &val, GL_BOOL);
133132}
134133
135- void GlUniformBuffer::set_v2f32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector2f const &val) {
134+ void GlUniformBuffer::set_v2f32 (UniformBufferInput &in, const char *unif, Eigen::Vector2f const &val) {
136135 this ->set_unif (in, unif, val.data (), GL_FLOAT_VEC2);
137136}
138137
139- void GlUniformBuffer::set_v3f32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector3f const &val) {
138+ void GlUniformBuffer::set_v3f32 (UniformBufferInput &in, const char *unif, Eigen::Vector3f const &val) {
140139 this ->set_unif (in, unif, val.data (), GL_FLOAT_VEC3);
141140}
142141
143- void GlUniformBuffer::set_v4f32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector4f const &val) {
142+ void GlUniformBuffer::set_v4f32 (UniformBufferInput &in, const char *unif, Eigen::Vector4f const &val) {
144143 this ->set_unif (in, unif, val.data (), GL_FLOAT_VEC4);
145144}
146145
147- void GlUniformBuffer::set_v2i32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector2i const &val) {
146+ void GlUniformBuffer::set_v2i32 (UniformBufferInput &in, const char *unif, Eigen::Vector2i const &val) {
148147 this ->set_unif (in, unif, val.data (), GL_INT_VEC2);
149148}
150149
151- void GlUniformBuffer::set_v3i32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector3i const &val) {
150+ void GlUniformBuffer::set_v3i32 (UniformBufferInput &in, const char *unif, Eigen::Vector3i const &val) {
152151 this ->set_unif (in, unif, val.data (), GL_INT_VEC3);
153152}
154153
155- void GlUniformBuffer::set_v4i32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector4i const &val) {
154+ void GlUniformBuffer::set_v4i32 (UniformBufferInput &in, const char *unif, Eigen::Vector4i const &val) {
156155 this ->set_unif (in, unif, val.data (), GL_INT_VEC4);
157156}
158157
159- void GlUniformBuffer::set_v2ui32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector2<uint32_t > const &val) {
158+ void GlUniformBuffer::set_v2ui32 (UniformBufferInput &in, const char *unif, Eigen::Vector2<uint32_t > const &val) {
160159 this ->set_unif (in, unif, val.data (), GL_UNSIGNED_INT_VEC2);
161160}
162161
163- void GlUniformBuffer::set_v3ui32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector3<uint32_t > const &val) {
162+ void GlUniformBuffer::set_v3ui32 (UniformBufferInput &in, const char *unif, Eigen::Vector3<uint32_t > const &val) {
164163 this ->set_unif (in, unif, val.data (), GL_UNSIGNED_INT_VEC3);
165164}
166165
167- void GlUniformBuffer::set_v4ui32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Vector4<uint32_t > const &val) {
166+ void GlUniformBuffer::set_v4ui32 (UniformBufferInput &in, const char *unif, Eigen::Vector4<uint32_t > const &val) {
168167 this ->set_unif (in, unif, val.data (), GL_UNSIGNED_INT_VEC4);
169168}
170169
171- void GlUniformBuffer::set_m4f32 (std::shared_ptr< UniformBufferInput> const &in, const char *unif, Eigen::Matrix4f const &val) {
170+ void GlUniformBuffer::set_m4f32 (UniformBufferInput &in, const char *unif, Eigen::Matrix4f const &val) {
172171 this ->set_unif (in, unif, val.data (), GL_FLOAT_MAT4);
173172}
174173
175- void GlUniformBuffer::set_tex (std::shared_ptr< UniformBufferInput> const &in, const char *unif, std::shared_ptr<Texture2d> const &val) {
174+ void GlUniformBuffer::set_tex (UniformBufferInput &in, const char *unif, std::shared_ptr<Texture2d> const &val) {
176175 auto tex = std::dynamic_pointer_cast<GlTexture2d>(val);
177176 GLuint handle = tex->get_handle ();
178177 this ->set_unif (in, unif, &handle, GL_SAMPLER_2D);
0 commit comments