System Information
Definition Index
-
ORG.SHIRAKUMO.ALLOY.RENDERERS.OPENGL
No documentation provided.-
EXTERNAL CLASS RENDERER
No documentation provided. -
EXTERNAL GENERIC-FUNCTION BIND
- RESOURCE
Activate or bind the given resource. For shaders: the shader program is activated. For textures: the texture is bound as Texture0. For framebuffers: the framebuffer is set as the draw framebuffer target and cleared. See MAKE-SHADER See MAKE-TEXTURE See MAKE-FRAMEBUFFER
-
EXTERNAL GENERIC-FUNCTION BLIT-FRAMEBUFFER
- FRAMEBUFFER
Blits the bound framebuffer to the backing render buffer. After this call the framebuffer will be unbound, and the backing render buffer should be bound as the draw framebuffer. See MAKE-FRAMEBUFFER
-
EXTERNAL GENERIC-FUNCTION DRAW-VERTEX-ARRAY
- ARRAY
- PRIMITIVE-TYPE
- OFFSET
- COUNT
Draw the given vertex array. PRIMITIVE-TYPE may be one of: :LINES :TRIANGLES :TRIANGLE-STRIP :TRIANGLE-FAN OFFSET specifies the offset in elements from the beginning of the vertex array. COUNT specifies the number of vertices to draw. See MAKE-VERTEX-ARRAY
-
EXTERNAL GENERIC-FUNCTION GL-NAME
- RESOURCE
Returns the internal OpenGL resource id for the given resource.
-
EXTERNAL GENERIC-FUNCTION MAKE-FRAMEBUFFER
- RENDERER
Create a new framebuffer. The framebuffer must have attachments for a color buffer, a depth buffer, and a stencil buffer. The buffers must automatically be adjusted to fit the VIEW-SIZE, and thus be usable as a replacement backing render buffer. See BIND See BLIT-FRAMEBUFFER
-
EXTERNAL GENERIC-FUNCTION MAKE-SHADER
- RENDERER
- &KEY
- VERTEX-SHADER
- FRAGMENT-SHADER
Create a shader program VERTEX-SHADER and FRAGMENT-SHADER are GLSL shader source code that should be bound to the resulting shader program. The returned value must have applicable methods for BIND and (SETF UNIFORM). See BIND See (SETF UNIFORM)
-
EXTERNAL GENERIC-FUNCTION MAKE-TEXTURE
- RENDERER
- WIDTH
- HEIGHT
- DATA
- &KEY
- CHANNELS
- FILTERING
Allocate a new texture. The texture should be a Texture-2D, with the specified with, height, data, channels, and filtering. DATA should be an (UNSIGNED-BYTE 8) vector. CHANNELS should be one of the following, specifying the associated internal format and pixel format: 1 :RED 2 :RG 3 :RGB 4 :RGBA The texture swizzling should be applied as follows: 1 :RED :RED :RED :ONE 2 :RED :RED :RED :GREEN 3 :RED :GREEN :BLUE :ONE 4 :RED :GREEN :BLUE :ALPHA FILTERING specifies the min and mag filter of the texture, and can be one of the following: :NEAREST :LINEAR See BIND
-
EXTERNAL GENERIC-FUNCTION MAKE-VERTEX-ARRAY
- RENDERER
- BINDINGS
- &KEY
- INDEX-BUFFER
Create a vertex array object with the given buffer binding points. BINDINGS should be a list of the following format: BINDINGS ::= BINDING-POINT* BINDING-POINT ::= (resource :SIZE size :OFFSET offset :STRIDE stride) resource --- A vertex buffer size --- The number of elements in the binding, 1/2/3/4 offset --- The offset (in bytes) to the start of the element stride --- The stride (in bytes) between the elements For instance, the following GLSL vertex shader input spec: layout (location = 0) in vec2 pos; layout (location = 1) in float time; Corresponds to the following binding spec: ((:size 2 :offset 0 :stride 12) (:size 1 :offset 8 :stride 12)) If INDEX-BUFFER is given, it designates the element index array. See MAKE-VERTEX-BUFFER See DRAW-VERTEX-ARRAY
-
EXTERNAL GENERIC-FUNCTION MAKE-VERTEX-BUFFER
- RENDERER
- CONTENTS
- &KEY
- BUFFER-TYPE
- DATA-USAGE
Create a vertex buffer object with the given contents. BUFFER-TYPE may be one of: VERTEX-BUFFER --- The default vertex data buffer ELEMENT-BUFFER --- An element index array buffer DATA-USAGE may be one of: STATIC-DRAW --- The data is only uploaded once, on creation STREAM-DRAW --- The data is updated frequently The CONTENTS should be a vector with element type SINGLE-FLOAT for VERTEX-BUFFER, or (UNSIGNED-BYTE 32) for ELEMENT-BUFFER types. See UPDATE-VERTEX-BUFFER See MAKE-VERTEX-ARRAY
-
EXTERNAL GENERIC-FUNCTION RESOURCE
- NAME
- RENDERER
- &OPTIONAL
- ERRORP
No documentation provided. -
EXTERNAL GENERIC-FUNCTION (SETF RESOURCE)
- VALUE
- NAME
- RENDERER
No documentation provided. -
EXTERNAL GENERIC-FUNCTION (SETF UNIFORM)
- VALUE
- SHADER
- UNIFORM
Set the OpenGL uniform variable state in the given shader program to the specified value. The following values must be accepted as the specified OpenGL value types: ALLOY:SIZE vec2 ALLOY:POINT vec2 COLORED:COLOR vec4 VECTOR mat3 SINGLE-FLOAT float (SIGNED-BYTE 32) int The backend will access the following locations in shaders: transform color line_width gap view_size size corner_radius[0] corner_radius[1] corner_radius[2] corner_radius[3] corner_radius[4] start_angle end_angle uv_scale uv_offset
-
EXTERNAL GENERIC-FUNCTION UPDATE-VERTEX-BUFFER
- BUFFER
- CONTENTS
Update the contents of the buffer object with the given contents. The buffer must be resized to fit and filled with the given contents. The CONTENTS should be a vector with element type SINGLE-FLOAT for VERTEX-BUFFER, or (UNSIGNED-BYTE 32) for ELEMENT-BUFFER types. The behaviour is undefined for calling this function with a vertex buffer created with STATIC-DRAW DATA-USAGE. See MAKE-VERTEX-BUFFER
-
EXTERNAL GENERIC-FUNCTION VIEW-SIZE
- RENDERER
Return an ALLOY:SIZE describing the current view size of the context. See ALLOY:SIZE
-