[Fluxus] pixel primitive commits
gabor papp
gabor.lists at mndl.hu
Wed Dec 15 10:35:34 PST 2010
hi all,
i made some changes to the pixel primitive code. now it can handle
multiple texture attachments. this means that a pixel primitive has as
many textures attached to it as you have requested.
i tried not to break existing code, let me know if i have. ffgl plugin
scripts will break, since the interface has been changed. i also fixed
the alignment of the pixel primitive, so now its centre and not its
bottom-left corner is in the origin as it used to be. this is how other
primitives like planes are aligned.
the multiple textures feature simplifies feedback effects and ffgl
plugin usage as they no longer need multiple pixel primitives, only one
with multiple textures.
changes:
- (build-pixels) takes a 4th optional argument, which is the number of
requested textures e.g. (build-pixels 512 512 #t 2) creates an 512x512
primitive with an active renderer and 2 textures
- (pixels->texture) also takes an optional argument which is the texture
index (defaults to 0), e.g (pixels->texture p 1) gives the handle of the
second texture
- if you render to the pixel primitive you can specify to which texture
the rendering takes place (the first texture by default), e.g.
(with-primitive p
(pixels-render-to (pixels->texture p 1))
- you can specify which texture is displayed when the pixel primitive is
rendered (also the first texture by default)
(with-primitive p
(pixels-display (pixels->texture p 0))
using these, the feedback example is as simple as this:
http://bit.ly/gLqX3V
ffgl plugins support this new feature. now you can even use multiple
plugins on the same pixel primitive.
(ffgl-process) has been changed. it also takes the output texture handle
and input texture handles instead of pixel primitives:
(ffgl-process output-pixel-primitive output-texture-handle
input-texture-handle ...)
ffgl examples:
https://gist.github.com/742364
comments and suggestions are welcome.
best,
gabor
More information about the Fluxus
mailing list