From 0e699be281c8dea53e589e08a5831837e0eae7ea Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 7 Oct 2021 20:17:50 -0400 Subject: Updates for Chickadee 0.8.0 and Guile-SDL2 0.7.0. --- manuals/chickadee/3D-Models.html | 157 --------------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 manuals/chickadee/3D-Models.html (limited to 'manuals/chickadee/3D-Models.html') diff --git a/manuals/chickadee/3D-Models.html b/manuals/chickadee/3D-Models.html deleted file mode 100644 index 6d0f7c7..0000000 --- a/manuals/chickadee/3D-Models.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -3D Models (The Chickadee Game Toolkit) - - - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Graphics   [Contents][Index]

-
-
-

2.3.9 3D Models

- -

Disclaimer: Chickadee is alpha software, but 3D model support is -even more alpha than that. There are many missing features in both -the model loading and rendering components, so set your expectations -accordingly! -

-

Chickadee can load and render 3D models in the classic OBJ and more -modern glTF 2.0 formats. -

-

Here’s some basic boilerplate to render a 3D model: -

-
-
(use-modules (chickadee)
-             (chickadee math)
-             (chickadee math matrix)
-             (chickadee graphics model))
-
-(define model #f)
-(define projection-matrix
-  (perspective-projection (/ pi 3.0) (/ 4.0 3.0) 0.1 500.0))
-;; Adjust these 2 matrices so that you can actually see the model.
-(define view-matrix (make-identity-matrix4))
-(define model-matrix (make-identity-matrix4))
-
-(define (load)
-  (set! model (load-obj "model.obj"))
-
-(define (draw alpha)
-  (with-projection projection-matrix
-    (with-depth-test #t
-      (draw-model model model-matrix view-matrix))))
-
-(run-game #:load load #:draw draw)
-
- -
-
Procedure: load-obj file-name
-

Load the OBJ formatted model in file-name and return a 3D model -object. -

-

OBJ models are rendered using a Phong lighting model, which is a -work-in-progress. -

- -
-
Procedure: load-gltf file-name
-

Load the glTF 2.0 formatted model in file-name and return a 3D -model object. -

-

glTF models are rendered using a physically based lighting model, -which is currently a stub to be implemented later. -

- -
-
Procedure: model? obj
-

Return #t if obj is a 3D model. -

- -
-
Procedure: draw-model model model-matrix view-matrix
-

Render model with the transformation matrices model-matrix -and view-matrix applied. -

- - - - - - -- cgit v1.2.3