X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=examples%2F01.HelloWorld.scm;h=b480c8934ccbac60ffc0361d3b2253e08649a58d;hb=db41186ef83fe5def23e3eacfbcea9248adf700e;hp=8ad550d4d2cf74659b3069d10922056cb2f7a246;hpb=c0cf88d754a6df204df73d4d043905a2760cfb85;p=guile-irrlicht.git diff --git a/examples/01.HelloWorld.scm b/examples/01.HelloWorld.scm index 8ad550d..b480c89 100644 --- a/examples/01.HelloWorld.scm +++ b/examples/01.HelloWorld.scm @@ -25,7 +25,10 @@ (use-modules (irrlicht)) ;; start up the engine -(define device (create-device 'software '(640 480) 16 #f #f #f)) +(define device + (create-device + #:device-type 'software + #:window-size '(640 480))) (when (not device) (exit #f)) @@ -36,17 +39,34 @@ (define gui-env (get-gui-environment device)) ;; static text -(add-static-text! gui-env - "Hello World! This is the Irrlicht Software renderer!" - '(10 10 260 22) - #t) +(add-static-text! + gui-env + "Hello World! This is the Irrlicht Software renderer!" + '(10 10 260 22) + #:border #t) + +;; load a Quake2 model +(define mesh (get-mesh scene-manager "media/sydney.md2")) +(when (not mesh) + (drop! device) + (exit #f)) + +(define node (add-animated-mesh-scene-node! scene-manager mesh)) +(when node + (set-material-flag! node 'lighting #f) + (set-md2-animation! node 'stand) + (set-material-texture! node 0 (get-texture driver "media/sydney.bmp"))) + +;; place camera +(add-camera-scene-node! scene-manager #:position '(0 30 -40) #:lookat '(0 5 0)) ;; draw everything -(while (device-run? device) - (begin-scene driver #t #t '(255 100 101 140)) - (gui-draw-all gui-env) +(while (run device) + (begin-scene driver #:color '(255 100 101 140)) + (draw-all scene-manager) + (draw-all gui-env) (end-scene driver)) ;; delete device -(device-drop! device) +(drop! device) (exit #t)