#include <GLFW/glfw3.h>
#include "bx/bx.h"
#include "bgfx/bgfx.h"
#include "bgfx/platform.h"
#define GLFW_EXPOSE_NATIVE_WIN32
#include "GLFW/glfw3native.h"
#define WIDTH 1200
#define HEIGHT 800
int main(int argc, char* argv[]) {
if (!glfwInit())
return 1;
GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "bgfx 3d graphics library", NULL, NULL);
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
bgfx::Init init;
init.platformData.nwh = glfwGetWin32Window(window);
int width, height;
glfwGetWindowSize(window, &width, &height);
init.resolution.width = WIDTH;
init.resolution.height = HEIGHT;
init.resolution.reset = BGFX_RESET_VSYNC;
if (!bgfx::init(init))
return 1;
const bgfx::ViewId kClearView = 0;
bgfx::setViewClear(0, BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH, 0x33AA55FF, 1.0f, 0);
bgfx::setViewRect(kClearView, 0, 0, WIDTH, HEIGHT);
bgfx::touch(0);
static bool s_showStats = false;
while (!glfwWindowShouldClose(window)) {
glfwPollEvents();
bgfx::dbgTextClear();
bgfx::dbgTextPrintf(0, 0, 0x0f, "bgfx - Cross-platform rendering library");
bgfx::setDebug(s_showStats ? BGFX_DEBUG_STATS : BGFX_DEBUG_TEXT);
bgfx::frame();
}
bgfx::shutdown();
glfwTerminate();
return 0;
}