The cepl.camera Reference Manual

This is the cepl.camera Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:51:10 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cepl.camera

A camera implementation for CEPL

Author

Chris Bagley <>

License

BSD 2 Clause

Dependencies
  • cepl (system).
  • rtg-math (system).
  • cepl.spaces (system).
Source

cepl.camera.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cepl.camera/cepl.camera.asd

Source

cepl.camera.asd.

Parent Component

cepl.camera (system).

ASDF Systems

cepl.camera.


3.1.2 cepl.camera/package.lisp

Source

cepl.camera.asd.

Parent Component

cepl.camera (system).

Packages

3.1.3 cepl.camera/generics.lisp

Dependency

package.lisp (file).

Source

cepl.camera.asd.

Parent Component

cepl.camera (system).

Public Interface

3.1.4 cepl.camera/base-camera.lisp

Dependency

generics.lisp (file).

Source

cepl.camera.asd.

Parent Component

cepl.camera (system).

Public Interface
Internals

3.1.5 cepl.camera/camera.lisp

Dependency

base-camera.lisp (file).

Source

cepl.camera.asd.

Parent Component

cepl.camera (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 cepl.camera.generics

Source

package.lisp.

Use List
  • cepl.
  • cepl.spaces.
  • common-lisp.
  • vari.
  • varjo.
Used By List
Public Interface

4.2 cepl.camera.base

Source

package.lisp.

Use List
Used By List

cepl.camera.

Public Interface
Internals

4.3 cepl.camera

Source

package.lisp.

Use List
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Macros

Macro: using-camera (camera &body body)
Package

cepl.camera.

Source

camera.lisp.

Macro: with-base-camera (slots cam &body body)
Package

cepl.camera.base.

Source

base-camera.lisp.


5.1.2 Ordinary functions

Function: camera-dimensions (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: (setf camera-dimensions) (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: camera-fov (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: (setf camera-fov) (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: camera-pos (camera)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf camera-pos) (camera)
Package

cepl.camera.

Source

camera.lisp.

Function: camera-resolution (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: (setf camera-resolution) (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: camera-rot (camera)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf camera-rot) (camera)
Package

cepl.camera.

Source

camera.lisp.

Function: camera-viewport (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: make-base-camera (&key viewport projection near in-space far fov)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: make-camera (&key pos rot viewport in-space projection near far fov)
Package

cepl.camera.

Source

camera.lisp.

Function: update-cam->clip (base-camera)
Package

cepl.camera.base.

Source

base-camera.lisp.


5.1.3 Generic functions

Generic Function: cam->clip (camera)
Package

cepl.camera.generics.

Source

generics.lisp.

Methods
Method: cam->clip ((camera base-camera))
Source

base-camera.lisp.

Generic Function: fov (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Methods
Method: fov ((camera base-camera))
Generic Function: (setf fov) (camera)
Package

cepl.camera.base.

Source

base-camera.lisp.

Methods
Method: (setf fov) ((camera base-camera))
Generic Function: x->cam (camera)
Package

cepl.camera.generics.

Source

generics.lisp.

Methods
Method: x->cam ((camera camera))
Source

camera.lisp.


5.1.4 Standalone methods

Method: (setf dimensions) ((camera base-camera))
Package

cepl.measurements.

Source

base-camera.lisp.

Method: dimensions ((camera base-camera))
Package

cepl.measurements.

Source

base-camera.lisp.

Method: print-object ((cam camera) stream)
Source

camera.lisp.

Method: (setf resolution) ((camera base-camera))
Package

cepl.measurements.

Source

base-camera.lisp.

Method: resolution ((camera base-camera))
Package

cepl.measurements.

Source

base-camera.lisp.

Method: (setf viewport) ((camera base-camera))
Package

%cepl.types.

Source

base-camera.lisp.

Method: viewport ((camera base-camera))
Package

%cepl.types.

Source

base-camera.lisp.


5.1.5 Structures

Structure: base-camera
Package

cepl.camera.base.

Source

base-camera.lisp.

Direct superclasses

structure-object.

Direct subclasses

camera.

Direct methods
Direct slots
Slot: viewport
Package

%cepl.types.

Type

%cepl.types:viewport

Initform

(error "viewport must be supplied when making a camera")

Readers

base-camera-viewport.

Writers

(setf base-camera-viewport).

Slot: space
Package

common-lisp.

Type

cepl.spaces:vec-space

Initform

(error "cepl: bug in cepl, space not provided when space-camera was created")

Readers

base-camera-space.

Writers

(setf base-camera-space).

Slot: perspective
Type

boolean

Initform

t

Readers

base-camera-perspective.

Writers

(setf base-camera-perspective).

Slot: in-space
Type

(or null cepl.spaces:vec-space)

Readers

base-camera-in-space.

Writers

(setf base-camera-in-space).

Slot: near
Package

vari.glsl.

Type

single-float

Initform

1.0

Readers

base-camera-near.

Writers

(setf base-camera-near).

Slot: far
Package

vari.glsl.

Type

single-float

Initform

1.0

Readers

base-camera-far.

Writers

(setf base-camera-far).

Slot: fov
Type

single-float

Initform

90.0

Readers

base-camera-fov.

Writers

(setf base-camera-fov).

Structure: camera
Package

cepl.camera.

Source

camera.lisp.

Direct superclasses

base-camera.

Direct methods
Direct slots
Slot: uid
Type

fixnum

Initform

(incf cepl.camera::*uids*)

Readers

%camera-uid.

Writers

(setf %camera-uid).

Slot: pos
Package

cepl.types.predefined.

Type

glsl-symbols.types:vec3

Initform

(rtg-math.base-vectors:v! 0 0 0)

Readers

%camera-pos.

Writers

(setf %camera-pos).

Slot: rot
Type

rtg-math.types:quaternion

Initform

(rtg-math.quaternions:identity)

Readers

%camera-rot.

Writers

(setf %camera-rot).


5.2 Internals


5.2.1 Special variables

Special Variable: *uids*
Package

cepl.camera.

Source

camera.lisp.


5.2.2 Ordinary functions

Function: %camera-far (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-far) (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: %camera-fov (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-fov) (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: %camera-in-space (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-in-space) (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: %camera-near (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-near) (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: %camera-perspective (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-perspective) (instance)
Package

cepl.camera.

Source

camera.lisp.

Reader: %camera-pos (instance)
Writer: (setf %camera-pos) (instance)
Package

cepl.camera.

Source

camera.lisp.

Target Slot

pos.

Reader: %camera-rot (instance)
Writer: (setf %camera-rot) (instance)
Package

cepl.camera.

Source

camera.lisp.

Target Slot

rot.

Function: %camera-space (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-space) (instance)
Package

cepl.camera.

Source

camera.lisp.

Reader: %camera-uid (instance)
Writer: (setf %camera-uid) (instance)
Package

cepl.camera.

Source

camera.lisp.

Target Slot

uid.

Function: %camera-viewport (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: (setf %camera-viewport) (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: %make-base-camera (&key viewport space perspective in-space near far fov)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: %make-camera (&key viewport space perspective in-space near far fov uid pos rot)
Package

cepl.camera.

Source

camera.lisp.

Reader: base-camera-far (instance)
Writer: (setf base-camera-far) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

far.

Reader: base-camera-fov (instance)
Writer: (setf base-camera-fov) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

fov.

Reader: base-camera-in-space (instance)
Writer: (setf base-camera-in-space) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

in-space.

Reader: base-camera-near (instance)
Writer: (setf base-camera-near) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

near.

Function: base-camera-p (object)
Package

cepl.camera.base.

Source

base-camera.lisp.

Reader: base-camera-perspective (instance)
Writer: (setf base-camera-perspective) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

perspective.

Reader: base-camera-space (instance)
Writer: (setf base-camera-space) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

space.

Reader: base-camera-viewport (instance)
Writer: (setf base-camera-viewport) (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Target Slot

viewport.

Function: camera-p (object)
Package

cepl.camera.

Source

camera.lisp.

Function: copy-base-camera (instance)
Package

cepl.camera.base.

Source

base-camera.lisp.

Function: copy-camera (instance)
Package

cepl.camera.

Source

camera.lisp.

Function: update-x->cam (camera)
Package

cepl.camera.

Source

camera.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
B   C   D   F   G   M   P   R   U   V   W   X  
Index Entry  Section

%
%camera-far: Private ordinary functions
%camera-fov: Private ordinary functions
%camera-in-space: Private ordinary functions
%camera-near: Private ordinary functions
%camera-perspective: Private ordinary functions
%camera-pos: Private ordinary functions
%camera-rot: Private ordinary functions
%camera-space: Private ordinary functions
%camera-uid: Private ordinary functions
%camera-viewport: Private ordinary functions
%make-base-camera: Private ordinary functions
%make-camera: Private ordinary functions

(
(setf %camera-far): Private ordinary functions
(setf %camera-fov): Private ordinary functions
(setf %camera-in-space): Private ordinary functions
(setf %camera-near): Private ordinary functions
(setf %camera-perspective): Private ordinary functions
(setf %camera-pos): Private ordinary functions
(setf %camera-rot): Private ordinary functions
(setf %camera-space): Private ordinary functions
(setf %camera-uid): Private ordinary functions
(setf %camera-viewport): Private ordinary functions
(setf base-camera-far): Private ordinary functions
(setf base-camera-fov): Private ordinary functions
(setf base-camera-in-space): Private ordinary functions
(setf base-camera-near): Private ordinary functions
(setf base-camera-perspective): Private ordinary functions
(setf base-camera-space): Private ordinary functions
(setf base-camera-viewport): Private ordinary functions
(setf camera-dimensions): Public ordinary functions
(setf camera-fov): Public ordinary functions
(setf camera-pos): Public ordinary functions
(setf camera-resolution): Public ordinary functions
(setf camera-rot): Public ordinary functions
(setf dimensions): Public standalone methods
(setf fov): Public generic functions
(setf fov): Public generic functions
(setf resolution): Public standalone methods
(setf viewport): Public standalone methods

B
base-camera-far: Private ordinary functions
base-camera-fov: Private ordinary functions
base-camera-in-space: Private ordinary functions
base-camera-near: Private ordinary functions
base-camera-p: Private ordinary functions
base-camera-perspective: Private ordinary functions
base-camera-space: Private ordinary functions
base-camera-viewport: Private ordinary functions

C
cam->clip: Public generic functions
cam->clip: Public generic functions
camera-dimensions: Public ordinary functions
camera-fov: Public ordinary functions
camera-p: Private ordinary functions
camera-pos: Public ordinary functions
camera-resolution: Public ordinary functions
camera-rot: Public ordinary functions
camera-viewport: Public ordinary functions
copy-base-camera: Private ordinary functions
copy-camera: Private ordinary functions

D
dimensions: Public standalone methods

F
fov: Public generic functions
fov: Public generic functions
Function, %camera-far: Private ordinary functions
Function, %camera-fov: Private ordinary functions
Function, %camera-in-space: Private ordinary functions
Function, %camera-near: Private ordinary functions
Function, %camera-perspective: Private ordinary functions
Function, %camera-pos: Private ordinary functions
Function, %camera-rot: Private ordinary functions
Function, %camera-space: Private ordinary functions
Function, %camera-uid: Private ordinary functions
Function, %camera-viewport: Private ordinary functions
Function, %make-base-camera: Private ordinary functions
Function, %make-camera: Private ordinary functions
Function, (setf %camera-far): Private ordinary functions
Function, (setf %camera-fov): Private ordinary functions
Function, (setf %camera-in-space): Private ordinary functions
Function, (setf %camera-near): Private ordinary functions
Function, (setf %camera-perspective): Private ordinary functions
Function, (setf %camera-pos): Private ordinary functions
Function, (setf %camera-rot): Private ordinary functions
Function, (setf %camera-space): Private ordinary functions
Function, (setf %camera-uid): Private ordinary functions
Function, (setf %camera-viewport): Private ordinary functions
Function, (setf base-camera-far): Private ordinary functions
Function, (setf base-camera-fov): Private ordinary functions
Function, (setf base-camera-in-space): Private ordinary functions
Function, (setf base-camera-near): Private ordinary functions
Function, (setf base-camera-perspective): Private ordinary functions
Function, (setf base-camera-space): Private ordinary functions
Function, (setf base-camera-viewport): Private ordinary functions
Function, (setf camera-dimensions): Public ordinary functions
Function, (setf camera-fov): Public ordinary functions
Function, (setf camera-pos): Public ordinary functions
Function, (setf camera-resolution): Public ordinary functions
Function, (setf camera-rot): Public ordinary functions
Function, base-camera-far: Private ordinary functions
Function, base-camera-fov: Private ordinary functions
Function, base-camera-in-space: Private ordinary functions
Function, base-camera-near: Private ordinary functions
Function, base-camera-p: Private ordinary functions
Function, base-camera-perspective: Private ordinary functions
Function, base-camera-space: Private ordinary functions
Function, base-camera-viewport: Private ordinary functions
Function, camera-dimensions: Public ordinary functions
Function, camera-fov: Public ordinary functions
Function, camera-p: Private ordinary functions
Function, camera-pos: Public ordinary functions
Function, camera-resolution: Public ordinary functions
Function, camera-rot: Public ordinary functions
Function, camera-viewport: Public ordinary functions
Function, copy-base-camera: Private ordinary functions
Function, copy-camera: Private ordinary functions
Function, make-base-camera: Public ordinary functions
Function, make-camera: Public ordinary functions
Function, update-cam->clip: Public ordinary functions
Function, update-x->cam: Private ordinary functions

G
Generic Function, (setf fov): Public generic functions
Generic Function, cam->clip: Public generic functions
Generic Function, fov: Public generic functions
Generic Function, x->cam: Public generic functions

M
Macro, using-camera: Public macros
Macro, with-base-camera: Public macros
make-base-camera: Public ordinary functions
make-camera: Public ordinary functions
Method, (setf dimensions): Public standalone methods
Method, (setf fov): Public generic functions
Method, (setf resolution): Public standalone methods
Method, (setf viewport): Public standalone methods
Method, cam->clip: Public generic functions
Method, dimensions: Public standalone methods
Method, fov: Public generic functions
Method, print-object: Public standalone methods
Method, resolution: Public standalone methods
Method, viewport: Public standalone methods
Method, x->cam: Public generic functions

P
print-object: Public standalone methods

R
resolution: Public standalone methods

U
update-cam->clip: Public ordinary functions
update-x->cam: Private ordinary functions
using-camera: Public macros

V
viewport: Public standalone methods

W
with-base-camera: Public macros

X
x->cam: Public generic functions
x->cam: Public generic functions