feat: Add translucent view cube with hover opacity effect

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-17 16:49:49 -07:00
parent 34ecee0fa2
commit 5e20822df4
4 changed files with 25 additions and 7 deletions

View File

@@ -5,6 +5,7 @@
#include <QMatrix4x4>
#include <QOpenGLVertexArrayObject>
#include <QOpenGLBuffer>
#include <QPoint>
class QOpenGLShaderProgram;
class QOpenGLTexture;
@@ -16,13 +17,13 @@ public:
~ViewCube();
void initializeGL();
void paintGL(QOpenGLShaderProgram* simpleShader, int simpleShaderColorLoc, const QMatrix4x4& viewMatrix, int width, int height);
void paintGL(QOpenGLShaderProgram* simpleShader, int simpleShaderColorLoc, const QMatrix4x4& viewMatrix, int width, int height, const QPoint& mousePos);
private:
void createFaceTextures();
void initShaders();
void setupBuffers();
void drawViewCube(const QMatrix4x4& projection, const QMatrix4x4& view);
void drawViewCube(const QMatrix4x4& projection, const QMatrix4x4& view, float opacity);
void drawAxes(QOpenGLShaderProgram* simpleShader, int colorLoc, const QMatrix4x4& projection, const QMatrix4x4& view);
QOpenGLTexture* m_faceTextures[6];