diff --git a/bgfx.html b/bgfx.html index 48ecc89bd..621629399 100644 --- a/bgfx.html +++ b/bgfx.html @@ -1101,7 +1101,8 @@
_x, _y – [in] 2D position from top-left.
_x – [in] The X coordinate (2D position from top-left)
_y – [in] The Y coordinate (2D position from top-left)
_attr – [in] Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes).
_format – [in] printf style format.
_x, _y – [in] 2D position from top-left.
_x – [in] The X coordinate (2D position from top-left)
_y – [in] The Y coordinate (2D position from top-left)
_attr – [in] Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes).
_format – [in] printf style format.
_argList – [in] additional arguments for format string
_x, _y – [in] 2D position from top-left.
_width, _height – [in] Image width and height.
_x – [in] The X coordinate (2D position from top-left)
_y – [in] The Y coordinate (2D position from top-left)
_width – [in] Image width
_height – [in] Image height
_data – [in] Raw image data (character/attribute raw encoding).
_pitch – [in] Image pitch in bytes.
Draw indirect with indirect count is supported. All texture compare modes are supported.
+Draw indirect with indirect count is supported.
GPU driver latency.
Frame which generated gpuTimeBegin, gpuTimeEnd.
+_index – [in] Index into palette.
_r, _g, _b, _a – [in] RGBA floating point values.
_r – [in] Red value (RGBA floating point values)
_g – [in] Green value (RGBA floating point values)
_b – [in] Blue value (RGBA floating point values)
_a – [in] Alpha value (RGBA floating point values)
++
The directories for bx, bimg, and bgfx should all be siblings of each other. +So clone the repositories next to each other:
git clone https://github.com/bkaradzic/bx.git
git clone https://github.com/bkaradzic/bimg.git
git clone https://github.com/bkaradzic/bgfx.git
These are step for users who use Windows with Visual Studio.
Enter bgfx directory:
cd bgfx
@@ -178,17 +181,19 @@ You must use use cmd.exe with provided makefiles.
Build¶
bgfx uses GENie - Project generator tool
-to generate project files for various platform. Binaries for Linux, macOS, and Windows are included in
-bx repository.
-
-General¶
+to generate project files for various platforms. Binaries of GENie for Linux, macOS, and Windows are included in
+the bx repository. GENie can generate a useful list of options relevant to the project using the
+--help flag. Most platform-specific examples below do not explicitly use the genie executable, but a convenience
+makefile instead. For more control, you can directly use genie to generate the project files.
+
+General (Makefile wrapper)¶
cd bgfx
make
-After calling make, .build/projects/* directory will be generated.
-All intermediate files generated by compiler will be inside .build
-directory structure. Deleting .build directory at any time is safe.
+After calling make, some directories in .build/projects/\* will be generated.
+All intermediate files, libraries and executables generated by the compiler will be inside this
+.build directory structure. Deleting .build directory at any time is safe.
make <configuration>
@@ -197,6 +202,49 @@ directory structure. Deleting .build directory at any time is safe.
Inspect the available options by invoking GENie with the --help option (where <platform> is linux, windows, or darwin):
../bx/tools/bin/<platform>/genie --help
+Select the options you want, such as:
++++
+- +
--with-tools- +
--with-amalgamated(see below)- +
--with-shared-lib- +
--with-profiler(see https://bkaradzic.github.io/bgfx/bgfx.html#_CPPv4N4bgfx9CallbackIE)- +
--with-examples(see https://bkaradzic.github.io/bgfx/examples.html)- +
--with-sdlto use SDL2 for the examples.- +
--with-glfwto use GLFW3 for the examples.
There are also many platform-specific options.
+Note
+If you wish to use the OpenGL backend, specifying a minimum API version is possible through setting
+the BGFX_CONFIG environment variable when running genie. For example:
# Unix:
+export BGFX_CONFIG=RENDERER_OPENGL_MIN_VERSION=40
+# Windows:
+set BGFX_CONFIG=RENDERER_OPENGL_MIN_VERSION=40
+
+../bx/tools/bin/<platform>/genie <... your options ...>
+The same can be done for OpenGL ES.
+Then generate your project files with the options.
+Your project folder is in .build/projects/.
+For more help on specific platforms, see below and read the makefile in the bgfx repository) for examples on how to use GENie.
For gmake projects, specify compile using:
+make config=<config> -C .build/projects/<platform>-gmake
+Where <config> is something like release64, debug64 (or equivalent 32 bit), and
+<platform> is the platform you chose.
Visual Studio 2019 command line:
@@ -208,20 +256,21 @@ directory structure. Deleting .build directory at any time is safe.Xcode command line:
+There are two options when working on macOS: Xcode command-line builds, or within the XCode graphical development environment.
+For the Xcode command line:
make osx-release
cd examples/runtime
../../.build/osx64_clang/bin/examples.app/Contents/MacOS/examplesRelease
Xcode IDE:
+Or for Xcode IDE:
../bx/tools/bin/darwin/genie --with-combined-examples --xcode=osx xcode9
open .build/projects/xcode9-osx/bgfx.xcworkspace
Due to inability +
Due to the inability to set working directory for an Xcode project from GENie configuration file, it has to be set manually for each example project:
make linux-release64
For more options, see General (directly with GENie).
..\bx\tools\bin\windows\genie --vs=winstore100 vs2019
Build the resulting solution and deploy to device.
+For more options, see General (directly with GENie). +Build the resulting solution and deploy to device.
Note
Shaders will need to be compiled with the appropriate target profile for your platform.
@@ -251,12 +302,12 @@ configuration file, it has to be set manually for each example project:For ease of integration to other build system bgfx library can be built -with single .cpp file. It’s only necessary to build +
For ease of integration with other build systems, the bgfx library can be built +with a single .cpp file. It’s only necessary to build src/amalgamated.cpp (for macOS/iOS/iPadOS/tvOS use src/amalgamated.mm -instead) inside different build system.
+instead) inside a different build system.fips is a highlevel build system wrapper written in Python for C/C++ projects. +
fips is a high-level build system wrapper written in Python for C/C++ projects. https://github.com/floooh/fips#fips
Conan package https://github.com/firefalcom/bgfx-conan
diff --git a/genindex.html b/genindex.html index 20a0570eb..da4dd4dbe 100644 --- a/genindex.html +++ b/genindex.html @@ -632,6 +632,8 @@Android (14+)
iOS/iPadOS/tvOS (16.0+)
Linux
Linux (both X11 and Wayland)
macOS (13.0+)
PlayStation 4
RaspberryPi