mcclim/compositor.lisp
A swapchain image is only acquired again after its previous presentation, so its matching uniform buffer is no longer being read by the GPU.
Make mirror orbit as a sampled texture and return its compositor.
Return mirror to direct texture presentation.
Open widget-lab and immediately composite it as a spinning 3D quad.
(name options &body body)Convert one scalar float or unsigned value to a 32-bit unsigned integer.
The non-negative remainder of integer division.
Division of two represented quantities.
Convert one scalar float or unsigned value to a 32-bit float.
Subtraction or unary negation.
Multiplication and scalar scaling.
Addition over compatible quantities.
Sample a two-dimensional texture through a sampler at a UV coordinate.
Test whether one compatible scalar is less than another.
How the children of a list are arranged.
(compositor)(compositor)(handle)Logically invalidate HANDLE immediately. Native teardown may be deferred until submitted work which captured HANDLE has completed.
(compositor)Legacy adapter for the application-neutral RELEASE-MIRROR-COMPOSITOR.
(compositor context source
&key depth-format (depth-compare :less) target-format)A MuPDF context: its allocator, its store, and its error stack.
(context)Return the GPU device used by CONTEXT, or NIL before first configuration.
Logical disjunction of tests and raw truth values.
Logical conjunction of tests and raw truth values.
(device descriptor)Asks the DEVICE for a handle to newly created instance of some object fulfilling the DESCRIPTOR.
(compositor surface)(compositor timestamp &key (aspect-scale 1.0))(mirror timestamp)(context function)(encoder descriptor)(pass-encoder)(mirror context texture compositor)Present an uploaded McCLIM TEXTURE through an optional COMPOSITOR.
A luv mirror retaining McCLIM's CPU raster image for later upload.
(mirror &key (frames-per-second 60) (speed 0.12))A native destination with a lifetime and frame clock.
A policy object deciding when a canvas should run frames.
(frame-function &key (frames-per-second 60))(canvas function)Run FUNCTION with a timestamp on CANVAS's native frame/event thread. The initial native implementation is synchronous: the caller waits for the function's values. The protocol leaves room for a real frame scheduler.
(mirror)(&key (title "McCLIM widget drifting through luv space")
(frames-per-second 60) (speed 0.12))An explicitly owned AVFrame.
(&key (server-path '(:luv-gpu))
(title "McCLIM widgets on luv")
target context device)
A first deliberately theatrical McCLIM compositor.
McCLIM still paints an ordinary CPU raster. The raster mirror uploads it to a sampled GPU texture; this object renders that texture as a perspective-spinning quad into an offscreen color attachment, after which the canvas context performs its familiar texture-to-swapchain copy.