comparison Framework/Scene2D/Internals/OpenGLLinesProgram.cpp @ 693:9a474e90e832

Fixed a bunch of truncation warnings in various parts of the library
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 17 May 2019 08:49:55 +0200
parents e3f21a265be5
children 7c6197d9acc9 5c551f078c18
comparison
equal deleted inserted replaced
692:10910827f235 693:9a474e90e832
203 { 203 {
204 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); 204 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
205 } 205 }
206 206
207 // First triangle 207 // First triangle
208 coords.push_back(x1_); 208 coords.push_back(static_cast<float>(x1_));
209 coords.push_back(y1_); 209 coords.push_back(static_cast<float>(y1_));
210 coords.push_back(1); 210 coords.push_back(static_cast<float>(1));
211 coords.push_back(x2_); 211 coords.push_back(static_cast<float>(x2_));
212 coords.push_back(y2_); 212 coords.push_back(static_cast<float>(y2_));
213 coords.push_back(-1); 213 coords.push_back(static_cast<float>(-1));
214 coords.push_back(x2_); 214 coords.push_back(static_cast<float>(x2_));
215 coords.push_back(y2_); 215 coords.push_back(static_cast<float>(y2_));
216 coords.push_back(1); 216 coords.push_back(static_cast<float>(1));
217 217
218 miterDirections.push_back(miterX1_); 218 miterDirections.push_back(static_cast<float>(miterX1_));
219 miterDirections.push_back(miterY1_); 219 miterDirections.push_back(static_cast<float>(miterY1_));
220 miterDirections.push_back(miterX2_); 220 miterDirections.push_back(static_cast<float>(miterX2_));
221 miterDirections.push_back(miterY2_); 221 miterDirections.push_back(static_cast<float>(miterY2_));
222 miterDirections.push_back(miterX2_); 222 miterDirections.push_back(static_cast<float>(miterX2_));
223 miterDirections.push_back(miterY2_); 223 miterDirections.push_back(static_cast<float>(miterY2_));
224 224
225 // Second triangle 225 // Second triangle
226 coords.push_back(x1_); 226 coords.push_back(static_cast<float>(x1_));
227 coords.push_back(y1_); 227 coords.push_back(static_cast<float>(y1_));
228 coords.push_back(1); 228 coords.push_back(static_cast<float>(1));
229 coords.push_back(x1_); 229 coords.push_back(static_cast<float>(x1_));
230 coords.push_back(y1_); 230 coords.push_back(static_cast<float>(y1_));
231 coords.push_back(-1); 231 coords.push_back(static_cast<float>(-1));
232 coords.push_back(x2_); 232 coords.push_back(static_cast<float>(x2_));
233 coords.push_back(y2_); 233 coords.push_back(static_cast<float>(y2_));
234 coords.push_back(-1); 234 coords.push_back(static_cast<float>(-1));
235 235
236 miterDirections.push_back(miterX1_); 236 miterDirections.push_back(static_cast<float>(miterX1_));
237 miterDirections.push_back(miterY1_); 237 miterDirections.push_back(static_cast<float>(miterY1_));
238 miterDirections.push_back(miterX1_); 238 miterDirections.push_back(static_cast<float>(miterX1_));
239 miterDirections.push_back(miterY1_); 239 miterDirections.push_back(static_cast<float>(miterY1_));
240 miterDirections.push_back(miterX2_); 240 miterDirections.push_back(static_cast<float>(miterX2_));
241 miterDirections.push_back(miterY2_); 241 miterDirections.push_back(static_cast<float>(miterY2_));
242 } 242 }
243 }; 243 };
244 244
245 245
246 OpenGLLinesProgram::Data::Data(OpenGL::IOpenGLContext& context, 246 OpenGLLinesProgram::Data::Data(OpenGL::IOpenGLContext& context,
247 const PolylineSceneLayer& layer) : 247 const PolylineSceneLayer& layer) :
248 context_(context), 248 context_(context),
249 verticesCount_(0), 249 verticesCount_(0),
250 thickness_(layer.GetThickness()), 250 thickness_(static_cast<float>(layer.GetThickness())),
251 red_(layer.GetRedAsFloat()), 251 red_(layer.GetRedAsFloat()),
252 green_(layer.GetGreenAsFloat()), 252 green_(layer.GetGreenAsFloat()),
253 blue_(layer.GetBlueAsFloat()) 253 blue_(layer.GetBlueAsFloat())
254 { 254 {
255 // High-level reference: 255 // High-level reference:
416 if (antialiasing) 416 if (antialiasing)
417 { 417 {
418 double t1 = std::max(thickness, aliasingBorder); 418 double t1 = std::max(thickness, aliasingBorder);
419 double t0 = std::max(0.0, thickness - aliasingBorder); 419 double t0 = std::max(0.0, thickness - aliasingBorder);
420 420
421 glUniform1f(program_->GetUniformLocation("u_thickness"), t1 / zoom); 421 glUniform1f(program_->GetUniformLocation("u_thickness"),
422 glUniform1f(program_->GetUniformLocation("u_antialiasing_start"), t0 / t1); 422 static_cast<GLfloat>(t1 / zoom));
423 glUniform1f(program_->GetUniformLocation("u_antialiasing_start"),
424 static_cast<GLfloat>(t0 / t1));
423 } 425 }
424 else 426 else
425 { 427 {
426 glUniform1f(program_->GetUniformLocation("u_thickness"), thickness / zoom); 428 glUniform1f(program_->GetUniformLocation("u_thickness"),
429 static_cast<GLfloat>(thickness / zoom));
427 } 430 }
428 } 431 }
429 else 432 else
430 { 433 {
431 if (antialiasing) 434 if (antialiasing)
432 { 435 {
433 double t1 = std::max(thickness, aliasingBorder / zoom); 436 double t1 = std::max(thickness, aliasingBorder / zoom);
434 double t0 = std::max(0.0, thickness - aliasingBorder / zoom); 437 double t0 = std::max(0.0, thickness - aliasingBorder / zoom);
435 438
436 glUniform1f(program_->GetUniformLocation("u_thickness"), t1); 439 glUniform1f(program_->GetUniformLocation("u_thickness"),
437 glUniform1f(program_->GetUniformLocation("u_antialiasing_start"), t0 / t1); 440 static_cast<GLfloat>(t1));
441 glUniform1f(program_->GetUniformLocation("u_antialiasing_start"),
442 static_cast<GLfloat>(t0 / t1));
438 } 443 }
439 else 444 else
440 { 445 {
441 glUniform1f(program_->GetUniformLocation("u_thickness"), thickness); 446 glUniform1f(program_->GetUniformLocation("u_thickness"),
447 static_cast<GLfloat>(thickness));
442 } 448 }
443 } 449 }
444 450
445 if (antialiasing) 451 if (antialiasing)
446 { 452 {