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

Reply via email to