My configuration supports CLUTTER_FEATURE_TEXTURE_RECTANGLE. So I think
doing a clutter.Texture() returns a NPOTS texture:
clutter-texture.c (clutter_texture_init):
if (clutter_feature_available (CLUTTER_FEATURE_TEXTURE_RECTANGLE))
{
priv->target_type = CGL_TEXTURE_RECTANGLE_ARB;
priv->is_tiled = FALSE;
printf("rect_arb set\n"); // This is printed to screen
So shouldn't the video be played back on NPOTS too? Does putting the
ffmpegcolorspace into the pipeline affect anything? (gl/clutter/gst
newbie here!)
If I run the program via remote X (I don't care about this scenario), I
see this:
(refvideo.py:19256): Tidy-WARNING **: TidyTextureReflection doesn't
support tiled textures..
Local runs produce no errors.
It is a dell laptop and I have the proprietary Nvidia driver installed
(compiz works at level 2, not 3).
BTW, the documentation for ClutterTexture lists "tiled" property as
defaulting to true. In the code, I see that it is false for GL but true
for X11 displays.
Could you elaborate on what is broken in tidy-texture-reflection?
Thanks,
Ashwin
> -----Original Message-----
> From: Matthew Allum [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 18, 2008 7:08 PM
> To: Kashyap Ashwin
> Cc: [email protected]
> Subject: Re: [clutter] Video texture reflection
>
> Hi;
>
> Tidy Texture reflection is pretty broken / limited in what it supports
-
> new COGL should fix it. Assuming the video is showing (but not
> reflection) but guess is the video is playing back on a POTs sized
> texture and the reflection only supports NPOTS. Do you see any
warnings
> or anything ?
>
> == Matthew
>
> On Fri, 2008-04-18 at 18:24 -0400, Kashyap Ashwin wrote:
> > Hello,
> >
> > I am trying to add reflection effect to a video playback. Is this
> > possible?
> >
> >
> >
> > I modified the python videosionk.py as follows:
> >
> >
> >
> > def main (args):
> >
> > stage = clutter.Stage()
> >
> > stage.set_size(320,480)
> >
> > stage.set_color(clutter.color_parse('DarkSlateGrey'))
> >
> > stage.connect('key-press-event', clutter.main_quit)
> >
> >
> >
> > # Creates a gstreamer texture
> >
> > video_texture = clutter.Texture()
> >
> > video_texture.show()
> >
> >
> >
> > # reflection
> >
> > reflect = tidy.TextureReflection(video_texture)
> >
> > reflect.set_opacity(100)
> >
> > #reflect.set_position(0, 450)
> >
> > reflect.show()
> >
> >
> >
> > pipeline = gst.Pipeline()
> >
> >
> >
> > src = gst.element_factory_make("audiotestsrc")
> >
> > goom = gst.element_factory_make("goom")
> >
> > colorspace = gst.element_factory_make("ffmpegcolorspace")
> >
> >
> >
> > # Attaches the output texture to gstreamer sink
> >
> > sink = cluttergst.VideoSink(video_texture)
> >
> >
> >
> > pipeline.add(src, goom, colorspace, sink)
> >
> > gst.element_link_many(src, goom, colorspace, sink)
> >
> > pipeline.set_state(gst.STATE_PLAYING)
> >
> >
> >
> > stage.add(video_texture)
> >
> > stage.add(reflect)
> >
> > stage.show_all()
> >
> > clutter.main()
> >
> >
> >
> > return 0
> >
> >
> >
> > if __name__ == '__main__':
> >
> > sys.exit(main(sys.argv[1:]))
> >
> >
> >
> > I don't see the reflection. I have tried to change the position of
the
> > reflected texture (thinking it was occluded). No luck.
> >
> >
> >
> > Can some one please tell me if I am messing up something?
> >
> >
> >
> > Thanks,
> >
> > Ashwin
> >
> >
> >
> >
> >
> >
--
To unsubscribe send a mail to [EMAIL PROTECTED]