boinc/doc/graphics.html

40 lines
1.1 KiB
HTML
Raw Normal View History

<h2>Graphics</h2>
<p>
Applications can optionally generate graphics,
which are displayed by the core client in either
its application (window) or screensaver (full-screen) form.
<p>
The graphics architecture has not been completed.
It may differ between platforms.
Some possibilities:
<ul>
<li>
Applications render their graphics into
an offscreen buffer in shared memory.
The core client or screensaver BLITs this to the screen.
(Problem: no X11 toolkits let you render into
memory in the client. Mesa does, but that forces
you to use OpenGL).
<li>
Applications are passed a window descriptor by the
core client or screensaver.
Problem: can you do this in Windows? in X11?
<li>
Applications encode their rendering in a byte stream
of some sort (OpenGL had something like this),
and send if through a pipe to the core client or screensaver.
<li>
Applications supply their rendering code in a separate shared library
which is dynamically linked into the core client or screensaver,
and which communicates with the main application
through shared memory.
This is how United Devices works.
Disadvantage: complex.
</ul>