1 /* 2 * Copyright (c) 2014 Derelict Developers 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the names 'Derelict', 'DerelictILUT', nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 module derelict.bgfx.funcs; 33 34 35 // For function documentation, see the original header here: https://github.com/bkaradzic/bgfx/blob/master/include/bgfx.c99.h 36 37 private 38 { 39 import derelict.bgfx.types; 40 import derelict.util.xtypes; 41 import derelict.util.wintypes; 42 } 43 44 extern(C) nothrow 45 { 46 alias da_bgfx_vertex_decl_begin = void function(bgfx_vertex_decl_t* _decl, bgfx_renderer_type_t _renderer = BGFX_RENDERER_TYPE_NULL); 47 48 alias da_bgfx_vertex_decl_add = void function(bgfx_vertex_decl_t* _decl, bgfx_attrib_t _attrib, uint8_t _num, bgfx_attrib_type_t _type, bool _normalized = false, bool _asInt = false); 49 alias da_bgfx_vertex_decl_skip = void function(bgfx_vertex_decl_t* _decl, uint8_t _num); 50 alias da_bgfx_vertex_decl_end = void function(bgfx_vertex_decl_t* _decl); 51 alias da_bgfx_vertex_pack = void function(const float _input[4], bool _inputNormalized, bgfx_attrib_t _attr, const bgfx_vertex_decl_t* _decl, void* _data, uint32_t _index = 0); 52 alias da_bgfx_vertex_unpack = void function(float _output[4], bgfx_attrib_t _attr, const bgfx_vertex_decl_t* _decl, const void* _data, uint32_t _index = 0); 53 alias da_bgfx_vertex_convert = void function(const bgfx_vertex_decl_t* _destDecl, void* _destData, const bgfx_vertex_decl_t* _srcDecl, const void* _srcData, uint32_t _num = 1); 54 alias da_bgfx_weld_vertices = uint16_t function(uint16_t* _output, const bgfx_vertex_decl_t* _decl, const void* _data, uint16_t _num, float _epsilon = 0.001f); 55 alias da_bgfx_image_swizzle_bgra8 = void function(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst); 56 alias da_bgfx_image_rgba8_downsample_2x2 = void function(uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, void* _dst); 57 alias da_bgfx_get_supported_renderers = uint8_t function(bgfx_renderer_type_t _enum[BGFX_RENDERER_TYPE_COUNT]); 58 alias da_bgfx_get_renderer_name = const char* function(bgfx_renderer_type_t _type); 59 60 // TODO once DMD 2.066 is release, pass extern(C++) interfaces here 61 alias da_bgfx_init = void function(bgfx_renderer_type_t _type = BGFX_RENDERER_TYPE_COUNT, CallbackI _callback = null, ReallocatorI _allocator = null); 62 alias da_bgfx_shutdown = void function(); 63 alias da_bgfx_reset = void function(uint32_t _width, uint32_t _height, uint32_t _flags = BGFX_RESET_NONE); 64 alias da_bgfx_frame = uint32_t function(); 65 alias da_bgfx_get_renderer_type = bgfx_renderer_type_t function(); 66 alias da_bgfx_get_caps = bgfx_caps_t* function(); 67 alias da_bgfx_alloc = const bgfx_memory_t* function(uint32_t _size); 68 alias da_bgfx_copy = const bgfx_memory_t* function(const(void)* _data, uint32_t _size); 69 alias da_bgfx_make_ref = const bgfx_memory_t* function(const(void)* _data, uint32_t _size); 70 alias da_bgfx_set_debug = void function(uint32_t _debug); 71 alias da_bgfx_dbg_text_clear = void function(uint8_t _attr = 0, bool _small = false); 72 alias da_bgfx_dbg_text_printf = void function(uint16_t _x, uint16_t _y, uint8_t _attr, const(char)* _format, ...); 73 alias da_bgfx_create_index_buffer = bgfx_index_buffer_handle_t function(const(bgfx_memory_t)* _mem); 74 alias da_bgfx_destroy_index_buffer = void function(bgfx_index_buffer_handle_t _handle); 75 alias da_bgfx_create_vertex_buffer = bgfx_vertex_buffer_handle_t function(const(bgfx_memory_t)* _mem, const(bgfx_vertex_decl_t)* _decl); 76 alias da_bgfx_destroy_vertex_buffer = void function(bgfx_vertex_buffer_handle_t _handle); 77 alias da_bgfx_create_dynamic_index_buffer = bgfx_dynamic_index_buffer_handle_t function(uint32_t _num); 78 alias da_bgfx_create_dynamic_index_buffer_mem = bgfx_dynamic_index_buffer_handle_t function(const(bgfx_memory_t)* _mem); 79 alias da_bgfx_update_dynamic_index_buffer = void function(bgfx_dynamic_index_buffer_handle_t _handle, const bgfx_memory_t* _mem); 80 alias da_bgfx_destroy_dynamic_index_buffer = void function(bgfx_dynamic_index_buffer_handle_t _handle); 81 alias da_bgfx_create_dynamic_vertex_buffer = bgfx_dynamic_vertex_buffer_handle_t function(uint16_t _num, const(bgfx_vertex_decl_t)* _decl); 82 alias da_bgfx_create_dynamic_vertex_buffer_mem = bgfx_dynamic_vertex_buffer_handle_t function(const(bgfx_memory_t)* _mem, const(bgfx_vertex_decl_t)* _decl); 83 alias da_bgfx_update_dynamic_vertex_buffer = void function(bgfx_dynamic_vertex_buffer_handle_t _handle, const(bgfx_memory_t)* _mem); 84 alias da_bgfx_destroy_dynamic_vertex_buffer = void function(bgfx_dynamic_vertex_buffer_handle_t _handle); 85 alias da_bgfx_check_avail_transient_index_buffer = bool function(uint32_t _num); 86 alias da_bgfx_check_avail_transient_vertex_buffer = bool function(uint32_t _num, const(bgfx_vertex_decl_t)* _decl); 87 alias da_bgfx_check_avail_instance_data_buffer = bool function(uint32_t _num, uint16_t _stride); 88 alias da_bgfx_check_avail_transient_buffers = bool function(uint32_t _numVertices, const(bgfx_vertex_decl_t)* _decl, uint32_t _numIndices); 89 alias da_bgfx_alloc_transient_index_buffer = void function(bgfx_transient_index_buffer_t* _tib, uint32_t _num); 90 alias da_bgfx_alloc_transient_vertex_buffer = void function(bgfx_transient_vertex_buffer_t* _tvb, uint32_t _num, const(bgfx_vertex_decl_t)* _decl); 91 alias da_bgfx_alloc_transient_buffers = bool function(bgfx_transient_vertex_buffer_t* _tvb, const(bgfx_vertex_decl_t)* _decl, uint16_t _numVertices, bgfx_transient_index_buffer_t* _tib, uint16_t _numIndices); 92 alias da_bgfx_alloc_instance_data_buffer = const(bgfx_instance_data_buffer_t)* function(uint32_t _num, uint16_t _stride); 93 alias da_bgfx_create_shader = bgfx_shader_handle_t function(const bgfx_memory_t* _mem); 94 alias da_bgfx_get_shader_uniforms = uint16_t function(bgfx_shader_handle_t _handle, bgfx_uniform_handle_t* _uniforms = null, uint16_t _max = 0); 95 alias da_bgfx_destroy_shader = void function(bgfx_shader_handle_t _handle); 96 alias da_bgfx_create_program = bgfx_program_handle_t function(bgfx_shader_handle_t _vsh, bgfx_shader_handle_t _fsh, bool _destroyShaders = false); 97 alias da_bgfx_destroy_program = void function(bgfx_program_handle_t _handle); 98 alias da_bgfx_calc_texture_size = void function(bgfx_texture_info_t* _info, uint16_t _width, uint16_t _height, uint16_t _depth, uint8_t _numMips, bgfx_texture_format_t _format); 99 alias da_bgfx_create_texture = bgfx_texture_handle_t function(const bgfx_memory_t* _mem, uint32_t _flags = BGFX_TEXTURE_NONE, uint8_t _skip = 0, bgfx_texture_info_t* _info = null); 100 alias da_bgfx_create_texture_2d = bgfx_texture_handle_t function(uint16_t _width, uint16_t _height, uint8_t _numMips, bgfx_texture_format_t _format, uint32_t _flags = BGFX_TEXTURE_NONE, const bgfx_memory_t* _mem = null); 101 alias da_bgfx_create_texture_3d = bgfx_texture_handle_t function(uint16_t _width, uint16_t _height, uint16_t _depth, uint8_t _numMips, bgfx_texture_format_t _format, uint32_t _flags = BGFX_TEXTURE_NONE, const bgfx_memory_t* _mem = null); 102 alias da_bgfx_create_texture_cube = bgfx_texture_handle_t function(uint16_t _size, uint8_t _numMips, bgfx_texture_format_t _format, uint32_t _flags = BGFX_TEXTURE_NONE, const bgfx_memory_t* _mem = null); 103 alias da_bgfx_update_texture_2d = void function(bgfx_texture_handle_t _handle, uint8_t _mip, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height, const bgfx_memory_t* _mem, uint16_t _pitch = uint16_t.max); 104 alias da_bgfx_update_texture_3d = void function(bgfx_texture_handle_t _handle, uint8_t _mip, uint16_t _x, uint16_t _y, uint16_t _z, uint16_t _width, uint16_t _height, uint16_t _depth, const bgfx_memory_t* _mem); 105 alias da_bgfx_update_texture_cube = void function(bgfx_texture_handle_t _handle, uint8_t _side, uint8_t _mip, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height, const bgfx_memory_t* _mem, uint16_t _pitch = uint16_t.max); 106 alias da_bgfx_destroy_texture = void function(bgfx_texture_handle_t _handle); 107 alias da_bgfx_create_frame_buffer = bgfx_frame_buffer_handle_t function(uint16_t _width, uint16_t _height, bgfx_texture_format_t _format, uint32_t _textureFlags = (BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP) ); 108 alias da_bgfx_create_frame_buffer_from_handles = bgfx_frame_buffer_handle_t function(uint8_t _num, bgfx_texture_handle_t* _handles, bool _destroyTextures = false); 109 alias da_bgfx_destroy_frame_buffer = void function(bgfx_frame_buffer_handle_t _handle); 110 alias da_bgfx_create_uniform = bgfx_uniform_handle_t function(const char* _name, bgfx_uniform_type_t _type, uint16_t _num = 1); 111 alias da_bgfx_destroy_uniform = void function(bgfx_uniform_handle_t _handle); 112 alias da_bgfx_set_view_name = void function(uint8_t _id, const char* _name); 113 alias da_bgfx_set_view_rect = void function(uint8_t _id, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height); 114 alias da_bgfx_set_view_rect_mask = void function(uint32_t _viewMask, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height); 115 alias da_bgfx_set_view_scissor = void function(uint8_t _id, uint16_t _x = 0, uint16_t _y = 0, uint16_t _width = 0, uint16_t _height = 0); 116 alias da_bgfx_set_view_scissor_mask = void function(uint32_t _viewMask, uint16_t _x = 0, uint16_t _y = 0, uint16_t _width = 0, uint16_t _height = 0); 117 alias da_bgfx_set_view_clear = void function(uint8_t _id, uint8_t _flags, uint32_t _rgba = 0x000000ff, float _depth = 1.0f, uint8_t _stencil = 0); 118 alias da_bgfx_set_view_clear_mask = void function(uint32_t _viewMask, uint8_t _flags, uint32_t _rgba = 0x000000ff, float _depth = 1.0f, uint8_t _stencil = 0); 119 alias da_bgfx_set_view_seq = void function(uint8_t _id, bool _enabled); 120 alias da_bgfx_set_view_seq_mask = void function(uint32_t _viewMask, bool _enabled); 121 alias da_bgfx_set_view_frame_buffer = void function(uint8_t _id, bgfx_frame_buffer_handle_t _handle); 122 alias da_bgfx_set_view_frame_buffer_mask = void function(uint32_t _viewMask, bgfx_frame_buffer_handle_t _handle); 123 alias da_bgfx_set_view_transform = void function(uint8_t _id, const void* _view, const void* _proj); 124 alias da_bgfx_set_view_transform_mask = void function(uint32_t _viewMask, const void* _view, const void* _proj); 125 alias da_bgfx_set_marker = void function(const char* _marker); 126 alias da_bgfx_set_state = void function(uint64_t _state, uint32_t _rgba = 0); 127 alias da_bgfx_set_stencil = void function(uint32_t _fstencil, uint32_t _bstencil = BGFX_STENCIL_NONE); 128 alias da_bgfx_set_scissor = uint16_t function(uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height); 129 alias da_bgfx_set_scissor_cached = void function(uint16_t _cache = uint16_t.max); 130 alias da_bgfx_set_transform = uint32_t function(const void* _mtx, uint16_t _num = 1); 131 alias da_bgfx_set_transform_cached = void function(uint32_t _cache, uint16_t _num = 1); 132 alias da_bgfx_set_uniform = void function(bgfx_uniform_handle_t _handle, const void* _value, uint16_t _num = 1); 133 alias da_bgfx_set_index_buffer = void function(bgfx_index_buffer_handle_t _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = uint32_t.max); 134 alias da_bgfx_set_dynamic_index_buffer = void function(bgfx_dynamic_index_buffer_handle_t _handle, uint32_t _firstIndex = 0, uint32_t _numIndices = uint32_t.max); 135 alias da_bgfx_set_transient_index_buffer = void function(const bgfx_transient_index_buffer_t* _tib, uint32_t _firstIndex = 0, uint32_t _numIndices = uint32_t.max); 136 alias da_bgfx_set_vertex_buffer = void function(bgfx_vertex_buffer_handle_t _handle, uint32_t _startVertex = 0, uint32_t _numVertices = uint32_t.max); 137 alias da_bgfx_set_dynamic_vertex_buffer = void function(bgfx_dynamic_vertex_buffer_handle_t _handle, uint32_t _numVertices = uint32_t.max); 138 alias da_bgfx_set_transient_vertex_buffer = void function(const bgfx_transient_vertex_buffer_t* _tvb, uint32_t _startVertex = 0, uint32_t _numVertices = uint32_t.max); 139 alias da_bgfx_set_instance_data_buffer = void function(const bgfx_instance_data_buffer_t* _idb, uint16_t _num = uint16_t.max); 140 alias da_bgfx_set_program = void function(bgfx_program_handle_t _handle); 141 alias da_bgfx_set_texture = void function(uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_texture_handle_t _handle, uint32_t _flags = uint32_t.max); 142 alias da_bgfx_set_texture_from_frame_buffer = void function(uint8_t _stage, bgfx_uniform_handle_t _sampler, bgfx_frame_buffer_handle_t _handle, uint8_t _attachment = 0, uint32_t _flags = uint32_t.max); 143 alias da_bgfx_submit = uint32_t function(uint8_t _id, int32_t _depth = 0); 144 alias da_bgfx_submit_mask = uint32_t function(uint32_t _viewMask, int32_t _depth = 0); 145 alias da_bgfx_discard = void function(); 146 alias da_bgfx_save_screen_shot = void function(const char* _filePath); 147 148 // bgfxplatform.c99.h 149 150 alias da_bgfx_render_frame = bgfx_render_frame_t function(); 151 152 version (Android) 153 { 154 struct ANativeWindow; 155 alias da_bgfx_android_set_window = void function(ANativeWindow* _window); 156 } 157 version(linux) 158 { 159 struct Display; 160 alias da_bgfx_x11_set_display_window = void function(Display* _display, Window _window); 161 } 162 163 version(OSX) 164 { 165 alias da_bgfx_osx_set_ns_window = void function(void* _window); 166 } 167 168 version(Windows) 169 { 170 alias da_bgfx_win_set_hwnd = void function(HWND _window); 171 } 172 173 // TODO when iOS supported 174 //BGFX_C_API void bgfx_ios_set_eagl_layer(void* _layer); 175 } 176 177 __gshared 178 { 179 da_bgfx_vertex_decl_begin bgfx_vertex_decl_begin; 180 da_bgfx_vertex_decl_add bgfx_vertex_decl_add; 181 da_bgfx_vertex_decl_skip bgfx_vertex_decl_skip; 182 da_bgfx_vertex_decl_end bgfx_vertex_decl_end; 183 da_bgfx_vertex_pack bgfx_vertex_pack; 184 da_bgfx_vertex_unpack bgfx_vertex_unpack; 185 da_bgfx_vertex_convert bgfx_vertex_convert; 186 da_bgfx_weld_vertices bgfx_weld_vertices; 187 da_bgfx_image_swizzle_bgra8 bgfx_image_swizzle_bgra8; 188 da_bgfx_image_rgba8_downsample_2x2 bgfx_image_rgba8_downsample_2x2; 189 da_bgfx_get_supported_renderers bgfx_get_supported_renderers; 190 da_bgfx_get_renderer_name bgfx_get_renderer_name; 191 da_bgfx_init bgfx_init; 192 da_bgfx_shutdown bgfx_shutdown; 193 da_bgfx_reset bgfx_reset; 194 da_bgfx_frame bgfx_frame; 195 da_bgfx_get_renderer_type bgfx_get_renderer_type; 196 da_bgfx_get_caps bgfx_get_caps; 197 da_bgfx_alloc bgfx_alloc; 198 da_bgfx_copy bgfx_copy; 199 da_bgfx_make_ref bgfx_make_ref; 200 da_bgfx_set_debug bgfx_set_debug; 201 da_bgfx_dbg_text_clear bgfx_dbg_text_clear; 202 da_bgfx_dbg_text_printf bgfx_dbg_text_printf; 203 da_bgfx_create_index_buffer bgfx_create_index_buffer; 204 da_bgfx_destroy_index_buffer bgfx_destroy_index_buffer; 205 da_bgfx_create_vertex_buffer bgfx_create_vertex_buffer; 206 da_bgfx_destroy_vertex_buffer bgfx_destroy_vertex_buffer; 207 da_bgfx_create_dynamic_index_buffer bgfx_create_dynamic_index_buffer; 208 da_bgfx_create_dynamic_index_buffer_mem bgfx_create_dynamic_index_buffer_mem; 209 da_bgfx_update_dynamic_index_buffer bgfx_update_dynamic_index_buffer; 210 da_bgfx_destroy_dynamic_index_buffer bgfx_destroy_dynamic_index_buffer; 211 da_bgfx_create_dynamic_vertex_buffer bgfx_create_dynamic_vertex_buffer; 212 da_bgfx_create_dynamic_vertex_buffer_mem bgfx_create_dynamic_vertex_buffer_mem; 213 da_bgfx_update_dynamic_vertex_buffer bgfx_update_dynamic_vertex_buffer; 214 da_bgfx_destroy_dynamic_vertex_buffer bgfx_destroy_dynamic_vertex_buffer; 215 da_bgfx_check_avail_transient_index_buffer bgfx_check_avail_transient_index_buffer; 216 da_bgfx_check_avail_transient_vertex_buffer bgfx_check_avail_transient_vertex_buffer; 217 da_bgfx_check_avail_instance_data_buffer bgfx_check_avail_instance_data_buffer; 218 da_bgfx_check_avail_transient_buffers bgfx_check_avail_transient_buffers; 219 da_bgfx_alloc_transient_index_buffer bgfx_alloc_transient_index_buffer; 220 da_bgfx_alloc_transient_vertex_buffer bgfx_alloc_transient_vertex_buffer; 221 da_bgfx_alloc_transient_buffers bgfx_alloc_transient_buffers; 222 da_bgfx_alloc_instance_data_buffer bgfx_alloc_instance_data_buffer; 223 da_bgfx_create_shader bgfx_create_shader; 224 da_bgfx_get_shader_uniforms bgfx_get_shader_uniforms; 225 da_bgfx_destroy_shader bgfx_destroy_shader; 226 da_bgfx_create_program bgfx_create_program; 227 da_bgfx_destroy_program bgfx_destroy_program; 228 da_bgfx_calc_texture_size bgfx_calc_texture_size; 229 da_bgfx_create_texture bgfx_create_texture; 230 da_bgfx_create_texture_2d bgfx_create_texture_2d; 231 da_bgfx_create_texture_3d bgfx_create_texture_3d; 232 da_bgfx_create_texture_cube bgfx_create_texture_cube; 233 da_bgfx_update_texture_2d bgfx_update_texture_2d; 234 da_bgfx_update_texture_3d bgfx_update_texture_3d; 235 da_bgfx_update_texture_cube bgfx_update_texture_cube; 236 da_bgfx_destroy_texture bgfx_destroy_texture; 237 da_bgfx_create_frame_buffer bgfx_create_frame_buffer; 238 da_bgfx_create_frame_buffer_from_handles bgfx_create_frame_buffer_from_handles; 239 da_bgfx_destroy_frame_buffer bgfx_destroy_frame_buffer; 240 da_bgfx_create_uniform bgfx_create_uniform; 241 da_bgfx_destroy_uniform bgfx_destroy_uniform; 242 da_bgfx_set_view_name bgfx_set_view_name; 243 da_bgfx_set_view_rect bgfx_set_view_rect; 244 da_bgfx_set_view_rect_mask bgfx_set_view_rect_mask; 245 da_bgfx_set_view_scissor bgfx_set_view_scissor; 246 da_bgfx_set_view_scissor_mask bgfx_set_view_scissor_mask; 247 da_bgfx_set_view_clear bgfx_set_view_clear; 248 da_bgfx_set_view_clear_mask bgfx_set_view_clear_mask; 249 da_bgfx_set_view_seq bgfx_set_view_seq; 250 da_bgfx_set_view_seq_mask bgfx_set_view_seq_mask; 251 da_bgfx_set_view_frame_buffer bgfx_set_view_frame_buffer; 252 da_bgfx_set_view_frame_buffer_mask bgfx_set_view_frame_buffer_mask; 253 da_bgfx_set_view_transform bgfx_set_view_transform; 254 da_bgfx_set_view_transform_mask bgfx_set_view_transform_mask; 255 da_bgfx_set_marker bgfx_set_marker; 256 da_bgfx_set_state bgfx_set_state; 257 da_bgfx_set_stencil bgfx_set_stencil; 258 da_bgfx_set_scissor bgfx_set_scissor; 259 da_bgfx_set_scissor_cached bgfx_set_scissor_cached; 260 da_bgfx_set_transform bgfx_set_transform; 261 da_bgfx_set_transform_cached bgfx_set_transform_cached; 262 da_bgfx_set_uniform bgfx_set_uniform; 263 da_bgfx_set_index_buffer bgfx_set_index_buffer; 264 da_bgfx_set_dynamic_index_buffer bgfx_set_dynamic_index_buffer; 265 da_bgfx_set_transient_index_buffer bgfx_set_transient_index_buffer; 266 da_bgfx_set_vertex_buffer bgfx_set_vertex_buffer; 267 da_bgfx_set_dynamic_vertex_buffer bgfx_set_dynamic_vertex_buffer; 268 da_bgfx_set_transient_vertex_buffer bgfx_set_transient_vertex_buffer; 269 da_bgfx_set_instance_data_buffer bgfx_set_instance_data_buffer; 270 da_bgfx_set_program bgfx_set_program; 271 da_bgfx_set_texture bgfx_set_texture; 272 da_bgfx_set_texture_from_frame_buffer bgfx_set_texture_from_frame_buffer; 273 da_bgfx_submit bgfx_submit; 274 da_bgfx_submit_mask bgfx_submit_mask; 275 da_bgfx_discard bgfx_discard; 276 da_bgfx_save_screen_shot bgfx_save_screen_shot; 277 278 da_bgfx_render_frame bgfx_render_frame; 279 280 version (Android) 281 { 282 da_bgfx_android_set_window bgfx_android_set_window; 283 } 284 version(linux) 285 { 286 da_bgfx_x11_set_display_window bgfx_x11_set_display_window; 287 } 288 289 version(OSX) 290 { 291 da_bgfx_osx_set_ns_window bgfx_osx_set_ns_window; 292 } 293 294 version(Windows) 295 { 296 da_bgfx_win_set_hwnd bgfx_win_set_hwnd; 297 } 298 }