This is the shadow Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:41:24 2024 GMT+0.
shadow/shadow.asd
shadow/package.lisp
shadow/shadow.lisp
shadow/common.lisp
shadow/functions.lisp
shadow/stages.lisp
shadow/program.lisp
shadow/packing.lisp
shadow/attributes.lisp
shadow/uniforms.lisp
shadow/layout.lisp
shadow/blocks.lisp
shadow/buffers.lisp
shadow/glsl.lisp
The main system appears first, followed by any subsystem dependency.
shadow
A management system for OpenGL shader programs and associated buffer objects.
Michael Fiano <mail@mfiano.net>
MIT
cffi
(system).
cl-opengl
(system).
glsl-packing
(system).
mfiano-utils
(system).
static-vectors
(system).
varjo
(system).
package.lisp
(file).
shadow.lisp
(file).
common.lisp
(file).
functions.lisp
(file).
stages.lisp
(file).
program.lisp
(file).
packing.lisp
(file).
attributes.lisp
(file).
uniforms.lisp
(file).
layout.lisp
(file).
blocks.lisp
(file).
buffers.lisp
(file).
glsl.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
shadow/shadow.asd
shadow/package.lisp
shadow/shadow.lisp
shadow/common.lisp
shadow/functions.lisp
shadow/stages.lisp
shadow/program.lisp
shadow/packing.lisp
shadow/attributes.lisp
shadow/uniforms.lisp
shadow/layout.lisp
shadow/blocks.lisp
shadow/buffers.lisp
shadow/glsl.lisp
shadow/shadow.lisp
package.lisp
(file).
shadow
(system).
find-shader-definition
(function).
load-shaders
(function).
recompile-shaders
(function).
unload-shaders
(function).
*metadata*
(special variable).
disable-dependency-tracking
(function).
enable-dependency-tracking
(function).
maybe-load-shaders
(function).
meta
(function).
(setf meta)
(function).
reset-program-state
(function).
store-source
(function).
shadow/common.lisp
shadow.lisp
(file).
shadow
(system).
ensure-keyword
(function).
get-qualifiers
(generic function).
has-qualifier-p
(function).
lisp-constant->glsl-constant
(function).
lisp-symbol->glsl-type
(function).
parts->string
(function).
shadow/functions.lisp
common.lisp
(file).
shadow
(system).
compute-outdated-programs
(function).
ensure-function-dependency-tables
(function).
find-gpu-function
(function).
get-function-spec
(function).
store-function-dependencies
(function).
shadow/stages.lisp
functions.lisp
(file).
shadow
(system).
make-stage
(function).
stage-type
(function).
stage-type->shader-type
(function).
translate-stages
(function).
shadow/program.lisp
stages.lisp
(file).
shadow
(system).
build-shader-dictionary
(function).
build-shader-program
(function).
find-program
(function).
get-program-id
(function).
program
(class).
uniforms
(reader method).
view-source
(function).
with-shader
(macro).
%make-shader-program
(function).
attributes
(reader method).
blocks
(reader method).
build-shader-programs
(function).
compile-stages
(function).
id
(reader method).
link-program
(function).
name
(reader method).
primitive
(reader method).
set-modify-hook
(function).
source
(reader method).
stage-specs
(reader method).
store-stage-program-dependencies
(function).
translate-program
(function).
translate-shader-programs
(function).
translated-stages
(reader method).
version
(reader method).
shadow/packing.lisp
program.lisp
(file).
shadow
(system).
pack-block
(function).
pack-container
(function).
pack-layout
(function).
pack-struct
(function).
pack-type
(function).
unpack-type
(function).
shadow/attributes.lisp
packing.lisp
(file).
shadow
(system).
store-attribute-locations
(function).
store-attributes
(function).
shadow/uniforms.lisp
attributes.lisp
(file).
shadow
(system).
uniform-bool
(function).
uniform-bool-array
(function).
uniform-float
(function).
uniform-float-array
(function).
uniform-int
(function).
uniform-int-array
(function).
uniform-mat2
(function).
uniform-mat2-array
(function).
uniform-mat3
(function).
uniform-mat3-array
(function).
uniform-mat4
(function).
uniform-mat4-array
(function).
uniform-vec2
(function).
uniform-vec2-array
(function).
uniform-vec3
(function).
uniform-vec3-array
(function).
uniform-vec4
(function).
uniform-vec4-array
(function).
%uniform-array
(macro).
get-uniform-data
(generic function).
get-uniform-location
(function).
store-uniform-locations
(function).
store-uniforms
(function).
shadow/layout.lisp
uniforms.lisp
(file).
shadow
(system).
byte-stride
(reader method).
collect-layout-structs
(function).
collect-layouts
(function).
dimensions
(reader method).
element-count
(reader method).
element-stride
(reader method).
element-type
(reader method).
get-layout-type
(function).
layout
(class).
layout-member
(class).
layout-struct-p
(function).
layout-type
(reader method).
make-layout
(function).
make-layout-member
(function).
members
(reader method).
object-type
(reader method).
offset
(reader method).
size
(reader method).
(setf size)
(writer method).
uniform
(reader method).
shadow/blocks.lisp
layout.lisp
(file).
shadow
(system).
bind-block
(function).
create-block-alias
(function).
find-block
(function).
print-object
(method).
program
(reader method).
unbind-block
(function).
%bind-block/buffer
(function).
%bind-block/uniform
(function).
%find-block
(function).
binding-point
(reader method).
block-binding-valid-p
(function).
block-type
(reader method).
delete-block-alias
(function).
get-block-type
(function).
id
(reader method).
layout
(reader method).
make-block
(function).
name
(reader method).
rebind-blocks
(function).
shader-block
(class).
store-blocks
(function).
shadow/buffers.lisp
blocks.lisp
(file).
shadow
(system).
bind-buffer
(function).
buffer-name
(reader method).
clear-buffer
(function).
create-buffer
(function).
delete-buffer
(function).
find-buffer
(function).
read-buffer-path
(function).
unbind-buffer
(function).
write-buffer-path
(function).
%make-buffer
(function).
%read-buffer-member
(function).
%read-buffer-member/matrix
(function).
%read-buffer-member/scalar
(function).
%read-buffer-member/vector
(function).
%write-buffer-member
(function).
%write-buffer-member/matrix
(function).
block-type->buffer-type
(function).
buffer-type->block-type
(function).
buffer-type->target
(function).
id
(reader method).
layout
(reader method).
shader-buffer
(class).
target
(reader method).
shadow/glsl.lisp
buffers.lisp
(file).
shadow
(system).
define-shader
(macro).
defmacro
(macro).
defstruct
(macro).
defun
(macro).
Packages are listed by definition order.
shadow
common-lisp
.
bind-block
(function).
bind-buffer
(function).
buffer-name
(generic reader).
build-shader-dictionary
(function).
build-shader-program
(function).
clear-buffer
(function).
create-block-alias
(function).
create-buffer
(function).
delete-buffer
(function).
find-block
(function).
find-buffer
(function).
find-program
(function).
find-shader-definition
(function).
get-program-id
(function).
load-shaders
(function).
program
(generic reader).
program
(class).
read-buffer-path
(function).
recompile-shaders
(function).
unbind-block
(function).
unbind-buffer
(function).
uniform-bool
(function).
uniform-bool-array
(function).
uniform-float
(function).
uniform-float-array
(function).
uniform-int
(function).
uniform-int-array
(function).
uniform-mat2
(function).
uniform-mat2-array
(function).
uniform-mat3
(function).
uniform-mat3-array
(function).
uniform-mat4
(function).
uniform-mat4-array
(function).
uniform-vec2
(function).
uniform-vec2-array
(function).
uniform-vec3
(function).
uniform-vec3-array
(function).
uniform-vec4
(function).
uniform-vec4-array
(function).
uniforms
(generic reader).
unload-shaders
(function).
view-source
(function).
with-shader
(macro).
write-buffer-path
(function).
%bind-block/buffer
(function).
%bind-block/uniform
(function).
%find-block
(function).
%make-buffer
(function).
%make-shader-program
(function).
%read-buffer-member
(function).
%read-buffer-member/matrix
(function).
%read-buffer-member/scalar
(function).
%read-buffer-member/vector
(function).
%uniform-array
(macro).
%write-buffer-member
(function).
%write-buffer-member/matrix
(function).
*metadata*
(special variable).
attributes
(generic reader).
binding-point
(generic reader).
block-binding-valid-p
(function).
block-type
(generic reader).
block-type->buffer-type
(function).
blocks
(generic reader).
buffer-type->block-type
(function).
buffer-type->target
(function).
build-shader-programs
(function).
byte-stride
(generic reader).
collect-layout-structs
(function).
collect-layouts
(function).
compile-stages
(function).
compute-outdated-programs
(function).
delete-block-alias
(function).
dimensions
(generic reader).
disable-dependency-tracking
(function).
element-count
(generic reader).
element-stride
(generic reader).
element-type
(generic reader).
enable-dependency-tracking
(function).
ensure-function-dependency-tables
(function).
ensure-keyword
(function).
find-gpu-function
(function).
get-block-type
(function).
get-function-spec
(function).
get-layout-type
(function).
get-qualifiers
(generic function).
get-uniform-data
(generic function).
get-uniform-location
(function).
has-qualifier-p
(function).
id
(generic reader).
layout
(generic reader).
layout
(class).
layout-member
(class).
layout-struct-p
(function).
layout-type
(generic reader).
link-program
(function).
lisp-constant->glsl-constant
(function).
lisp-symbol->glsl-type
(function).
make-block
(function).
make-layout
(function).
make-layout-member
(function).
make-stage
(function).
maybe-load-shaders
(function).
members
(generic reader).
meta
(function).
(setf meta)
(function).
name
(generic reader).
object-type
(generic reader).
offset
(generic reader).
pack-block
(function).
pack-container
(function).
pack-layout
(function).
pack-struct
(function).
pack-type
(function).
parts->string
(function).
primitive
(generic reader).
rebind-blocks
(function).
reset-program-state
(function).
set-modify-hook
(function).
shader-block
(class).
shader-buffer
(class).
size
(generic reader).
(setf size)
(generic writer).
source
(generic reader).
stage-specs
(generic reader).
stage-type
(function).
stage-type->shader-type
(function).
store-attribute-locations
(function).
store-attributes
(function).
store-blocks
(function).
store-function-dependencies
(function).
store-source
(function).
store-stage-program-dependencies
(function).
store-uniform-locations
(function).
store-uniforms
(function).
target
(generic reader).
translate-program
(function).
translate-shader-programs
(function).
translate-stages
(function).
translated-stages
(generic reader).
uniform
(generic reader).
unpack-type
(function).
version
(generic reader).
shadow.glsl
common-lisp
.
vari
.
define-shader
(macro).
defmacro
(macro).
defstruct
(macro).
defun
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Create a new shader program using the stage-specs defined in BODY.
VERSION: The default version shader stages use, and can be overridden on a per-function basis.
PRIMITIVE: The drawing primitive to use for the vertex stage.
Define a GPU macro.
Define a GPU structure.
Define a GPU function.
Run a body of code which uses (as in glUseProgram) the program identified by NAME.
Bind a block referenced by BLOCK-ALIAS to a binding point.
Bind a buffer with name BUFFER-NAME to BINDING-POINT.
Compile all shader programs defined with MAKE-SHADER-PROGRAM.
Compile the shader stages of NAME, linking them into a program. NAME refers to a previously defined shader program using MAKE-SHADER-PROGRAM.
Create a buffer of the given TYPE and NAME, using the block BLOCK-ID of PROGRAM-NAME.
Delete the buffer having a name of BUFFER-NAME.
Unbind a block with the alias BLOCK-ALIAS.
Unbind a buffer with name BUFFER-NAME.
Specify a float as the VALUE for the uniform variable, UNIFORM.
Specify an array of floats as the VALUE for the uniform variable, UNIFORM.
Specify an integer as the VALUE for the uniform variable, UNIFORM.
Specify an array of integers as the VALUE for the uniform variable, UNIFORM.
Specify a mat2 as the VALUE for the uniform variable, UNIFORM.
Specify an array of mat2’s as the VALUE for the uniform variable, UNIFORM.
Specify a mat3 as the VALUE for the uniform variable, UNIFORM.
Specify an array of mat3’s as the VALUE for the uniform variable, UNIFORM.
Specify a mat4 as the VALUE for the uniform variable, UNIFORM.
Specify an array of mat4’s as the VALUE for the uniform variable, UNIFORM.
Specify a vec2 as the VALUE for the uniform variable, UNIFORM.
Specify an array of vec2’s as the VALUE for the uniform variable, UNIFORM.
Specify a vec3 as the VALUE for the uniform variable, UNIFORM.
Specify an array of vec3’s as the VALUE for the uniform variable, UNIFORM.
Specify a vec4 as the VALUE for the uniform variable, UNIFORM.
Specify an array of vec4’s as the VALUE for the uniform variable, UNIFORM.
Write VALUE to the buffer with the name BUFFER-NAME, starting at the given PATH.
PATH: A "dot-separated" keyword symbol, where each part denotes a member in the buffer’s block
layout.
VALUE: A value to write, such as a scalar or matrix depending on the type of the member PATH refers
to. To write to an array, use a sequence of values.
Note: Writing to arrays which contain other aggregate types (other arrays or structures) is not possible. This is a design decision to allow this library to have a simple "path-based" buffer writing interface.
shader-buffer
)) ¶automatically generated reader method
shader-block
)) ¶automatically generated reader method
This slot is read-only.
(mfiano-utils:dict (function eq))
This slot is read-only.
:stage-specs
This slot is read-only.
(mfiano-utils:dict (function eq))
This slot is read-only.
(mfiano-utils:dict (function eq))
This slot is read-only.
Recompile a collection of shader programs.
Rebind all blocks that are members of PROGRAMS.
Specify a function to be called when shader programs need to be updated.
Re-translate a collection of shader programs.
shader-block
)) ¶automatically generated reader method
shader-block
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
shader-buffer
)) ¶automatically generated reader method
%id
.
shader-block
)) ¶automatically generated reader method
%id
.
shader-buffer
)) ¶automatically generated reader method
shader-block
)) ¶automatically generated reader method
shader-block
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
layout-member
)) ¶automatically generated reader method
shader-buffer
)) ¶automatically generated reader method
:element-type
This slot is read-only.
:element-stride
This slot is read-only.
:byte-stride
This slot is read-only.
:dimensions
This slot is read-only.
:count
This slot is read-only.
:type
This slot is read-only.
buffer-name
.
id
.
layout
.
target
.
:name
This slot is read-only.
Jump to: | %
(
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | %
(
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | %
*
S |
---|
Jump to: | %
*
S |
---|
Jump to: | A B C F G L P S U |
---|
Jump to: | A B C F G L P S U |
---|