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