RE: Texture Mapping

From: Fine, Valeri <fine_at_bnl.gov>
Date: Thu, 29 May 2008 18:54:44 -0400


 Dear Akira,

 [snip]

> SkyViewer
> http://lambda.gsfc.nasa.gov/toolbox/tb_skyviewer_ov.cfm
> is the basic idea of my application.

[snip]

I have done 4 trivial steps outlined below:

I hope the "skyviewer user community" can appreciate the addition and will be happy to use ROOT as the powerful framework to enhance the "skyviewer" applications. I believe the ROOT users would be proud to see how flexible and powerful the ROOT framework is.  

   -1- Downloaded and installed the "skyviewer" from the

       http://lambda.gsfc.nasa.gov/toolbox/tb_skyviewer_ov.cfm

   -2- Added there one trivial proxy class:



SkyViewer.h:

#ifndef STAR_SkyViewer
#define STAR_SkyViewer
class QWidget;
class MainWindow;
class SkyViewer {
  private:

     MainWindow *fSkyViewer;
  public:

     SkyViewer(QWidget *parent=0);
     void show();
     void hide();
     static void setFrame(const char *name=0);
};
#endif

SkyViewer.cxx:
     #include "SkyViewer.h"
     #include "mainwindow.h"
     QString incomingfname = "";

     SkyViewer::SkyViewer( QWidget *parent): fSkyViewer(0)
     {    fSkyViewer = new MainWindow; }
     void SkyViewer::show(){ if (fSkyViewer)fSkyViewer->show();}
     void SkyViewer::hide(){ if (fSkyViewer)fSkyViewer->hide(); }
     void SkyViewer::setFrame(const char *name){ incomingfname=name;}


-3- Added the line to the "skyviwer.pro" project file to generate RootCint dictionary for the SkyViewer C++ class.

-4- Turn on the Qt plugin.

At this point the regular ROOT session (ROOT 5.12, which is the production version of STAR was used)
http://root.bnl.gov/QtRoot/pictures/SkyViewerFromROOTTerminal.png

poped up the skyviewer:

http://root.bnl.gov/QtRoot/pictures/SkyViewerFromROOT.png

> > Its main feature is to plot FITS
> > HEALPix image using OpenGL texture mapping.

It visualizes the "Healpix_2.01/test/map_sm.fits" file

> > But it has no function to
> > analyze cosmic gamma ray images. That's why I am interested in
> > implementing more powerful viewer.

Of course, you can load your own ROOT/Cint shared library to provide the functionality the basic viewer lacks of and create your own GUI to combine the ROOT TCanvas and SkyViewer widget within one "Main Window" too.

I hope the "skyviewer user community" can appreciate the addition and will be happy to use ROOT as the powerful framework to enhance the "skyviewer" application.

I can make an example if needed. Let me know.

 Hope this helps,

                      Valeri
> 

> > Its main feature is to plot FITS
> > HEALPix image using OpenGL texture mapping. But it has no function to
> > analyze cosmic gamma ray images. That's why I am interested in
> > implementing more powerful viewer.
> >
> > Of course, if ROOT supports my requirement officially in a month as
> > you wrote, I will move to official classes.
> >
> > Thank you so much.
> >
> > Regards,
> >
> > OKUMURA, Akira oxon_at_ceres.phys.s.u-tokyo.ac.jp
> > Department of Physics, The University of Tokyo
> > 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-0033
> > TEL/FAX +81 3-5841-4173/4059
> > Skype : okumura.akira
> >
> > On 2008/05/26, at 7:50, Matevz Tadel wrote:
> >
> > > Hi Akira,
> > >
> > > OKUMURA, Akira wrote:
> > >> Hello ROOTers,
> > >> I would like to show a sphere of which surface is a texture
mapping
> > >> of an all-sky image of cosmic gamma rays. Is there any ROOT
> > >> function to create such sphere using OpenGL? If not, which ROOT
> > >> classes are good starting point?
> > >
> > > Support for textures in OpenGL is in our development plan but
hasn't
> > > very high priority at the moment. If you express keen interest for
> > > it we could start working on that in about 3 weeks and have
> > > something in about a month.
> > >
> > > After that implementing a textured-sphere will be breeze.
> > >
> > > If you know ROOT OpenGL well, something could be done even without
> > > central support for textures by implementing a pair of classes,
> e.g.:
> > > TTexturedSphere   - holding the image data and sphere parameters;
> > > TTexturedSphereGL - doing actual rendering.
> > >
> > > This paper/talk should give you the general idea:
> > >
> >
>

http://indico.cern.ch/contributionDisplay.py?contribId=445&sessionId=28&
> co
> > nfId=3580
> > >
> > > I can help you prepare the skeleton classes and basic
functionality
> > > in about a week's time. Let me know what's your time-scale and
> > > desired involvement for the task.
> > >
> > > I also have two questions :)
> > >
> > > 1. What is your image format and size?
> > >
> > > 2. Is it a single texture in Mercator projection or you have
several
> > > images that need to be applied (usually 6, one for each side of an
> > > encompassing cube)?
> > >
> > > Best regards,
> > > Matevz
> > >
> > >> I know that OpenGL itself has functions to handle texture mapping
> > >> but I am not an expert of OpenGL. So I am wondering if I can
easily
> > >> access OpenGL's texture mapping via ROOT system.
> > >> Regards,
> > >> OKUMURA, Akira oxon_at_ceres.phys.s.u-tokyo.ac.jp
> > >> Department of Physics, The University of Tokyo
> > >> 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-0033
> > >> TEL/FAX +81 3-5841-4173/4059
> > >> Skype : okumura.akira
> > >> </div>
Received on Fri May 30 2008 - 00:55:01 CEST

This archive was generated by hypermail 2.2.0 : Sun Jun 01 2008 - 23:50:01 CEST