@@ -414,7 +414,7 @@ void Viewer::initializeGL()
414414 " vec4 diffuse = max(abs(dot(N,L)),0.0) * light_diff*color; \n "
415415 " vec4 specular = pow(max(dot(R,V), 0.0), spec_power) * light_spec; \n "
416416
417- " gl_FragColor = color*light_amb + diffuse + specular; \n "
417+ " gl_FragColor = vec4(vec3( color*light_amb + diffuse + specular).xyz, 1.0f) ; \n "
418418 " } \n "
419419 " \n "
420420 };
@@ -1106,43 +1106,43 @@ void Viewer::drawVisualHints()
11061106 d->rendering_program .bind ();
11071107 qglviewer::Camera::Type camera_type = camera ()->type ();
11081108 camera ()->setType (qglviewer::Camera::ORTHOGRAPHIC);
1109- QMatrix4x4 mvpMatrix;
1110- QMatrix4x4 mvMatrix;
1111- for (int i=0 ; i < 16 ; i++)
1112- {
1113- mvMatrix.data ()[i] = camera ()->orientation ().inverse ().matrix ()[i];
1114- }
1115- mvpMatrix.ortho (-1 ,1 ,-1 ,1 ,-1 ,1 );
1116- mvpMatrix = mvpMatrix*mvMatrix;
1117- camera ()->setType (camera_type);
1118-
1119- d->rendering_program .setUniformValue (" light_pos" , d->lighting .position );
1120- d->rendering_program .setUniformValue (" mvp_matrix" , mvpMatrix);
1121- d->rendering_program .setUniformValue (" mv_matrix" , mvMatrix);
1122- d->rendering_program .setUniformValue (" light_diff" , d->lighting .diffuse );
1123- d->rendering_program .setUniformValue (" light_spec" , d->lighting .specular );
1124- d->rendering_program .setUniformValue (" light_amb" , d->lighting .ambient );
1125- d->rendering_program .setUniformValue (" spec_power" , d->lighting .shininess );
1126-
1127- d->vao [0 ].bind ();
1128- int viewport[4 ];
1129- int scissor[4 ];
1130-
1131- // The viewport and the scissor are changed to fit the upper right
1132- // corner. Original values are saved.
1133- glGetIntegerv (GL_VIEWPORT, viewport);
1134- glGetIntegerv (GL_SCISSOR_BOX, scissor);
1135-
1136- // Axis viewport size, in pixels
1137- const int size = 100 ;
1138- glViewport (width ()*devicePixelRatio ()-size, height ()*devicePixelRatio ()-size, size, size);
1139- glScissor (width ()*devicePixelRatio ()-size, height ()*devicePixelRatio ()-size, size, size);
1140- glDrawArrays (GL_TRIANGLES, 0 , static_cast <GLsizei>(d->v_Axis .size () / 3 ));
1141- // The viewport and the scissor are restored.
1142- glScissor (scissor[0 ],scissor[1 ],scissor[2 ],scissor[3 ]);
1143- glViewport (viewport[0 ],viewport[1 ],viewport[2 ],viewport[3 ]);
1144- d->vao [0 ].release ();
1145- d->rendering_program .release ();
1109+ QMatrix4x4 mvpMatrix;
1110+ QMatrix4x4 mvMatrix;
1111+ for (int i=0 ; i < 16 ; i++)
1112+ {
1113+ mvMatrix.data ()[i] = camera ()->orientation ().inverse ().matrix ()[i];
1114+ }
1115+ mvpMatrix.ortho (-1 ,1 ,-1 ,1 ,-1 ,1 );
1116+ mvpMatrix = mvpMatrix*mvMatrix;
1117+ camera ()->setType (camera_type);
1118+
1119+ d->rendering_program .setUniformValue (" light_pos" , d->lighting .position );
1120+ d->rendering_program .setUniformValue (" mvp_matrix" , mvpMatrix);
1121+ d->rendering_program .setUniformValue (" mv_matrix" , mvMatrix);
1122+ d->rendering_program .setUniformValue (" light_diff" , d->lighting .diffuse );
1123+ d->rendering_program .setUniformValue (" light_spec" , d->lighting .specular );
1124+ d->rendering_program .setUniformValue (" light_amb" , d->lighting .ambient );
1125+ d->rendering_program .setUniformValue (" spec_power" , d->lighting .shininess );
1126+
1127+ d->vao [0 ].bind ();
1128+ int viewport[4 ];
1129+ int scissor[4 ];
1130+
1131+ // The viewport and the scissor are changed to fit the upper right
1132+ // corner. Original values are saved.
1133+ glGetIntegerv (GL_VIEWPORT, viewport);
1134+ glGetIntegerv (GL_SCISSOR_BOX, scissor);
1135+
1136+ // Axis viewport size, in pixels
1137+ const int size = 100 ;
1138+ glViewport (width ()*devicePixelRatio ()-size, height ()*devicePixelRatio ()-size, size, size);
1139+ glScissor (width ()*devicePixelRatio ()-size, height ()*devicePixelRatio ()-size, size, size);
1140+ glDrawArrays (GL_TRIANGLES, 0 , static_cast <GLsizei>(d->v_Axis .size () / 3 ));
1141+ // The viewport and the scissor are restored.
1142+ glScissor (scissor[0 ],scissor[1 ],scissor[2 ],scissor[3 ]);
1143+ glViewport (viewport[0 ],viewport[1 ],viewport[2 ],viewport[3 ]);
1144+ d->vao [0 ].release ();
1145+ d->rendering_program .release ();
11461146 }
11471147
11481148 if (d->distance_is_displayed )
0 commit comments