用途:
工作中辅助终端调试的。
特点:
- 插件架构:类似于Qt Creator。
- 采用OpenGL的FBO和顶点、片段着色器特性实现了雷达余晖效果,PPI视图可以实现每秒渲染数十万点,不到3% cpu占用率。
- 基于Qt5与Qt3D,使用QGraphicsItem包装OpenGL绘制的图元,与2D的文字,坐标轴放到一个graphics scene。
- model/view的性能优化:model记录更改,每隔一段时间通知view。
截图:
代码:
daviz.zip (302 K) 下载次数:1817
比较 有趣与大家分享。
1、在qt-project.org上下载Qt 5.0.2。
2、安装QT5.0.2
3、下载一个PortableGit工具,用于下载QT3D
4、在PortableGit目录下打开git-bash.bat
5、git clone git://gitorious.org/qt/qt3d.git qt3d 下载QT3D
6、下载Perl,不然编译QT3D缺少perl.exe。
7、下载地址http://strawberry-perl.googlecode.com/files/strawberry-perl-5.16.3.1-64bit.msi
8、 将QT3D放入无中文件的目录中。
9、打开QT命令窗口,进入QT3D目录。
10、设置环境变量,在命令窗口中输入set PATH=C:\Qt\Strawberry\perl\bin;C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin;C:\Qt\Qt5.0.2\Tools\MinGW\bin
11、qmake qt3d.pro
12、mingw32-make(QT5没有make命令,如果需要,自己可以加)
13、mingw32-make install
额,实现PPI余晖是采用片断着色器,就在 plugins/ppiview/ppieffect.frag
- uniform sampler2D qt_Texture0;
- varying vec4 qt_TexCoord0;
- uniform float specialSector;
- uniform float cycle;
- uniform float decayFactor;
- uniform float antennaPosition;
- varying vec4 vertexPosition;
- uniform mat4 qt_ModelViewProjectionMatrix;
- uniform vec2 coordCenter;
- void main(void)
- {
- float angle;
- float diff;
- float r;
- vec2 pos;
- pos.x = qt_TexCoord0.s * 2.0 - 1.0;
- pos.y = -qt_TexCoord0.t * 2.0 + 1.0;
- pos -= coordCenter;
- r = sqrt(pos.x*pos.x + pos.y * pos.y);
- if (pos.x >= 0.0) {
- if (pos.y > 0.0)
- angle = degrees(asin(pos.x/r));
- else
- angle = 180.0 - degrees(asin(pos.x/r));
- } else {
- if (pos.y > 0.0)
- angle = 360.0 - degrees(asin(-pos.x/r));
- else
- angle = 180.0 + degrees(asin(-pos.x/r));
- }
- if (angle <= antennaPosition)
- diff = antennaPosition-angle;
- else
- diff = 360.0-(angle-antennaPosition);
- if (specialSector * 30.0 <= angle && angle < (specialSector + 1.0) * 30.0 && diff > 180.0)
- diff -= 360.0;
- diff += cycle * 360.0;
- vec4 color = texture2D(qt_Texture0, qt_TexCoord0.st);
- float mixed = 1.0 - 4.0 * exp(-diff/decayFactor);
- if (mixed < 0.0)
- mixed = 0.0;
- gl_FragColor = mix(color, vec4(0.0,0.0,0.0,0.0), mixed);
- }
FROM: http://www.qtcn.org/bbs/read-htm-tid-51275.html