Skip to content
Snippets Groups Projects
Verified Commit b6c07e0c authored by Artem Sidyakin's avatar Artem Sidyakin
Browse files

Some more edits

parent 825801d6
No related branches found
No related tags found
No related merge requests found
One of the Qt 5.12 new features is <b>Qt Quick WebGL</b> platform plugin (<a href="http://doc.qt.io/qt-5/qpa.html)">QPA</a>). It was actually available as a technology preview from Qt 5.10 already, but starting with Qt 5.12 it a released feature.
One of the Qt 5.12 new features is <b>Qt Quick WebGL</b> platform plugin. It was actually available as a technology preview from Qt 5.10 already, but starting with Qt 5.12 it a released feature.
<ul style="margin-bottom:0px;">
<li><a href="#tldr">TLDR</a></li>
......@@ -12,7 +12,7 @@ One of the Qt 5.12 new features is <b>Qt Quick WebGL</b> platform plugin (<a hre
</ul>
<li><a href="#use-cases">Use cases</a></li>
<ul style="margin-bottom:0px;">
<li><a href="#webgl-vs-actual-web">WebGL vs actual web</a></li>
<li><a href="#webgl-streaming-vs-actual-web">WebGL streaming vs actual web</a></li>
</ul>
<li><a href="#licensing-pricing">Licensing</a></li>
<li><a href="#conclusion">Conclusion</a></li>
......@@ -40,9 +40,9 @@ This post is intended to be a kind of an "unboxing" experience from the perspect
<a name="what-is-it"><h3>What is it</h3></a>
But first a short description of the feature. If you read past blog-posts, you can just skip this section. I would at least recommend to read the <a href="http://doc.qt.io/qt-5/webgl.html">documentation</a>, though.
But first a short description of the feature. If you read past blog-posts, you can just skip this section. I would however recommend to read the <a href="http://doc.qt.io/qt-5/webgl.html">documentation</a> at least.
"WebGL streaming" is a QPA plugin that sends ("streams") OpenGL calls of your Qt Quick application over the network and in turn those can be translated into <a href="https://en.wikipedia.org/wiki/WebGL">WebGL</a> calls and thus rendered in <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)">HTML5 Canvas</a>. What it means in practice is that you can have an application running on a remote host and render its GUI in a local web-browser.
WebGL streaming is a <a href="http://doc.qt.io/qt-5/qpa.html)">QPA plugin</a> that sends ("streams") OpenGL calls of your Qt Quick application over the network and in turn those are translated into <a href="https://en.wikipedia.org/wiki/WebGL">WebGL</a> calls and thus can be rendered at <a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)">HTML5 Canvas</a>. What it means in practice is that you can have an application running on a remote host and render its GUI in a local web-browser.
Here's a picture to visualize such an interaction:
......@@ -50,7 +50,7 @@ Here's a picture to visualize such an interaction:
And a <a href="https://youtu.be/X1iDlE06xdA">video</a> from KDE Akademy with a more detailed explanation by <a href="http://blog.qt.io/blog/author/jesusfernandez/">Jesus Fernandez</a>.
But since I'm a simple Qt "user", I don't really or care about any of that (<i>and all of that is hidden from me anyway</i>), so to me everything looks like this:
But since I'm a simple Qt "user", I don't really or care about any of that (<i>and it's all hidden from me anyway</i>), so to me everything looks like this:
<img class="aligncenter" src="/img/how-it-works-simplified.png" title="Qt WebGL, how it works, simplified"/>
......@@ -156,7 +156,7 @@ The idea is to control the camera (its pan and tilt) with a Qt-based application
Here's a list of the required hardware for such a setup:
* <a href="https://thepihut.com/products/pan-tilt-hat">Pan-Tilt HAT</a>;
* <a href="https://thepihut.com/products/raspberry-pi-3-model-b-plus">Raspberry Pi 3 Model B+</a>. It actually would be more impressive if I chose RPi Zero, but Pan-Tilt HAT looks better on a "full-sized" RPi;
* <a href="https://thepihut.com/products/raspberry-pi-3-model-b-plus">Raspberry Pi 3 Model B+</a>. I could choose RPi Zero as well, but this <a href="https://www.raspberrypi.org/blog/introducing-raspberry-pi-hats/">HAT</a> fits better on a "full-sized" RPi;
* <a href="https://thepihut.com/products/pibow-3b-coupe-raspberry-pi-3-3b">Pibow 3B+ Coupe Royale</a>;
* <a href="https://thepihut.com/products/raspberry-pi-camera-module">Raspberry Pi Camera Module V2</a>.
......@@ -260,7 +260,7 @@ Overall, supporting only one connection fairly reduces the number of possible us
Another noticeable aspect is so-called "zero install" concept - you don't have to install/deploy anything on clients (<i>desktops/tablets/smartphones/etc</i>), the only thing needed is a web-browser.
<a name="webgl-vs-actual-web"><h4>WebGL vs actual web</h4></a>
<a name="webgl-streaming-vs-actual-web"><h4>WebGL streaming vs actual web</h4></a>
Some of you might ask, what is the point of relying on WebGL streaming in the first place? Since it's all about web-browser, then one can just take a regular web-server and create a web-application - result will be almost the same: backend is hosted on the remote device and HTML-based GUI is rendered in the web-browser.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment