Skip to content

Commit 1fb1e36

Browse files
committed
Add SDL example
1 parent 2f5880e commit 1fb1e36

File tree

4 files changed

+498
-63
lines changed

4 files changed

+498
-63
lines changed

Makefile

+10-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ BXSRC = ../bx
44
BIMGSRC = ../bimg
55
LUAINC = -I/usr/local/include
66
LUALIB = -L/usr/local/bin -llua54
7+
SDLINC = -I../SDL/include
8+
SDLLIB = -Lbin -lSDL2
79

810
CC= gcc
911
CXX = g++
1012
CFLAGS = -g -Wall -DBX_CONFIG_DEBUG=1
1113

14+
.PHONY : all math sdlwnd
15+
1216
all :
1317

1418
# bgfx
@@ -44,6 +48,11 @@ bin/bgfx.dll : $(ODIR)/luabgfx.o $(ODIR)/luabgfxutil.o $(ODIR)/luabgfximgui.o $(
4448
math :
4549
cd math3d && $(MAKE) OUTPUT=../bin/
4650

51+
sdlwnd : bin/sdlwnd.dll
52+
53+
bin/sdlwnd.dll : sdlwnd.c
54+
$(CC) $(CFLAGS) --shared -o $@ $^ $(SDLINC) $(SDLLIB) $(LUAINC) $(LUALIB)
55+
4756
bin/math3d.dll : | bin
4857
cd math3d && $(MAKE) OUTPUT=../bin/
4958

@@ -55,4 +64,4 @@ $(ODIR) :
5564
mkdir $@
5665

5766
clean :
58-
rm -rf $(ODIR) && rm -f bin/bgfx.dll bin/math3d.dll
67+
rm -rf $(ODIR) && rm -f bin/bgfx.dll bin/math3d.dll bin/sdlwnd.dll

luabgfx.c

+9
Original file line numberDiff line numberDiff line change
@@ -1201,6 +1201,14 @@ lframe(lua_State *L) {
12011201
return 1;
12021202
}
12031203

1204+
static int
1205+
lrenderFrame(lua_State *L) {
1206+
int msecs = luaL_optinteger(L, 1, -1);
1207+
bgfx_render_frame_t status = bgfx_render_frame(msecs);
1208+
lua_pushinteger(L, status);
1209+
return 1;
1210+
}
1211+
12041212
static int
12051213
lsetDebug(lua_State *L) {
12061214
const char *flags = luaL_checkstring(L, 1);
@@ -5389,6 +5397,7 @@ luaopen_bgfx(lua_State *L) {
53895397

53905398
{ "reset", lreset },
53915399
{ "frame", lframe },
5400+
{ "render_frame", lrenderFrame },
53925401
{ "set_debug", lsetDebug },
53935402
{ "set_name", lsetName },
53945403

testsdl.lua

+310
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
package.loadlib("bin/SDL2.dll", "*")
2+
package.cpath = "bin/?.dll"
3+
4+
SDL = true
5+
6+
local bgfx = require "bgfx"
7+
local util = require "util"
8+
local math3d = require "math3d"
9+
10+
local s_logo = "\z
11+
\xdc\x03\xdc\x03\xdc\x03\xdc\x03\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
12+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
13+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xdc\x08\z
14+
\xdc\x03\xdc\x07\xdc\x07\xdc\x08\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
15+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
16+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
17+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
18+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
19+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
20+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
21+
\xde\x03\xb0\x3b\xb1\x3b\xb2\x3b\xdb\x3b\x20\x0f\x20\x0f\x20\x0f\z
22+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
23+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xdc\x03\xb1\x3b\xb2\x3b\z
24+
\xdb\x3b\xdf\x03\xdf\x3b\xb2\x3f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
25+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
26+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
27+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
28+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
29+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
30+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
31+
\x20\x0f\xb1\x3b\xb1\x3b\xb2\x3b\xb2\x3f\x20\x0f\x20\x0f\x20\x0f\z
32+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
33+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xb1\x3b\xb1\x3b\xb2\x3b\z
34+
\xb2\x3f\x20\x0f\x20\x0f\xdf\x03\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
35+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
36+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
37+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
38+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
39+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
40+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
41+
\x20\x0f\xb1\x3b\xb1\x3b\xb1\x3b\xb1\x3f\xdc\x0b\xdc\x03\xdc\x03\z
42+
\xdc\x03\xdc\x03\x20\x0f\x20\x0f\xdc\x08\xdc\x03\xdc\x03\xdc\x03\z
43+
\xdc\x03\xdc\x03\xdc\x03\xdc\x08\x20\x0f\xb1\x3b\xb1\x3b\xb1\x3b\z
44+
\xb1\x3f\xb1\x3f\xb2\x0b\x20\x0f\x20\x0f\xdc\x03\xdc\x03\xdc\x03\z
45+
\x20\x0f\x20\x0f\xdc\x03\xdc\x03\xdc\x03\x20\x0f\x20\x01\x20\x0f\z
46+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
47+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
48+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
49+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
50+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
51+
\x20\x0f\xb2\x3b\xb1\x3b\xb0\x3b\xb0\x3f\x20\x0f\xde\x03\xb0\x3f\z
52+
\xb1\x3f\xb2\x3f\xdd\x03\xde\x03\xdb\x03\xdb\x03\xb2\x3f\x20\x0f\z
53+
\x20\x0f\xb0\x3f\xb1\x3f\xb2\x3f\xde\x38\xb2\x3b\xb1\x3b\xb0\x3b\z
54+
\xb0\x3f\x20\x0f\x20\x0f\x20\x0f\xb0\x3b\xb1\x3b\xb2\x3b\xb2\x3f\z
55+
\xdd\x03\xde\x03\xb0\x3f\xb1\x3f\xb2\x3f\xdd\x03\x20\x01\x20\x0f\z
56+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
57+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
58+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
59+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
60+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
61+
\x20\x0f\xb2\x3b\xb1\x3b\xb0\x3b\xb0\x3f\x20\x0f\x20\x0f\xdb\x03\z
62+
\xb0\x3f\xb1\x3f\xdd\x03\xb1\x3b\xb0\x3b\xdb\x03\xb1\x3f\x20\x0f\z
63+
\x20\x0f\x20\x3f\xb0\x3f\xb1\x3f\xb0\x3b\xb2\x3b\xb1\x3b\xb0\x3b\z
64+
\xb0\x3f\x20\x0f\x20\x0f\x20\x0f\xdc\x08\xdc\x3b\xb1\x3b\xb1\x3f\z
65+
\xb1\x3b\xb0\x3b\xb2\x3b\xb0\x3f\xdc\x03\x20\x0f\x20\x01\x20\x0f\z
66+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
67+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
68+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
69+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
70+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
71+
\x20\x0f\xb2\x3b\xb1\x3b\xb0\x3b\xb0\x3f\xdc\x0b\xdc\x07\xdb\x03\z
72+
\xdb\x03\xdc\x38\x20\x0f\xdf\x03\xb1\x3b\xb0\x3b\xb0\x3f\xdc\x03\z
73+
\xdc\x07\xb0\x3f\xb1\x3f\xb2\x3f\xdd\x3b\xb2\x3b\xb1\x3b\xdc\x78\z
74+
\xdf\x08\x20\x0f\x20\x0f\xde\x08\xb2\x3b\xb1\x3b\xb0\x3b\xb0\x3f\z
75+
\x20\x0f\xdf\x03\xb1\x3b\xb2\x3b\xdb\x03\xdd\x03\x20\x01\x20\x0f\z
76+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
77+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
78+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
79+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
80+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
81+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
82+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xdc\x08\xdc\x08\xdc\x08\x20\x0f\z
83+
\x20\x0f\xb0\x3f\xb0\x3f\xb1\x3f\xdd\x3b\xdb\x0b\xdf\x03\x20\x0f\z
84+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xdf\x08\xdf\x03\xdf\x03\xdf\x08\z
85+
\x20\x0f\x20\x0f\xdf\x08\xdf\x03\xdf\x03\x20\x0f\x20\x01\x20\x0f\z
86+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
87+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
88+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
89+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
90+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
91+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
92+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\xdb\x08\xb2\x38\xb1\x38\xdc\x03\z
93+
\xdc\x07\xb0\x3b\xb1\x3b\xdf\x3b\xdf\x08\x20\x0f\x20\x0f\x20\x0f\z
94+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
95+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
96+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
97+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
98+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
99+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
100+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
101+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
102+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
103+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
104+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0b\z
105+
\x20\x0b\x20\x0b\x20\x0b\x20\x0b\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
106+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
107+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
108+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
109+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
110+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
111+
\x2d\x08\x3d\x08\x20\x0a\x43\x0b\x72\x0b\x6f\x0b\x73\x0b\x73\x0b\z
112+
\x2d\x0b\x70\x0b\x6c\x0b\x61\x0b\x74\x0b\x66\x0b\x6f\x0b\x72\x0b\z
113+
\x6d\x0b\x20\x0b\x72\x0b\x65\x0b\x6e\x0b\x64\x0b\x65\x0b\x72\x0b\z
114+
\x69\x0b\x6e\x0b\x67\x0b\x20\x0b\x6c\x0b\x69\x0b\x62\x0b\x72\x0b\z
115+
\x61\x0b\x72\x0b\x79\x0b\x20\x0f\x3d\x08\x2d\x08\x20\x01\x20\x0f\z
116+
\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\z
117+
\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\z
118+
\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\z
119+
\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\z
120+
\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\x20\x0a\z
121+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
122+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
123+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
124+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
125+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
126+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
127+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
128+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
129+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
130+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
131+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
132+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
133+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
134+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
135+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
136+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
137+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
138+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
139+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
140+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
141+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
142+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
143+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
144+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
145+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
146+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
147+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
148+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
149+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
150+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
151+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
152+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
153+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
154+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
155+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
156+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
157+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
158+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
159+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
160+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
161+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
162+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
163+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
164+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
165+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
166+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
167+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
168+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
169+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
170+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
171+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
172+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
173+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
174+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
175+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
176+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
177+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
178+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
179+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
180+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
181+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
182+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
183+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
184+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
185+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
186+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
187+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
188+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
189+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
190+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
191+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
192+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
193+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
194+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
195+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
196+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
197+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
198+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
199+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
200+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
201+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
202+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
203+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
204+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
205+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
206+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
207+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
208+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
209+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
210+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
211+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
212+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
213+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
214+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
215+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
216+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
217+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
218+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
219+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
220+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
221+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
222+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
223+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
224+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
225+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
226+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
227+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
228+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
229+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
230+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
231+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
232+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
233+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
234+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
235+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
236+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
237+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
238+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
239+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
240+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
241+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
242+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
243+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
244+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
245+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
246+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
247+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
248+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
249+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
250+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
251+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
252+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
253+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
254+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
255+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
256+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
257+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
258+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
259+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
260+
\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\x20\x0f\z
261+
"
262+
263+
local ctx = {
264+
stats = {},
265+
loglevel = 3,
266+
title = "SDL-helloworld",
267+
width = 640,
268+
height = 480,
269+
fps = 60,
270+
resizeable = true,
271+
}
272+
273+
function ctx.init()
274+
bgfx.set_view_clear(0, "CD", 0x303030ff, 1, 0)
275+
bgfx.set_debug "T"
276+
end
277+
278+
function ctx.resize(w,h)
279+
bgfx.set_view_rect(0, 0, 0, w, h)
280+
bgfx.reset(w,h, "v")
281+
ctx.width = w
282+
ctx.height = h
283+
end
284+
285+
local function mainloop()
286+
bgfx.touch(0)
287+
288+
bgfx.dbg_text_clear()
289+
bgfx.dbg_text_image(math.max(ctx.width //2//8 , 20)-20
290+
, math.max(ctx.height//2//16, 6)-6
291+
, 40
292+
, 12
293+
, s_logo
294+
, 160
295+
)
296+
297+
bgfx.dbg_text_print(0, 1, 0xf, "Color can be changed with ANSI \x1b[9;me\x1b[10;ms\x1b[11;mc\x1b[12;ma\x1b[13;mp\x1b[14;me\x1b[0m code too.");
298+
local stats = bgfx.get_stats("sd",ctx.stats)
299+
bgfx.dbg_text_print(0, 2, 0x0f, string.format("Backbuffer %dW x %dH in pixels, debug text %dW x %dH in characters."
300+
, stats.width
301+
, stats.height
302+
, stats.textWidth
303+
, stats.textHeight
304+
))
305+
bgfx.frame()
306+
end
307+
308+
util.init(ctx)
309+
310+
util.run(mainloop)

0 commit comments

Comments
 (0)