The problem is that osg::Image wraps 3d images in a single buffer, and here
I think it's useful having at the end different images to easily fill
afterwards a TextureCubeMap.

 Giuseppe

On Fri, May 11, 2018 at 3:22 PM, Robert Osfield <robert.osfi...@gmail.com>
wrote:

> Hi  Giuseppe,
>
> Rather than subclass from osg::Image, perhaps one could just leverage
> the face that osg::Image supports 3D images, so just store it as a
> stack of 6 images.
>
> Robert.
>
> On 11 May 2018 at 11:25, Giuseppe Donvito <giuseppe.donv...@gmail.com>
> wrote:
> > What about extend the Image class, creating a storage for all faces where
> > the face0 is the Image base implementation?
> > the DDS reader will instantiate ImageCubeMap if found more than 1 face.
> >
> > BR,
> >  Giuseppe
> >
> >
> > /** ImageCubeMap class for encapsulating the storage texture cubemap
> image
> > data. */
> > class OSG_EXPORT ImageCubeMap : public Image
> > {
> > public:
> >    virtual Object* cloneType() const { return new ImageCubeMap(); }
> >    virtual Object* clone(const CopyOp& copyop) const { return new
> > ImageCubeMap(*this, copyop); }
> >    virtual osg::ImageCubeMap* asImageCubeMap() { return this; }
> >    virtual const osg::ImageCubeMap* asImageCubeMap() const { return
> this; }
> >
> >    void addFace(osg::Image* image);
> >    std::vector<osg::Image*> getAllFaces();
> >
> > protected:
> >
> >    virtual ~ImageCubeMap() { deallocateData(); }
> >    ImageCubeMap& operator = (const ImageCubeMap&) { return *this; }
> >    std::vector<osg::ref_ptr<osg::Image> > mOtherFaces;
> > };
> >
> > in Image class:
> >
> > class OSG_EXPORT Image : public BufferData
> > {
> >         virtual osg::Image* asImage() { return this; }
> >         virtual const osg::Image* asImage() const { return this; }
> >         virtual osg::ImageCubeMap* asImageCubeMap() { return NULL; }
> >         virtual const osg::ImageCubeMap* asImageCubeMap() const { return
> > NULL; }
> > }
> >
> >
> > On Fri, May 11, 2018 at 10:39 AM, Robert Osfield <
> robert.osfi...@gmail.com>
> > wrote:
> >>
> >> Hi Farshid,
> >>
> >> I've done a first pass review and don't feel comfortable with adding a
> >> series of images on the back of one.  This trick is something you will
> >> be aware of as the author but I can't imagine many other users being
> >> able to spot that it's even supported let alone how to use it.
> >>
> >> I think the correct approach would be to return back a container for
> >> all of the images. Ideally osg::ImageList would be a full osg::Object
> >> so we'd be able to have a ReaderWriterDDS::readObject() method that
> >> could return an object containing all the images.  Perhaps have an
> >> osg::Images object that subclasses from osg::Object and ImageList.
> >>
> >> Thoughts?
> >> Robert.
> >>
> >>
> >> On 9 May 2018 at 18:56, Farshid Lashkari <fla...@gmail.com> wrote:
> >> > Hi Robert,
> >> >
> >> > I've added an option to the DDS plugin to support loading all cubemap
> >> > images. The loader accepts an optional data parameter "dds_image_list"
> >> > that
> >> > is a pointer to an osg::ImageList. When this is specified and the DDS
> >> > file
> >> > contains multiple cubemap images, the loader will add the additional
> >> > images
> >> > to the list. This can also be used in the future if someone decides to
> >> > add
> >> > 2d image array support to the dds plugin.
> >> >
> >> > I also added some meta data to the main image that specifies how many
> >> > images
> >> > are in the file and whether it is a cubemap. I also set the default
> >> > origin
> >> > to TOP_LEFT. It was previously setting the origin to BOTTOM_LEFT only
> if
> >> > the
> >> > flip option was set, but not to TOP_LEFT when the option was not
> >> > present. I
> >> > believe this should now be the correct behavior.
> >> >
> >> > Cheers,
> >> > Farshid
> >> >
> >> > _______________________________________________
> >> > osg-submissions mailing list
> >> > osg-submissions@lists.openscenegraph.org
> >> >
> >> > http://lists.openscenegraph.org/listinfo.cgi/osg-
> submissions-openscenegraph.org
> >> >
> >> _______________________________________________
> >> osg-submissions mailing list
> >> osg-submissions@lists.openscenegraph.org
> >>
> >> http://lists.openscenegraph.org/listinfo.cgi/osg-
> submissions-openscenegraph.org
> >
> >
> >
> > _______________________________________________
> > osg-submissions mailing list
> > osg-submissions@lists.openscenegraph.org
> > http://lists.openscenegraph.org/listinfo.cgi/osg-
> submissions-openscenegraph.org
> >
> _______________________________________________
> osg-submissions mailing list
> osg-submissions@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-
> submissions-openscenegraph.org
>
_______________________________________________
osg-submissions mailing list
osg-submissions@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to