From 07ea30db8b7790a43a62c4ebf0e25b6d28e4b7be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sat, 1 Sep 2018 17:13:18 -0700 Subject: [PATCH] Updated docs. --- bgfx.html | 172 +++++++++++++++++++++++++++++++++---------------- genindex.html | 10 ++- objects.inv | Bin 17795 -> 17904 bytes searchindex.js | 2 +- 4 files changed, 126 insertions(+), 58 deletions(-) diff --git a/bgfx.html b/bgfx.html index cd459cd6e..30a0d9584 100644 --- a/bgfx.html +++ b/bgfx.html @@ -5853,26 +5853,56 @@ otherwise prefer bgfx::setViewScissor.

-
-

Warning

-

doxygenfunction: Unable to resolve multiple matches for function “bgfx::createTexture2D” with arguments (uint16_t, uint16_t, bool, uint16_t, TextureFormat::Enum, uint32_t, const Memory *) in doxygen xml output for project “bgfx” from directory: ../../.build/docs/xml. -Potential matches: +

+
+TextureHandle bgfx::createTexture2D(uint16_t _width, uint16_t _height, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags = BGFX_TEXTURE_NONE|BGFX_SAMPLER_NONE, const Memory *_mem = NULL)
+

Create 2D texture.

+

+
Attention
+
C99 equivalent is bgfx_create_texture_2d.
+
Parameters
+
    +
  • _width: Width.
  • +
  • _height: Height.
  • +
  • _hasMips: Indicates that texture contains full mip-map chain.
  • +
  • _numLayers: Number of layers in texture array. Must be 1 if caps BGFX_CAPS_TEXTURE_2D_ARRAY flag is not set.
  • +
  • _format: Texture format. See: TextureFormat::Enum.
  • +
  • _flags: Texture creation (see BGFX_TEXTURE_*.), and sampler (see BGFX_SAMPLER_*) flags. Default texture sampling mode is linear, and wrap mode is repeat.
      +
    • BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP] - Mirror or clamp to edge wrap mode.
    • +
    • BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC] - Point or anisotropic sampling.
    • +
    +
  • +
  • _mem: Texture data. If _mem is non-NULL, created texture will be immutable. If _mem is NULL content of the texture is uninitialized. When _numLayers is more than 1, expected memory layout is texture and all mips together for each array element.
  • +
+
+

-
- TextureHandle bgfx::createTexture2D(BackbufferRatio::Enum, bool, uint16_t, TextureFormat::Enum, uint64_t)
-- TextureHandle bgfx::createTexture2D(uint16_t, uint16_t, bool, uint16_t, TextureFormat::Enum, uint64_t, const Memory *)
-
-
-
-
-

Warning

-

doxygenfunction: Unable to resolve multiple matches for function “bgfx::createTexture2D” with arguments (BackbufferRatio::Enum, bool, uint16_t, TextureFormat::Enum, uint32_t) in doxygen xml output for project “bgfx” from directory: ../../.build/docs/xml. -Potential matches: + + +

+
+TextureHandle bgfx::createTexture2D(BackbufferRatio::Enum _ratio, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format, uint64_t _flags = BGFX_TEXTURE_NONE|BGFX_SAMPLER_NONE)
+

Create frame buffer with size based on backbuffer ratio. Frame buffer will maintain ratio if back buffer resolution changes.

+

+
Attention
+
C99 equivalent is bgfx_create_texture_2d_scaled.
+
Parameters
+
    +
  • _ratio: Frame buffer size in respect to back-buffer size. See: BackbufferRatio::Enum.
  • +
  • _hasMips: Indicates that texture contains full mip-map chain.
  • +
  • _numLayers: Number of layers in texture array. Must be 1 if caps BGFX_CAPS_TEXTURE_2D_ARRAY flag is not set.
  • +
  • _format: Texture format. See: TextureFormat::Enum.
  • +
  • _flags: Texture creation (see BGFX_TEXTURE_*.), and sampler (see BGFX_SAMPLER_*) flags. Default texture sampling mode is linear, and wrap mode is repeat.
      +
    • BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP] - Mirror or clamp to edge wrap mode.
    • +
    • BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC] - Point or anisotropic sampling.
    • +
    +
  • +
+
+

-
- TextureHandle bgfx::createTexture2D(BackbufferRatio::Enum, bool, uint16_t, TextureFormat::Enum, uint64_t)
-- TextureHandle bgfx::createTexture2D(uint16_t, uint16_t, bool, uint16_t, TextureFormat::Enum, uint64_t, const Memory *)
-
-
-
+ +
void bgfx::updateTexture2D(TextureHandle _handle, uint16_t _layer, uint8_t _mip, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height, const Memory *_mem, uint16_t _pitch = UINT16_MAX)
@@ -6078,32 +6108,55 @@ Potential matches:

Frame Buffers

-
-

Warning

-

doxygenfunction: Unable to resolve multiple matches for function “bgfx::createFrameBuffer” with arguments (uint16_t, uint16_t, TextureFormat::Enum, uint32_t) in doxygen xml output for project “bgfx” from directory: ../../.build/docs/xml. -Potential matches: +

+
+FrameBufferHandle bgfx::createFrameBuffer(uint16_t _width, uint16_t _height, TextureFormat::Enum _format, uint64_t _textureFlags = BGFX_SAMPLER_U_CLAMP|BGFX_SAMPLER_V_CLAMP)
+

Create frame buffer (simple).

+

+
Return
+
Handle to frame buffer object.
+
Attention
+
C99 equivalent is bgfx_create_frame_buffer.
+
Parameters
+
    +
  • _width: Texture width.
  • +
  • _height: Texture height.
  • +
  • _format: Texture format. See: TextureFormat::Enum.
  • +
  • _textureFlags: Default texture sampling mode is linear, and wrap mode is repeat.
      +
    • BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP] - Mirror or clamp to edge wrap mode.
    • +
    • BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC] - Point or anisotropic sampling.
    • +
    +
  • +
+
+

-
- FrameBufferHandle bgfx::createFrameBuffer(BackbufferRatio::Enum, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint16_t, uint16_t, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const Attachment *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const TextureHandle *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(void *, uint16_t, uint16_t, TextureFormat::Enum, TextureFormat::Enum)
-
-
-
-
-

Warning

-

doxygenfunction: Unable to resolve multiple matches for function “bgfx::createFrameBuffer” with arguments (BackbufferRatio::Enum, TextureFormat::Enum, uint32_t) in doxygen xml output for project “bgfx” from directory: ../../.build/docs/xml. -Potential matches: +

+ +
+
+FrameBufferHandle bgfx::createFrameBuffer(BackbufferRatio::Enum _ratio, TextureFormat::Enum _format, uint64_t _textureFlags = BGFX_SAMPLER_U_CLAMP|BGFX_SAMPLER_V_CLAMP)
+

Create frame buffer with size based on backbuffer ratio. Frame buffer will maintain ratio if back buffer resolution changes.

+

+
Return
+
Handle to frame buffer object.
+
Attention
+
C99 equivalent is bgfx_create_frame_buffer_scaled.
+
Parameters
+
    +
  • _ratio: Frame buffer size in respect to back-buffer size. See: BackbufferRatio::Enum.
  • +
  • _format: Texture format. See: TextureFormat::Enum.
  • +
  • _textureFlags: Default texture sampling mode is linear, and wrap mode is repeat.
      +
    • BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP] - Mirror or clamp to edge wrap mode.
    • +
    • BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC] - Point or anisotropic sampling.
    • +
    +
  • +
+
+

-
- FrameBufferHandle bgfx::createFrameBuffer(BackbufferRatio::Enum, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint16_t, uint16_t, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const Attachment *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const TextureHandle *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(void *, uint16_t, uint16_t, TextureFormat::Enum, TextureFormat::Enum)
-
-
- +
+
FrameBufferHandle bgfx::createFrameBuffer(uint8_t _num, const TextureHandle *_handles, bool _destroyTextures = false)
@@ -6124,19 +6177,30 @@ Potential matches:

-
-

Warning

-

doxygenfunction: Unable to resolve multiple matches for function “bgfx::createFrameBuffer” with arguments (void *, uint16_t, uint16_t, TextureFormat::Enum) in doxygen xml output for project “bgfx” from directory: ../../.build/docs/xml. -Potential matches: +

+
+FrameBufferHandle bgfx::createFrameBuffer(void *_nwh, uint16_t _width, uint16_t _height, TextureFormat::Enum _format = TextureFormat::Count, TextureFormat::Enum _depthFormat = TextureFormat::Count)
+

Create frame buffer for multiple window rendering.

+

+
Return
+
Handle to frame buffer object.
+
Remark
+
Frame buffer cannot be used for sampling.
+
Attention
+
C99 equivalent is bgfx_create_frame_buffer_from_nwh.
+
Parameters
+
    +
  • _nwh: OS’ target native window handle.
  • +
  • _width: Window back buffer width.
  • +
  • _height: Window back buffer height.
  • +
  • _format: Window back buffer color format.
  • +
  • _depthFormat: Window back buffer depth format.
  • +
+
+

-
- FrameBufferHandle bgfx::createFrameBuffer(BackbufferRatio::Enum, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint16_t, uint16_t, TextureFormat::Enum, uint64_t)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const Attachment *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(uint8_t, const TextureHandle *, bool)
-- FrameBufferHandle bgfx::createFrameBuffer(void *, uint16_t, uint16_t, TextureFormat::Enum, TextureFormat::Enum)
-
-
-
+ +
struct bgfx::Attachment
diff --git a/genindex.html b/genindex.html index 4efef5e11..d1b980fab 100644 --- a/genindex.html +++ b/genindex.html @@ -537,7 +537,7 @@ -
bgfx::createFrameBuffer (C++ function), [1] +
bgfx::createFrameBuffer (C++ function), [1], [2], [3], [4]
@@ -565,6 +565,10 @@ +
bgfx::createTexture2D (C++ function), [1] +
+ +
bgfx::createTexture3D (C++ function)
@@ -1100,12 +1104,12 @@
bgfx::Stats::gpuTimeEnd (C++ member)
+
+
bgfx::Stats::gpuTimerFreq (C++ member)
-
-
bgfx::Stats::height (C++ member)
diff --git a/objects.inv b/objects.inv index 590d0690262d8babd33044ac771e1f55174e7425..6e5fb42663f4204a9ae24890e17799aa6c9e0a6b 100644 GIT binary patch delta 13313 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 LeR}^t`mR67(7+G3 delta 13204 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 GD~u8#l