initializing SDL and polling events
[eraytracer.git] / raytracer.erl
blobe9860032bc12c90c7b48a73d99d8a71c81b35adb
1 -module(raytracer).
2 -include_lib("esdl/include/sdl.hrl").
3 -include_lib("esdl/include/sdl_video.hrl").
4 -include_lib("esdl/include/sdl_events.hrl").
5 -export([go/0]).
7 go() ->
8 go([]).
9 go(Config) ->
10 sdl:init(?SDL_INIT_VIDEO),
11 %sdl_util:debug(1),
13 Flags = case lists:member(fullscreen, Config) of
14 true ->
15 ?SDL_ANYFORMAT bor ?SDL_FULLSCREEN bor ?SDL_RESIZABLE;
16 _ ->
17 ?SDL_ANYFORMAT bor ?SDL_RESIZABLE
18 end,
19 ScreenRef = sdl_video:setVideoMode(640, 480, 32, Flags),
20 %io:format("Video Driver Name: ~s~n", [sdl_video:videoDriverName()]),
21 Screen=sdl_video:getSurface(ScreenRef),
22 {R1, R2, R3} = erlang:now(),
23 random:seed(R1, R2, R3),
24 main_loop(),
25 timer:sleep(1000),
26 sdl:quit().
28 main_loop() ->
29 Event = sdl_events:pollEvent(),
31 case Event of
32 {quit} ->
33 done;
34 _Else ->
35 timer:sleep(100),
36 main_loop()
37 end.