mirror of https://github.com/BOINC/boinc.git
Update GraphicsApi.md file
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
parent
65af5034a4
commit
9c5a6d8bfc
|
@ -1,39 +1,39 @@
|
|||
[[PageOutline]]
|
||||
# Using OpenGL
|
||||
|
||||
The [BOINC graphics API](#api) provides cross-platform support for developing graphics apps.
|
||||
|
||||
A complete example can be found in [boinc/samples/example_app](ExampleApps).
|
||||
|
||||
# The BOINC Graphics API #api
|
||||
# The BOINC Graphics API
|
||||
|
||||
BOINC supplies a library (libboinc_graphics2.a) with support for graphics apps.
|
||||
To use this library, the graphics app must call
|
||||
|
||||
```
|
||||
boinc_graphics_loop(int argc, char** argv);
|
||||
|
||||
```
|
||||
after its initialization.
|
||||
This function executes an event loop, and does not return.
|
||||
|
||||
The application must supply the following functions:
|
||||
|
||||
```
|
||||
void app_graphics_init();
|
||||
|
||||
```
|
||||
Called once, after the window has been created.
|
||||
|
||||
```
|
||||
void app_graphics_render(int xs, ys, double time_of_day);
|
||||
|
||||
```
|
||||
|
||||
This will be called periodically.
|
||||
It should generate the current graphic.
|
||||
`xs` and `ys` are the X and Y sizes of the window, and `time_of_day` is the relative time in seconds.
|
||||
|
||||
|
||||
```
|
||||
void app_graphics_resize(int x, int y);
|
||||
|
||||
```
|
||||
|
||||
Called when the window size changes.
|
||||
|
||||
|
||||
```
|
||||
void boinc_app_mouse_move(
|
||||
int x, int y, // new coords of cursor
|
||||
int left, // whether left mouse button is down
|
||||
|
@ -54,7 +54,7 @@ Called when the window size changes.
|
|||
void boinc_app_key_release(
|
||||
int, int // system-specific key encodings
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
|
||||
# Support classes
|
||||
|
@ -94,15 +94,15 @@ BOINC supports the display of text using TrueType fonts.
|
|||
* Link with the [FreeType2](http://www.freetype.org)
|
||||
and [FTGL](http://sourceforge.net/projects/ftgl/files/FTGL%20Source/) libraries.
|
||||
Depending on how you build the FreeType2 library, FreeType2 may require the libz and libbz2 libraries.
|
||||
For Windows, prebuilt libraries are available in the `boinc_depends_win_vs2005` repository.
|
||||
For Windows, prebuilt libraries are available; see https://boinc.berkeley.edu/boinc_depends/.
|
||||
To build these libraries on the Mac, please see MacBuild.
|
||||
* Include the desired TrueType fonts in your [ app versions](AppVersionNew).
|
||||
The set of free [fonts](Liberation)(https://fedorahosted.org/liberation-fonts) in included the `api/ttf/` directory.
|
||||
The set of free [Liberation fonts](https://fedorahosted.org/liberation-fonts) in included the `api/ttf/` directory.
|
||||
If you wish to use other TrueType fonts,
|
||||
you'll need to adjust the list of font names in `ttfont.cpp`.
|
||||
(Another source of free fonts is the [Freefont project](GNU)(http://www.gnu.org/software/freefont).)
|
||||
(Another source of free fonts is the [GNU Freefont project](http://www.gnu.org/software/freefont).)
|
||||
* To display text, use the following API functions:
|
||||
|
||||
```
|
||||
float white[4] = {1., 1., 1., 1.};
|
||||
APP_INIT_DATA aid;
|
||||
boinc_get_init_data(aid);
|
||||
|
@ -120,7 +120,7 @@ BOINC supports the display of text using TrueType fonts.
|
|||
// default is Sans-Regular (0)
|
||||
);
|
||||
|
||||
```
|
||||
|
||||
|
||||
Other parameters to *ttf_render_string()* let you specify rotation; see ttfont.h.
|
||||
Other parameters to **ttf_render_string()** let you specify rotation; see ttfont.h.
|
||||
For examples, see the `clientscr/ss_app.cpp` and `samples/exampple_app/uc2_graphics.cpp` in the BOINC trunk.
|
||||
|
|
Loading…
Reference in New Issue