This coule be a limitation of your graphics card. Do check your maximum 
texture dimension and make sure it supports non-power-of-two textures. 
Most cards today support 4096 sized textures.

The ImageForeground does not use textures, but directly copies data to 
the framebuffer, thus it can use larger images.

/Marcus

Jie Liu wrote:
> *Another problem, *
> 
> If I take an image as a texture, OpenSG will fail to read some large 
> images, for instance, with the size of 1635x2573. But if I take them as 
> foreground, they can show correctly.
> 
> 
> 
> 2009/8/10 Jie Liu <[email protected] 
> <mailto:[email protected]>>
> 
>     Hi,
> 
>     I want to use OpenSG do display about 150 images located in a given
>     directory.
>     For each time, I show one of them, and I press left key or right key
>     to nevigate backward or forward. All images should align center,
>     keep their width/height (w/h) ratio and they will fit to the width
>     or height of the window according to the value of w/h ratio.
> 
>     I now have three solutions for this purpose.
>     a). take an image as a background object. The problem is OpenSG will
>     auto scale the image to the window area for me. But as I must keep
>     the width/height ratio of the image, I give up.
> 
>     b). take an image as a foreground object, the problem is I can only
>     appoint its bottom-left position. There seems no parameters for me
>     to scale its size. Below are my code to do this
>     ===================================================================
>         ImagePtr tImage = Image::create();
>         *tImage->read(file_name[index]);*  *// I change the value of
>     /index/ to display different images. Images are loaded dynamically
>     according to their names*
> 
>         ImageForegroundPtr ptrImgForeground = ImageForeground::create();
>         beginEditCP(ptrImgForeground);
>         {
>     *        ptrImgForeground->addImage(tImage, Pnt2f(0.0, 0)); // Can I
>     assign a bounding box for an image? Or do I have to manually scale
>     the image first?*
>         }
>         endEditCP(ptrImgForeground);
> 
>        * g_ptrViewport->getMFForegrounds()->push_back(ptrImgForeground); *
>     *// push_back is to add a new image to the queue, OpenSG will try to
>     render all images in the queue and this will slow down the rendering
>     speed obviously. But I only want to display a single image at one
>     time. So what is the right and efficient way to replace the current
>     foreground image?
>     *================================================================
> 
>     c). Take an image as a texture material, and attach it to a Quad
>     primitive.
>     ================================================================
>         ImagePtr tImage = Image::create();
>         tImage->read(file_name[index]);
> 
>         beginEditCP(g_ptrGeoTex);
>         g_ptrGeoTex->setImage(tImage); *// g_ptrGeoTex is a globle
>     variable, its type is SimpleTexturedMaterialPtr*
>         endEditCP(g_ptrGeoTex);
> 
>         beginEditCP(g_ptrGeoQuad);
>             g_ptrGeoQuad->setMaterial(g_ptrGeoTex);*  // I found the
>     setMaterial process will be very very slow, how can I accelerate it?*
>         endEditCP(g_ptrGeoQuad);
>     ================================================================
> 
>     So, what is your suggestion to write such a program? I also want to
>     load all iamges at the begining of the program and store them in
>     vectors (vector<ImagePtr>, and vector<SimpleTexturedMaterialPtr>),
>     but the program crashed while switching the image. What is the right
>     way to read and store all image data?
> 
>     The email is a little long, I hope it will not bother you too much~~
> 
>     Thanks
> 
>     -- 
>     Jie Liu
>     Visualization Research Group
>     Center for Information Science, School of EECS,
>     Room 2104, Science Building No.2,
>     Peking University, Beijing 100871, China
> 
> 
> 
> 
> -- 
> Jie Liu
> Visualization Research Group
> Center for Information Science, School of EECS,
> Room 2104, Science Building No.2,
> Peking University, Beijing 100871, China
> 
> 
> ------------------------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
> trial. Simplify your report design, integration and deployment - and focus on 
> what you do best, core application coding. Discover what's new with 
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Opensg-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensg-users


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to