22 : QOpenGLWidget(parent),
28 default_image_(nullptr),
29 video_image_shader_prog_(nullptr) {}
38 video_image_shader_prog_->destroyed();
39 video_image_shader_prog_.reset();
40 default_image_.reset();
47 initializeOpenGLFunctions();
50 glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
53 if (!noImage.load(tr(
":/images/no_image.png"))) {
54 std::cout <<
"--------can not load the default texture------------"
59 default_image_ = std::make_shared<Texture>();
60 if (default_image_ ==
nullptr || !default_image_->UpdateData(noImage)) {
61 std::cout <<
"--------can not create the default texture------------"
67 tr(
"/apollo/modules/tools/visualizer/shaders/video_image_plane.vert"),
68 tr(
"/apollo/modules/tools/visualizer/shaders/video_image_plane.frag"));
69 if (video_image_shader_prog_ ==
nullptr) {
74 if (!plane_.
Init(video_image_shader_prog_)) {
81 ortho_camera_.
set_fov(
static_cast<float>(height()));
91 video_image_shader_prog_->bind();
92 video_image_shader_prog_->setUniformValue(mvp_id_, mvp);
93 video_image_shader_prog_->release();
99 glViewport(0, 0, (GLsizei)width, (GLsizei)height);
102 ortho_camera_.
set_fov(
static_cast<float>(height));
110 video_image_shader_prog_->bind();
111 video_image_shader_prog_->setUniformValue(mvp_id_, mvp);
112 video_image_shader_prog_->release();
void set_near_plane_width(const float npWidth)
void set_position(const QVector3D &pos)
const QMatrix4x4 & model_view_matrix(void) const
void UpdateProjection(void)
const QMatrix4x4 & projection_matrix(void) const
void set_camera_mode(CameraMode cm)
void set_fov(const float fovInDegrees)
void set_near_plane_height(const float npHeight)
virtual void UpdateWorld(void)
void set_texture(const std::shared_ptr< Texture > &t)
bool Init(std::shared_ptr< QOpenGLShaderProgram > &shaderProgram=NullRenderableObj)
void Render(const QMatrix4x4 *mvp=nullptr)
static std::shared_ptr< QOpenGLShaderProgram > CreateShaderProgram(const QString &vertexShaderFileName, const QString &fragShaderFileName)
void resizeGL(int w, int h) override
VideoImgViewer(QWidget *parent=nullptr)
void initializeGL() override