Changeset 2824 for trunk/packages


Ignore:
Timestamp:
Mar 7, 2012 1:21:00 PM (12 years ago)
Author:
ldelgass
Message:

Remove cruft from vr3d lib

Location:
trunk/packages/vizservers/nanovis/vr3d
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vr3d.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #pragma once
    3 
    4 #ifdef WIN32
    5 #pragma pointers_to_members(full_generality, single_inheritance)
    6 #endif
     2#ifndef VR3D_H
     3#define VR3D_H
    74
    85#include <list>
    96
    10 #ifndef IMAC
    117#include <GL/glew.h>
    12 #endif
    13 
    14 #ifdef _WIN32
    15 #include <windows.h>
    16 #endif
    17 
    18 #ifndef IMAC
    19 #include <GL/gl.h>
    20 #else
    21 #include <OpenGLES/ES1/gl.h>
    22 #include <OpenGLES/ES1/glext.h>
    23 #endif
    24 
    25 #ifdef _WIN32
    26 //#include <windows.h>
    27 
    28 #ifdef VR3DDLLEXPORT
    29 #       define Vr3DExport __declspec(dllexport)
    30 #   define EXPIMP_TEMPLATE
    31 #else
    32 #       define Vr3DExport __declspec(dllimport)
    33 #   define EXPIMP_TEMPLATE extern
    34 #endif
    35 
    36 #else
    37 #       define Vr3DExport
    38 #endif
    39 
    40 
    41 //#include <vr3d/vr3dClassIDs.h>
    428
    439#ifdef __cplusplus
     
    4511#endif
    4612
    47 void Vr3DExport vrInitializeTimeStamp();
     13void vrInitializeTimeStamp();
    4814
    49 float Vr3DExport vrGetTimeStamp();
     15float vrGetTimeStamp();
    5016
    51 void Vr3DExport vrUpdateTimeStamp();
     17void vrUpdateTimeStamp();
    5218
     19void vrInit();
    5320
    54 void Vr3DExport vrInit();
    55 
    56 void Vr3DExport vrExit();
     21void vrExit();
    5722
    5823#ifdef __cplusplus
    59 
    60 class vrTransform;
    61 typedef std::list<vrTransform*> vrPath;
    6224}
    6325#endif
     26
     27#endif
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrEnums.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #pragma once
     2#ifndef VRENUMS_H
     3#define VRENUMS_H
    34
    45#include <vr3d/vr3d.h>
     
    910
    1011enum COLORFORMAT {
    11     CF_LUMINANCE = GL_LUMINANCE, /*< GL_LIMINANCE */
    12 
    13 #ifndef OPENGLES
    14     CF_RGB8 = GL_RGB8, /*< GL_RGB8 */
     12    CF_LUMINANCE = GL_LUMINANCE,
     13    CF_RGB8 = GL_RGB8,
    1514    CF_FLOAT_RGBA32 = GL_FLOAT_RGBA32_NV,
    1615    CF_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
    17 #endif
    18     CF_RGB = GL_RGB,            /*< GL_UNSIGNED_BYTE */
    19     CF_RGBA = GL_RGBA,          /*< GL_FLOAT */
     16    CF_RGB = GL_RGB,
     17    CF_RGBA = GL_RGBA,
    2018};
    2119
    2220enum DATATYPE {
    23     DT_UBYTE = GL_UNSIGNED_BYTE,    /*< GL_UNSIGNED_BYTE */
    24     DT_FLOAT = GL_FLOAT,            /*< GL_FLOAT */
    25 #ifndef OPENGLES
    26     DT_UINT = GL_UNSIGNED_INT,  /*< GL_UNSIGNED_INT */
    27     DT_INT = GL_INT, /*< GL_INT */
    28         DT_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
    29         DT_DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F_NV,
    30 #endif
     21    DT_UBYTE = GL_UNSIGNED_BYTE,
     22    DT_FLOAT = GL_FLOAT,
     23    DT_UINT = GL_UNSIGNED_INT,
     24    DT_INT = GL_INT,
     25    DT_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
     26    DT_DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F_NV,
    3127};
    3228
    33 
    3429enum TEXFILTER {
    35     TF_NEAREST = GL_NEAREST,        /*< GL_NEAREST */
    36     TF_LINEAR = GL_LINEAR,          /*< GL_LINEAR */
     30    TF_NEAREST = GL_NEAREST,
     31    TF_LINEAR = GL_LINEAR,
    3732};
    3833
    3934enum TEXTARGET {
    40 #ifndef OPENGLES
    41     TT_TEXTURE_1D = GL_TEXTURE_1D,  /*< R2_TEXTURE_1D */
    42 #endif
    43     TT_TEXTURE_2D = GL_TEXTURE_2D,  /*< GL_TEXTURE_2D */
    44 #ifndef OPENGLES
    45     TT_TEXTURE_RECTANGLE = GL_TEXTURE_RECTANGLE_NV, /*< GL_TEXTURE_RECTANGLE_NV */
    46     TT_TEXTURE_3D = GL_TEXTURE_3D,  /*< GL_TEXTURE_3D */
    47 #endif
    48 
     35    TT_TEXTURE_1D = GL_TEXTURE_1D,
     36    TT_TEXTURE_2D = GL_TEXTURE_2D,
     37    TT_TEXTURE_RECTANGLE = GL_TEXTURE_RECTANGLE_NV,
     38    TT_TEXTURE_3D = GL_TEXTURE_3D,
    4939};
    5040
    5141enum TEXWRAP {
    52 #ifndef OPENGLES
    53     TW_CLAMP = GL_CLAMP,                    /*< GL_CLAMP */
    54 #endif
    55     TW_CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,    /*< GL_CLAMP_TO_EDGE */
    56     TW_REPEAT = GL_REPEAT,                  /*< GL_REPEAT */
    57 #ifndef OPENGLES
    58     TW_MIRROR = GL_MIRRORED_REPEAT,                  /*< GL_MIRROR */
    59 #endif
     42    TW_CLAMP = GL_CLAMP,
     43    TW_CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,
     44    TW_REPEAT = GL_REPEAT,
     45    TW_MIRROR = GL_MIRRORED_REPEAT,
    6046};
    6147
    62 
     48#endif
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrTexture.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    22/**
    3  * @file vrvrTexture.h
     3 * @file vrTexture.h
    44 * @brief An abtract class for the texture
    55 * @author Insoo Woo(vrinside@gmail.com)
    66 * @author PhD research assistants in PURPL at Purdue University 
    77 */
    8 
    9 #pragma once
    10 
    11 #ifdef WIN32
    12 #pragma pointers_to_members(full_generality, single_inheritance)
    13 #endif
     8#ifndef VRTEXTURE_H
     9#define VRTEXTURE_H
    1410
    1511#include <vr3d/vr3d.h>
    1612#include <vr3d/vrEnums.h>
    1713
    18 class Vr3DExport vrTexture {
    19         friend class vrVRMLLoader;
    20 
    21 protected :
    22         /**
    23          * @brief texture target
    24          * @brief Default value is 0
    25          */
    26         TEXTARGET               _target;
    27 
    28         /**
    29          * @brief vrTexture object id.
    30          * @brief Default value is 0
    31          */
    32         unsigned int            _objectID;
    33 
    34         /**
    35          * @brief texture type
    36          * @brief Default value is GL_FLOAT
    37          */
    38         DATATYPE                _type;
    39 
    40         /**
    41          * @brief texture format
    42          * @brief Default value is GL_RGBA
    43          */
    44         COLORFORMAT     _colorFormat;
    45 
    46     /**
    47          * @brief texture internal format
    48          * @brief Default value is GL_RGBA
    49          */
    50         COLORFORMAT     _internalColorFormat;
    51 
    52 
    53         /**
    54          * @brief min filter
    55          * @brief Default value is R2_LINEAR
    56          */
    57         TEXFILTER               _minFilter;
    58 
    59         /**
    60          * @brief mag filter
    61          * @brief Default value is R2_LINEAR
    62          */
    63         TEXFILTER               _magFilter;
    64 
    65         /**
    66          * @brief component count
    67          */
    68         int                     _compCount;
    69 
    70 
    71 public :
    72         vrTexture();
    73 protected :
    74         virtual ~vrTexture();
    75 
    76 public :
    77         /**
    78          * @brief bind texture id
    79          */
    80         void bind(int index) const;
    81 
    82         /**
    83          * @brief unbind texture id
    84          */
    85         void unbind() const;
    86 
    87         /**
    88          * @brief update pixel data
    89          * @param data pixel data
    90          */
    91         virtual void updatePixels(void* data) = 0;
    92 
    93         /**
    94          * @brief retur texture object id
    95          */
    96         unsigned int getGraphicsObjectID() const;
    97 
    98         /**
    99          * @brief return texture target
    100          */
    101         TEXTARGET getTextureTarget() const;
    102 
    103         /**
    104          * @brief set min filter
    105          */
    106         void setMinFilter(TEXFILTER filter);
    107 
    108 
    109         /**
    110          * @brief set mag filter
    111          */
    112         void setMagFilter(TEXFILTER filter);
    113 
    114         /**
    115          * @brief return min filter
    116          */
    117         TEXFILTER getMinFilter() const;
    118 
    119         /**
    120          * @brief return mag filter
    121          */
    122         TEXFILTER getMagFilter() const;
    123 
    124         /**
    125          * @brief return color format
    126          */
    127         COLORFORMAT getColorFormat() const;
    128 
    129         /**
    130          * @brief return data type
    131          */
    132         DATATYPE getDataType() const;
    133 
    134         /**
    135          * @brief component count
    136          */
    137         int getCompCount() const;
    138 
     14class Vr3DExport vrTexture
     15{
     16protected:
     17    /**
     18     * @brief texture target
     19     * @brief Default value is 0
     20     */
     21    TEXTARGET _target;
     22
     23    /**
     24     * @brief vrTexture object id.
     25     * @brief Default value is 0
     26     */
     27    unsigned int _objectID;
     28
     29    /**
     30     * @brief texture type
     31     * @brief Default value is GL_FLOAT
     32     */
     33    DATATYPE _type;
     34
     35    /**
     36     * @brief texture format
     37     * @brief Default value is GL_RGBA
     38     */
     39    COLORFORMAT _colorFormat;
     40
     41    /**
     42     * @brief texture internal format
     43     * @brief Default value is GL_RGBA
     44     */
     45    COLORFORMAT _internalColorFormat;
     46
     47
     48    /**
     49     * @brief min filter
     50     * @brief Default value is R2_LINEAR
     51     */
     52    TEXFILTER _minFilter;
     53
     54    /**
     55     * @brief mag filter
     56     * @brief Default value is R2_LINEAR
     57     */
     58    TEXFILTER _magFilter;
     59
     60    /**
     61     * @brief component count
     62     */
     63    int _compCount;
     64
     65public:
     66    vrTexture();
     67
     68protected:
     69    virtual ~vrTexture();
     70
     71public:
     72    /**
     73     * @brief bind texture id
     74     */
     75    void bind(int index) const;
     76
     77    /**
     78     * @brief unbind texture id
     79     */
     80    void unbind() const;
     81
     82    /**
     83     * @brief update pixel data
     84     * @param data pixel data
     85     */
     86    virtual void updatePixels(void* data) = 0;
     87
     88    /**
     89     * @brief retur texture object id
     90     */
     91    unsigned int getGraphicsObjectID() const;
     92
     93    /**
     94     * @brief return texture target
     95     */
     96    TEXTARGET getTextureTarget() const;
     97
     98    /**
     99     * @brief set min filter
     100     */
     101    void setMinFilter(TEXFILTER filter);
     102
     103    /**
     104     * @brief set mag filter
     105     */
     106    void setMagFilter(TEXFILTER filter);
     107
     108    /**
     109     * @brief return min filter
     110     */
     111    TEXFILTER getMinFilter() const;
     112
     113    /**
     114     * @brief return mag filter
     115     */
     116    TEXFILTER getMagFilter() const;
     117
     118    /**
     119     * @brief return color format
     120     */
     121    COLORFORMAT getColorFormat() const;
     122
     123    /**
     124     * @brief return data type
     125     */
     126    DATATYPE getDataType() const;
     127
     128    /**
     129     * @brief component count
     130     */
     131    int getCompCount() const;
    139132};
    140133
    141 
    142134inline void vrTexture::bind(int index) const
    143135{
    144         glEnable(_target);
    145         glActiveTexture(GL_TEXTURE0 + index);
    146         glBindTexture(_target, _objectID);
     136    glEnable(_target);
     137    glActiveTexture(GL_TEXTURE0 + index);
     138    glBindTexture(_target, _objectID);
    147139}
    148140
    149141inline void vrTexture::unbind() const
    150142{
    151         glDisable(_target);
     143    glDisable(_target);
    152144}
    153145
    154146inline unsigned int vrTexture::getGraphicsObjectID() const
    155147{
    156         return _objectID;
     148    return _objectID;
    157149}
    158150
    159151inline TEXTARGET vrTexture::getTextureTarget() const
    160152{
    161         return _target;
     153    return _target;
    162154}
    163155
    164156inline void vrTexture::setMinFilter(TEXFILTER filter)
    165157{
    166         _minFilter = filter;
     158    _minFilter = filter;
    167159}
    168160
    169161inline void vrTexture::setMagFilter(TEXFILTER filter)
    170162{
    171         _magFilter = filter;
     163    _magFilter = filter;
    172164}
    173165
    174166inline TEXFILTER vrTexture::getMinFilter() const
    175167{
    176         return _minFilter;
     168    return _minFilter;
    177169}
    178170
    179171inline TEXFILTER vrTexture::getMagFilter() const
    180172{
    181         return _magFilter;
     173    return _magFilter;
    182174}
    183175
    184176inline COLORFORMAT vrTexture::getColorFormat() const
    185177{
    186         return _colorFormat;
     178    return _colorFormat;
    187179}
    188180
    189181inline DATATYPE vrTexture::getDataType() const
    190182{
    191         return _type;
     183    return _type;
    192184}
    193185
    194186inline int vrTexture::getCompCount() const
    195187{
    196         return _compCount;
     188    return _compCount;
    197189}
    198190
    199191inline int GetNumComponent(COLORFORMAT format)
    200192{
    201        switch (format)
    202        {
    203        case CF_LUMINANCE : return 1;
    204        case CF_RGB : return 3;
    205        case CF_RGBA : return 4;
    206        default :
    207                //R2Assert(0);
    208                    ;
    209        }
    210        return 0;
     193    switch (format) {
     194    case CF_LUMINANCE : return 1;
     195    case CF_RGB : return 3;
     196    case CF_RGBA : return 4;
     197    default :
     198        ;
     199    }
     200    return 0;
    211201}
    212202
    213203inline int SizeOf(DATATYPE format)
    214204{
    215        switch (format)
    216        {
    217        case DT_UBYTE : return sizeof(unsigned char);
    218        case DT_FLOAT : return sizeof(float);
    219 #ifndef OPENGLES
    220        //case DT_UINT : return sizeof(unsigned int);
    221        //case DT_INT : return sizeof(unsigned int);
     205    switch (format) {
     206    case DT_UBYTE : return sizeof(unsigned char);
     207    case DT_FLOAT : return sizeof(float);
     208    //case DT_UINT : return sizeof(unsigned int);
     209    //case DT_INT : return sizeof(unsigned int);
     210    default :
     211        ;
     212    }
     213    return 0;
     214}
     215
     216inline bool IsPowerOfTwo(int value)
     217{
     218    return ((value&(value-1))==0);
     219}
     220
     221inline int GetNextPowerOfTwo(int value)
     222{
     223    int nextPOT = 1;
     224    while (nextPOT < value) {
     225        nextPOT <<= 1;
     226    }
     227
     228    return nextPOT;
     229}
     230
    222231#endif
    223        default :
    224                //R2Assert(0);
    225                    ;
    226        }
    227        return 0;
    228 }
    229 
    230 inline bool IsPowerOfTwo(int value)
    231 {
    232        return ((value&(value-1))==0);
    233 }
    234 
    235 inline int GetNextPowerOfTwo(int value)
    236 {
    237        int nextPOT = 1;
    238        while (nextPOT < value)
    239        {
    240                nextPOT <<= 1;
    241            }
    242 
    243        return nextPOT;
    244 }
    245 
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrTexture1D.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #pragma once
     2#ifndef VRTEXTURE1D_H
     3#define VRTEXTURE1D_H
    34
    45#include <vr3d/vrEnums.h>
    56#include <vr3d/vrTexture.h>
    67
    7 class Vr3DExport vrTexture1D : public vrTexture {
     8class Vr3DExport vrTexture1D : public vrTexture
     9{
     10    /**
     11     * @brief Two-dimensional texture width.
     12     * @brief Default value is 0
     13     */
     14    int _width;
    815
    9         /**
    10          * @brief Two-dimensional texture width.
    11          * @brief Default value is 0
    12          */
    13         int                     _width;
    14 
    15         /**
    16          * @brief Wrap mode.
    17          * @brief Default value is R2_CLAMP
    18          */
    19         TEXWRAP         _wrapS;
     16    /**
     17     * @brief Wrap mode.
     18     * @brief Default value is R2_CLAMP
     19     */
     20    TEXWRAP _wrapS;
    2021
    2122public :
    22         /**
    23         * @brief constructuor
    24         */
    25         vrTexture1D(bool depth = false);
     23    /**
     24    * @brief constructuor
     25    */
     26    vrTexture1D(bool depth = false);
    2627
    27         /**
    28         * @brief destructor
    29         */
    30         ~vrTexture1D();
     28    /**
     29    * @brief destructor
     30    */
     31    ~vrTexture1D();
    3132
    32         /**
    33         * @brief get texture size
    34         * @return texture length
    35         */
    36         int getWidth() const;
     33    /**
     34    * @brief get texture size
     35    * @return texture length
     36    */
     37    int getWidth() const;
    3738
    38         /**
    39         * @brief set wrap mode
    40         */
    41         void setWrapS(TEXWRAP wrap);
     39    /**
     40    * @brief set wrap mode
     41    */
     42    void setWrapS(TEXWRAP wrap);
    4243
    4344
    44         /**
    45          * @brief set wrap mode
    46          */
    47         TEXWRAP getWrapS() const;
    48 
    49         /**
    50          * @brief set texture data
    51          * @param format texture data format
    52          * @param type texture data type
    53          * @param width texture width
    54          * @param data texture data
    55          */
    56         void setPixels(COLORFORMAT format, DATATYPE type, int width, void* data);
     45    /**
     46     * @brief set wrap mode
     47     */
     48    TEXWRAP getWrapS() const;
    5749
    5850    /**
    59          * @brief set texture data
    60      * @param internalFormat texture internal data format
    61          * @param format texture data format
    62          * @param type texture data type
    63          * @param width texture width
    64          * @param data texture data
    65          */
    66         void setPixels(TEXTARGET target, COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, void* data);
     51     * @brief set texture data
     52     * @param format texture data format
     53     * @param type texture data type
     54     * @param width texture width
     55     * @param data texture data
     56     */
     57    void setPixels(COLORFORMAT format, DATATYPE type, int width, void* data);
    6758
    6859    /**
    69          * @brief set texture data (NV)
     60     * @brief set texture data
     61     * @param internalFormat texture internal data format
     62     * @param format texture data format
     63     * @param type texture data type
     64     * @param width texture width
     65     * @param data texture data
     66     */
     67    void setPixels(TEXTARGET target, COLORFORMAT internalFormat,
     68                   COLORFORMAT format, DATATYPE type, int width, void *data);
     69
     70    /**
     71     * @brief set texture data (NV)
    7072     * @param internalFormat internal colorformat
    71          * @param format texture data format
    72          * @param type texture data type
    73          * @param width texture width
    74          * @param data texture data
    75          */
    76         void setPixels(COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, void* data);
     73     * @param format texture data format
     74     * @param type texture data type
     75     * @param width texture width
     76     * @param data texture data
     77     */
     78    void setPixels(COLORFORMAT internalFormat, COLORFORMAT format,
     79                   DATATYPE type, int width, void *data);
    7780
    78         /**
    79          * @brief update pixel data
    80          * @param data pixel data
    81          */
    82         virtual void updatePixels(void* data);
    83 
     81    /**
     82     * @brief update pixel data
     83     * @param data pixel data
     84     */
     85    virtual void updatePixels(void *data);
    8486};
    8587
    8688inline int vrTexture1D::getWidth() const
    8789{
    88         return _width;
     90    return _width;
    8991}
    9092
    9193inline void vrTexture1D::setWrapS(TEXWRAP wrap)
    9294{
    93         _wrapS = wrap;
     95    _wrapS = wrap;
    9496}
    95 
    9697
    9798inline TEXWRAP vrTexture1D::getWrapS() const
    9899{
    99         return _wrapS;
     100    return _wrapS;
    100101}
    101102
     103#endif
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrTexture2D.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #pragma once
     2#ifndef VRTEXTURE2D_H
     3#define VRTEXTURE2D_H
    34
    45#include <vr3d/vrEnums.h>
    56#include <vr3d/vrTexture.h>
    67
    7 class Vr3DExport vrTexture2D : public vrTexture {
    8 
    9         /**
    10          * @brief Two-dimensional texture width.
    11          * @brief Default value is 0
    12          */
    13         int                     _width;
    14 
    15         /**
    16          * @brief Two-dimensional texture height.
    17          * @brief Default value is 0
    18          */
    19         int                     _height;
    20 
    21         /**
    22          * @brief Wrap mode.
    23          * @brief Default value is R2_CLAMP
    24          */
    25         TEXWRAP         _wrapS;
    26 
    27         /**
    28          * @brief Wrap mode.
    29          * @brief Default value is R2_CLAMP
    30          */
    31         TEXWRAP         _wrapT;
    32 
    33         bool _depthTexture;
    34 public :
    35         /**
    36          * @brief constructuor
    37          */
    38         vrTexture2D(bool depth = false);
    39 
    40         /**
    41          * @brief destructor
    42          */
    43         ~vrTexture2D();
    44 
    45         /**
    46          * @brief get texture size
    47          * @return texture length
    48          */
    49         int getWidth() const;
    50 
    51         /**
    52          * @brief get texture height
    53          * @return texture height
    54          */
    55         int getHeight() const;
    56 
    57         /**
    58          * @brief set wrap mode
    59          */
    60         void setWrapS(TEXWRAP wrap);
    61 
    62         /*
    63          * @brief set wrap mode
    64          */
    65         void setWrapT(TEXWRAP wrap);
    66 
    67         /**
    68          * @brief set wrap mode
    69          */
    70         TEXWRAP getWrapS() const;
    71 
    72         /*
    73          * @brief set wrap mode
    74          */
    75         TEXWRAP getWrapT() const;
    76 
    77         /**
    78          * @brief set texture data
    79          * @param format texture data format
    80          * @param type texture data type
    81          * @param width texture width
    82          * @param data texture data
    83          */
    84         void setPixels(COLORFORMAT format, DATATYPE type, int width, int height, void* data);
     8class Vr3DExport vrTexture2D : public vrTexture
     9{
     10    /**
     11     * @brief Two-dimensional texture width.
     12     * @brief Default value is 0
     13     */
     14    int _width;
    8515
    8616    /**
    87          * @brief set texture data
    88      * @param internalFormat texture internal data format
    89          * @param format texture data format
    90          * @param type texture data type
    91          * @param width texture width
    92          * @param data texture data
    93          */
    94         void setPixels(TEXTARGET target, COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, int height, void* data);
     17     * @brief Two-dimensional texture height.
     18     * @brief Default value is 0
     19     */
     20    int _height;
    9521
    9622    /**
    97          * @brief set texture data (NV)
     23     * @brief Wrap mode.
     24     * @brief Default value is R2_CLAMP
     25     */
     26    TEXWRAP _wrapS;
     27
     28    /**
     29     * @brief Wrap mode.
     30     * @brief Default value is R2_CLAMP
     31     */
     32    TEXWRAP _wrapT;
     33
     34    bool _depthTexture;
     35public:
     36    /**
     37     * @brief constructuor
     38     */
     39    vrTexture2D(bool depth = false);
     40
     41    /**
     42     * @brief destructor
     43     */
     44    ~vrTexture2D();
     45
     46    /**
     47     * @brief get texture size
     48     * @return texture length
     49     */
     50    int getWidth() const;
     51
     52    /**
     53     * @brief get texture height
     54     * @return texture height
     55     */
     56    int getHeight() const;
     57
     58    /**
     59     * @brief set wrap mode
     60     */
     61    void setWrapS(TEXWRAP wrap);
     62
     63    /*
     64     * @brief set wrap mode
     65     */
     66    void setWrapT(TEXWRAP wrap);
     67
     68    /**
     69     * @brief set wrap mode
     70     */
     71    TEXWRAP getWrapS() const;
     72
     73    /*
     74     * @brief set wrap mode
     75     */
     76    TEXWRAP getWrapT() const;
     77
     78    /**
     79     * @brief set texture data
     80     * @param format texture data format
     81     * @param type texture data type
     82     * @param width texture width
     83     * @param data texture data
     84     */
     85    void setPixels(COLORFORMAT format, DATATYPE type,
     86                   int width, int height, void* data);
     87
     88    /**
     89     * @brief set texture data
     90     * @param internalFormat texture internal data format
     91     * @param format texture data format
     92     * @param type texture data type
     93     * @param width texture width
     94     * @param data texture data
     95     */
     96    void setPixels(TEXTARGET target, COLORFORMAT internalFormat,
     97                   COLORFORMAT format, DATATYPE type, int width, int height, void *data);
     98
     99    /**
     100     * @brief set texture data (NV)
    98101     * @param internalFormat internal colorformat
    99          * @param format texture data format
    100          * @param type texture data type
    101          * @param width texture width
    102          * @param data texture data
    103          */
    104         void setPixels(COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, int height, void* data);
     102     * @param format texture data format
     103     * @param type texture data type
     104     * @param width texture width
     105     * @param data texture data
     106     */
     107    void setPixels(COLORFORMAT internalFormat, COLORFORMAT format,
     108                   DATATYPE type, int width, int height, void *data);
    105109
    106         /**
    107         * @brief update pixel data
    108         * @param data pixel data
    109         */
    110         virtual void updatePixels(void* data);
     110    /**
     111    * @brief update pixel data
     112    * @param data pixel data
     113    */
     114    virtual void updatePixels(void *data);
    111115};
    112116
    113117inline int vrTexture2D::getWidth() const
    114118{
    115         return _width;
     119    return _width;
    116120}
    117121
    118122inline int vrTexture2D::getHeight() const
    119123{
    120         return _height;
     124    return _height;
    121125}
    122126
    123127inline void vrTexture2D::setWrapS(TEXWRAP wrap)
    124128{
    125         _wrapS = wrap;
     129    _wrapS = wrap;
    126130}
    127131
    128132inline void vrTexture2D::setWrapT(TEXWRAP wrap)
    129133{
    130         _wrapT = wrap;
     134    _wrapT = wrap;
    131135}
    132136
    133137inline TEXWRAP vrTexture2D::getWrapS() const
    134138{
    135         return _wrapS;
     139    return _wrapS;
    136140}
    137141
    138142inline TEXWRAP vrTexture2D::getWrapT() const
    139143{
    140         return _wrapT;
     144    return _wrapT;
    141145}
     146
     147#endif
  • trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrTexture3D.h

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #pragma once
     2#ifndef VRTEXTURE3D_H
     3#define VRTEXTURE3D_H
    34
    45#include <vr3d/vrTexture.h>
    56
    6 #ifndef OPENGLES
    7 
    8 class Vr3DExport vrTexture3D : public vrTexture {
    9 
    10 
    11         /**
    12          * @brief Three-dimensional texture width.
    13          * @brief Default value is 0
    14          */
    15         int                     _width;
    16 
    17         /**
    18          * @brief Three-dimensional texture height.
    19          * @brief Default value is 0
    20          */
    21         int                     _height;
    22 
    23         /**
    24          * @brief Three-dimensional texture depth.
    25          * @brief Default value is 0
    26          */
    27         int                     _depth;
    28 
    29         /**
    30          * @brief Wrap mode.
    31          * @brief Default value is R2_CLAMP
    32          */
    33         TEXWRAP         _wrapS;
    34 
    35         /**
    36          * @brief Wrap mode.
    37          * @brief Default value is R2_CLAMP
    38          */
    39         TEXWRAP         _wrapT;
    40 public :
    41         /**
    42          * @brief constructuor
    43          */
    44         vrTexture3D();
    45 
    46         /**
    47          * @brief destructor
    48          */
    49         ~vrTexture3D();
    50 
    51         /**
    52          * @brief get texture size
    53          * @return texture length
    54          */
    55         int getWidth() const;
    56 
    57         /**
    58          * @brief get texture height
    59          * @return texture height
    60          */
    61         int getHeight() const;
    62 
    63         /**
    64          * @brief get texture height
    65          * @return texture depth
    66          */
    67         int getDepth() const;
    68 
    69         /**
    70          * @brief set wrap mode
    71          */
    72         void setWrapS(TEXWRAP wrap);
    73 
    74         /*
    75          * @brief set wrap mode
    76          */
    77         void setWrapT(TEXWRAP wrap);
    78 
    79         /**
    80          * @brief set wrap mode
    81          */
    82         TEXWRAP getWrapS() const;
    83 
    84         /*
    85          * @brief set wrap mode
    86          */
    87         TEXWRAP getWrapT() const;
    88 
    89         /**
    90          * @brief set texture data
    91          * @param format texture data format
    92          * @param type texture data type
    93          * @param width texture width
    94          * @param data texture data
    95          */
    96         void setPixels(COLORFORMAT format, DATATYPE type, int width, int height, int depth, void* data);
     7class Vr3DExport vrTexture3D : public vrTexture
     8{
     9    /**
     10     * @brief Three-dimensional texture width.
     11     * @brief Default value is 0
     12     */
     13    int _width;
    9714
    9815    /**
    99          * @brief set texture data
    100      * @param internalFormat texture internal data format
    101          * @param format texture data format
    102          * @param type texture data type
    103          * @param width texture width
    104          * @param data texture data
    105          */
    106         void setPixels(TEXTARGET target, COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, int height, int depth, void* data);
     16     * @brief Three-dimensional texture height.
     17     * @brief Default value is 0
     18     */
     19    int _height;
    10720
    10821    /**
    109          * @brief set texture data (NV)
     22     * @brief Three-dimensional texture depth.
     23     * @brief Default value is 0
     24     */
     25    int _depth;
     26
     27    /**
     28     * @brief Wrap mode.
     29     * @brief Default value is R2_CLAMP
     30     */
     31    TEXWRAP _wrapS;
     32
     33    /**
     34     * @brief Wrap mode.
     35     * @brief Default value is R2_CLAMP
     36     */
     37    TEXWRAP _wrapT;
     38
     39public:
     40    /**
     41     * @brief constructuor
     42     */
     43    vrTexture3D();
     44
     45    /**
     46     * @brief destructor
     47     */
     48    ~vrTexture3D();
     49
     50    /**
     51     * @brief get texture size
     52     * @return texture length
     53     */
     54    int getWidth() const;
     55
     56    /**
     57     * @brief get texture height
     58     * @return texture height
     59     */
     60    int getHeight() const;
     61
     62    /**
     63     * @brief get texture height
     64     * @return texture depth
     65     */
     66    int getDepth() const;
     67
     68    /**
     69     * @brief set wrap mode
     70     */
     71    void setWrapS(TEXWRAP wrap);
     72
     73    /*
     74     * @brief set wrap mode
     75     */
     76    void setWrapT(TEXWRAP wrap);
     77
     78    /**
     79     * @brief set wrap mode
     80     */
     81    TEXWRAP getWrapS() const;
     82
     83    /*
     84     * @brief set wrap mode
     85     */
     86    TEXWRAP getWrapT() const;
     87
     88    /**
     89     * @brief set texture data
     90     * @param format texture data format
     91     * @param type texture data type
     92     * @param width texture width
     93     * @param data texture data
     94     */
     95    void setPixels(COLORFORMAT format, DATATYPE type,
     96                   int width, int height, int depth, void *data);
     97
     98    /**
     99     * @brief set texture data
     100     * @param internalFormat texture internal data format
     101     * @param format texture data format
     102     * @param type texture data type
     103     * @param width texture width
     104     * @param data texture data
     105     */
     106    void setPixels(TEXTARGET target, COLORFORMAT internalFormat,
     107                   COLORFORMAT format, DATATYPE type,
     108                   int width, int height, int depth, void *data);
     109
     110    /**
     111     * @brief set texture data (NV)
    110112     * @param internalFormat internal colorformat
    111          * @param format texture data format
    112          * @param type texture data type
    113          * @param width texture width
    114          * @param data texture data
    115          */
    116         void setPixels(COLORFORMAT internalFormat, COLORFORMAT format, DATATYPE type, int width, int height, int depth, void* data);
     113     * @param format texture data format
     114     * @param type texture data type
     115     * @param width texture width
     116     * @param data texture data
     117     */
     118    void setPixels(COLORFORMAT internalFormat, COLORFORMAT format,
     119                   DATATYPE type, int width, int height, int depth, void *data);
    117120
    118         /**
    119         * @brief update pixel data
    120         * @param data pixel data
    121         */
    122         virtual void updatePixels(void* data);
     121    /**
     122    * @brief update pixel data
     123    * @param data pixel data
     124    */
     125    virtual void updatePixels(void *data);
    123126};
    124 
    125127
    126128inline int vrTexture3D::getWidth() const
    127129{
    128         return _width;
     130    return _width;
    129131}
    130132
    131133inline int vrTexture3D::getHeight() const
    132134{
    133         return _height;
     135    return _height;
    134136}
    135137
    136138inline int vrTexture3D::getDepth() const
    137139{
    138         return _depth;
     140    return _depth;
    139141}
    140142
    141143inline void vrTexture3D::setWrapS(TEXWRAP wrap)
    142144{
    143         _wrapS = wrap;
     145    _wrapS = wrap;
    144146}
    145147
    146148inline void vrTexture3D::setWrapT(TEXWRAP wrap)
    147149{
    148         _wrapT = wrap;
     150    _wrapT = wrap;
    149151}
    150152
    151153inline TEXWRAP vrTexture3D::getWrapS() const
    152154{
    153         return _wrapS;
     155    return _wrapS;
    154156}
    155157
    156158inline TEXWRAP vrTexture3D::getWrapT() const
    157159{
    158         return _wrapT;
     160    return _wrapT;
    159161}
    160162
  • trunk/packages/vizservers/nanovis/vr3d/vr3d.cpp

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #include <vr3d/vr3d.h>
    3 #ifndef OPENGLES
    4 #include <GL/glew.h>
    5 #endif
     2
    63#include <stdio.h>
    7 #ifndef WIN32
    84#include <sys/time.h>
    95#include <time.h>
    106#include <stdint.h>
    11 #endif
    127
     8#include <vr3d/vr3d.h>
    139
    14 
    15 
    16 #ifdef USE_SOUND
    17 
    18 /*
    19 #pragma pack(1)
    20 typedef struct {
    21 uint32_t Chunk_ID;
    22 uint32_t ChunkSize;
    23 ...
    24 uint16_t AudioFormat;
    25 ...
    26 } WAV_header_t;
    27 #pragma pack()
    28 */
    29 
    30 
    31 
    32 int is_big_endian(void) {
    33 unsigned char test[4] = { 0x12, 0x34, 0x56, 0x78 };
    34 
    35 return *((uint32_t *)test) == 0x12345678;
    36 }
    37 
    38 
    39 #include <al.h>
    40 #include <alc.h>
    41 // TBD..
    42 #include <alut.h>
    43 #endif
    44 
     10#include <GL/glew.h>
    4511
    4612float _currentTime = 0;
     
    4915void vrInitializeTimeStamp()
    5016{
    51 #ifdef WIN32
    52         _startTime = ::timeGetTime() * 0.001f;
    53 #else
    54         _startTime = (float) clock() / (float) CLOCKS_PER_SEC;
    55 #endif
     17    _startTime = (float)clock() / (float)CLOCKS_PER_SEC;
    5618}
    5719
    5820float vrGetTimeStamp()
    5921{
    60         //return (_currentTime - _startTime) * 10;
    61         return (_currentTime - _startTime);
     22    return (_currentTime - _startTime);
    6223}
    6324
    6425void vrUpdateTimeStamp()
    6526{
    66 #ifdef WIN32
    67         _currentTime = ::timeGetTime() * 0.001f;
    68 #else
    69         _currentTime = (float) clock() / (float) CLOCKS_PER_SEC;
    70 #endif
     27    _currentTime = (float)clock() / (float)CLOCKS_PER_SEC;
    7128}
    7229
    73 int initOpenAL(void);
    7430void vrInit()
    7531{
    76 #ifndef OPENGLES
    77         ::glewInit();
    78 #endif
    79 /*
    80         if (! glewIsSupported( "GL_EXT_framebuffer_object GL_NV_depth_buffer_float")) {
    81         fprintf( stderr, "Error: This program requires the following capabilities\n");
    82         fprintf( stderr, "  OpenGL version 2.0 or later\n");
    83         fprintf( stderr, "  Support for the GL_EXT_framebuffer_object extension\n");
    84         fprintf( stderr, "  Support for the GL_NV_depth_buffer_float extension\n\n");
    85         exit(-1);
    86     }
    87         */
    88 
    89         initOpenAL();
    90        
     32    ::glewInit();
    9133}
    92 
    93 int initOpenAL(void)
    94 {
    95 #ifdef USE_SOUND
    96         alutInit(0, 0);
    97         //glGetError();
    98         /*
    99         ALCcontext *context;
    100         ALCdevice *device;
    101         const ALCchar *default_device;
    102 
    103         default_device = alcGetString(NULL,
    104         ALC_DEFAULT_DEVICE_SPECIFIER);
    105 
    106         printf("using default device: %s\n", default_device);
    107 
    108         if ((device = alcOpenDevice(default_device)) == NULL) {
    109                 fprintf(stderr, "failed to open sound device\n");
    110                 return -1;
    111         }
    112         context = alcCreateContext(device, NULL);
    113         alcMakeCurrentContext(context);
    114         alcProcessContext(context);
    115 
    116         atexit(atexit_openal);
    117 
    118         // allocate buffers and sources here using alGenBuffers() and alGenSources()
    119 
    120         alGetError();
    121         */
    122 
    123         // Set Listener attributes
    124         // Position ...
    125         int error;
    126         ALfloat listenerPos[]={0.0,0.0,0.0}; // At the origin
    127         ALfloat listenerVel[]={0.0,0.0,0.0}; // The velocity (no doppler here)
    128         ALfloat listenerOri[]={0.0,0.0,-1.0, 0.0,1.0,0.0}; // LookAt then Up
    129         alListenerfv(AL_POSITION,listenerPos);
    130         if ((error = alGetError()) != AL_NO_ERROR)
    131         {
    132                 //DisplayOpenALError("alListenerfv :", error);
    133                 printf("alListenerfv : %d\n", error);
    134                 return 0;
    135         }
    136         // Velocity ...
    137         alListenerfv(AL_VELOCITY,listenerVel);
    138         if ((error = alGetError()) != AL_NO_ERROR)
    139         {
    140                 //DisplayOpenALError("alListenerfv :", error);
    141                 printf("alListenerfv :%d\n", error);
    142                 return 0;
    143         }
    144         // Orientation ...
    145         alListenerfv(AL_ORIENTATION,listenerOri);
    146         if ((error = alGetError()) != AL_NO_ERROR)
    147         {
    148                 //DisplayOpenALError("alListenerfv :", error);
    149                 printf("alListenerfv :%d\n", error);
    150                 return 0;
    151         }
    152 #endif
    153 
    154         return 0;
    155 }
    156 
    15734
    15835void vrExit()
    15936{
    160 #ifdef USE_SOUND
    161         alutExit();
    162 #endif
    16337}
  • trunk/packages/vizservers/nanovis/vr3d/vrTexture.cpp

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
     2
    23#include <vr3d/vrTexture.h>
    34
    4 vrTexture::vrTexture()
    5 :
    6   _objectID(0),
    7   _type(DT_FLOAT),
    8   _colorFormat(CF_RGBA),
    9   _internalColorFormat(CF_RGBA),
    10   _minFilter(TF_LINEAR),
    11   _magFilter(TF_LINEAR),
    12   _compCount(4)
     5vrTexture::vrTexture() :
     6    _objectID(0),
     7    _type(DT_FLOAT),
     8    _colorFormat(CF_RGBA),
     9    _internalColorFormat(CF_RGBA),
     10    _minFilter(TF_LINEAR),
     11    _magFilter(TF_LINEAR),
     12    _compCount(4)
    1313{
    1414}
    1515
    16 
    1716vrTexture::~vrTexture()
    1817{
    19         ::glDeleteTextures(1, &_objectID);
     18    ::glDeleteTextures(1, &_objectID);
    2019}
  • trunk/packages/vizservers/nanovis/vr3d/vrTexture1D.cpp

    r2798 r2824  
    1515#endif
    1616
    17 
    18 vrTexture1D::vrTexture1D(bool depth)
    19 : _width(0)
     17vrTexture1D::vrTexture1D(bool depth):
     18    _width(0)
    2019{
    21         _target = TT_TEXTURE_1D;
    22         _wrapS =TW_CLAMP_TO_EDGE;
     20    _target = TT_TEXTURE_1D;
     21    _wrapS = TW_CLAMP_TO_EDGE;
    2322}
    2423
     
    2726}
    2827
    29 void vrTexture1D::setPixels(COLORFORMAT colorFormat, DATATYPE type, int width, void* data)
    30 
     28void vrTexture1D::setPixels(COLORFORMAT colorFormat, DATATYPE type,
     29                            int width, void *data)
    3130{
    3231    setPixels(TT_TEXTURE_1D, colorFormat,  colorFormat, type, width, data);
    3332}
    3433
    35 void vrTexture1D::setPixels(TEXTARGET target,  COLORFORMAT internalColorFormat, COLORFORMAT colorFormat, DATATYPE type, int width, void* data)
     34void vrTexture1D::setPixels(TEXTARGET target,  COLORFORMAT internalColorFormat,
     35                            COLORFORMAT colorFormat, DATATYPE type,
     36                            int width, void* data)
    3637{
    37         _target = target;
    38         _width = width;
    39         _type = type;
    40         _internalColorFormat = internalColorFormat;
    41         _colorFormat = colorFormat;
    42         _compCount = GetNumComponent(_colorFormat);
     38    _target = target;
     39    _width = width;
     40    _type = type;
     41    _internalColorFormat = internalColorFormat;
     42    _colorFormat = colorFormat;
     43    _compCount = GetNumComponent(_colorFormat);
    4344
    44         if (_objectID)
     45    if (_objectID)
    4546        {
    46                 glDeleteTextures(1, &_objectID);
     47            glDeleteTextures(1, &_objectID);
    4748        }
    4849
    49         glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    50         glGenTextures(1, &_objectID);
    51         glBindTexture(_target, _objectID);
     50    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     51    glGenTextures(1, &_objectID);
     52    glBindTexture(_target, _objectID);
    5253
    53         glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    54         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    55         glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
     54    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
     55    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     56    glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
    5657
    57         glTexImage1D(_target, 0, _internalColorFormat, _width, 0, _colorFormat, _type, data);
    58 
    59        
     58    glTexImage1D(_target, 0, _internalColorFormat, _width, 0, _colorFormat, _type, data);
    6059}
    6160
    62 void vrTexture1D::updatePixels(void* data)
     61void vrTexture1D::updatePixels(void *data)
    6362{
    64         glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    65         glBindTexture(_target, _objectID);
    66         glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
    67         glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    68         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    69         glTexImage1D(_target, 0, _internalColorFormat, _width, 0, _colorFormat, _type, data);
     63    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     64    glBindTexture(_target, _objectID);
     65    glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
     66    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
     67    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     68    glTexImage1D(_target, 0, _internalColorFormat, _width, 0, _colorFormat, _type, data);
    7069}
    71 
  • trunk/packages/vizservers/nanovis/vr3d/vrTexture2D.cpp

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #include <vr3d/vrTexture2D.h>
    32
    43#include <string.h>
    54#include <math.h>
    6 #include <valarray>
     5#include <valarray>
     6
     7#include <vr3d/vrTexture2D.h>
    78
    89#ifdef _WIN32
     
    1516#endif
    1617
    17 
    18 vrTexture2D::vrTexture2D(bool depth)
    19 : _width(0), _depthTexture(depth)
     18vrTexture2D::vrTexture2D(bool depth) :
     19    _width(0),
     20    _depthTexture(depth)
    2021{
    21         _target = TT_TEXTURE_2D;
    22         _wrapT = TW_CLAMP_TO_EDGE;
    23         _wrapS =TW_CLAMP_TO_EDGE;
     22    _target = TT_TEXTURE_2D;
     23    _wrapT = TW_CLAMP_TO_EDGE;
     24    _wrapS =TW_CLAMP_TO_EDGE;
    2425}
    2526
     
    2829}
    2930
    30 void vrTexture2D::setPixels(COLORFORMAT colorFormat, DATATYPE type, int width, int height, void* data)
     31void vrTexture2D::setPixels(COLORFORMAT colorFormat, DATATYPE type,
     32                            int width, int height, void *data)
    3133
    3234{
     
    3436#ifndef OPENGLES
    3537    if ((pow(2.0f, (float)log2(width)) != width) &&
    36                 (pow(2.0f, (float)log2(height)) != height))
    37         {
    38                 if (type == DT_FLOAT)
    39                 {
    40                         target = TT_TEXTURE_RECTANGLE;
    41                 }
    42                 else
    43                 {
    44                         target = TT_TEXTURE_2D;
    45                 }
    46         }
    47         else
    48         {
    49                 target = TT_TEXTURE_2D;
    50         }
     38        (pow(2.0f, (float)log2(height)) != height)) {
     39        if (type == DT_FLOAT) {
     40            target = TT_TEXTURE_RECTANGLE;
     41        } else {
     42            target = TT_TEXTURE_2D;
     43        }
     44    } else {
     45        target = TT_TEXTURE_2D;
     46    }
    5147#else
    52         target = TT_TEXTURE_2D;
     48    target = TT_TEXTURE_2D;
    5349#endif
    5450
    55     setPixels(target, colorFormat,  colorFormat, type, width, height, data);
     51    setPixels(target, colorFormat, colorFormat, type, width, height, data);
    5652}
    5753
    58 void vrTexture2D::setPixels(TEXTARGET target,  COLORFORMAT internalColorFormat, COLORFORMAT colorFormat, DATATYPE type, int width, int height, void* data)
     54void vrTexture2D::setPixels(TEXTARGET target,
     55                            COLORFORMAT internalColorFormat,
     56                            COLORFORMAT colorFormat,
     57                            DATATYPE type, int width, int height, void* data)
    5958{
    6059    _target = target;
    61         _width = width;
    62         _height = height;
    63         _type = type;
     60    _width = width;
     61    _height = height;
     62    _type = type;
    6463    _internalColorFormat = internalColorFormat;
    65         _colorFormat = colorFormat;
    66         _compCount = GetNumComponent(_colorFormat);
     64    _colorFormat = colorFormat;
     65    _compCount = GetNumComponent(_colorFormat);
    6766
    68         if (_objectID)
    69         {
    70                 glDeleteTextures(1, &_objectID);
    71         }
     67    if (_objectID) {
     68        glDeleteTextures(1, &_objectID);
     69    }
    7270
    73         //glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    74         glGenTextures(1, &_objectID);
    75         glBindTexture(_target, _objectID);
    76         glTexImage2D(_target, 0, _internalColorFormat, _width, _height, 0, _colorFormat, _type, data);
     71    //glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     72    glGenTextures(1, &_objectID);
     73    glBindTexture(_target, _objectID);
     74    glTexImage2D(_target, 0, _internalColorFormat, _width, _height, 0, _colorFormat, _type, data);
    7775    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    78         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     76    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    7977       
    80         // TBD...
    81 #ifndef OPENGLES
    82         if (_depthTexture)
    83         {
    84                 //glTexParameteri(_target, GL_DEPTH_TEXTURE_MODE, GL_INTENSITY);
    85                 glTexParameteri(_target, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE);
    86                
    87                 glTexParameteri(_target, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
    88                 glTexParameteri(_target, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
     78    // TBD...
     79    if (_depthTexture) {
     80        //glTexParameteri(_target, GL_DEPTH_TEXTURE_MODE, GL_INTENSITY);
     81        glTexParameteri(_target, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE);
    8982
    90                 //glDrawBuffer(GL_NONE);
    91                 //glReadBuffer(GL_NONE);
    92         }
    93 #endif
     83        glTexParameteri(_target, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL);
     84        glTexParameteri(_target, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE);
    9485
     86        //glDrawBuffer(GL_NONE);
     87        //glReadBuffer(GL_NONE);
     88    }
    9589       
    96         //TBD..
    97         glTexParameterf(_target, GL_TEXTURE_WRAP_S, _wrapS);
    98         glTexParameterf(_target, GL_TEXTURE_WRAP_T, _wrapT);
    99 
    100        
     90    //TBD..
     91    glTexParameterf(_target, GL_TEXTURE_WRAP_S, _wrapS);
     92    glTexParameterf(_target, GL_TEXTURE_WRAP_T, _wrapT);
    10193}
    10294
    103 void vrTexture2D::updatePixels(void* data)
     95void vrTexture2D::updatePixels(void *data)
    10496{
    105         glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    106         glBindTexture(_target, _objectID);
    107         glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
    108         glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapT);
    109         glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    110         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    111         glTexImage2D(_target, 0, _internalColorFormat, _width, _height, 0, _colorFormat, _type, data);
     97    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     98    glBindTexture(_target, _objectID);
     99    glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
     100    glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapT);
     101    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
     102    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     103    glTexImage2D(_target, 0, _internalColorFormat, _width, _height, 0, _colorFormat, _type, data);
    112104}
    113105
  • trunk/packages/vizservers/nanovis/vr3d/vrTexture3D.cpp

    r2798 r2824  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    2 #include <vr3d/vrTexture3D.h>
    32
    43#include <string.h>
    54#include <math.h>
    6 #include <valarray> 
     5#include <valarray>
    76
    8 #ifndef OPENGLES
     7#include <vr3d/vrTexture3D.h>
     8
    99#ifdef _WIN32
    1010inline unsigned int log2(unsigned int x)
     
    1616#endif
    1717
    18 
    19 vrTexture3D::vrTexture3D()
    20 : _width(0), _height(0), _depth(0)
     18vrTexture3D::vrTexture3D() :
     19    _width(0),
     20    _height(0),
     21    _depth(0)
    2122{
    22         _target = TT_TEXTURE_3D;
    23         _wrapT = TW_CLAMP_TO_EDGE;
    24         _wrapS =TW_CLAMP_TO_EDGE;
     23    _target = TT_TEXTURE_3D;
     24    _wrapT = TW_CLAMP_TO_EDGE;
     25    _wrapS = TW_CLAMP_TO_EDGE;
    2526}
    2627
    2728vrTexture3D::~vrTexture3D()
    2829{
    29        
    3030}
    3131
    32 void vrTexture3D::setPixels(COLORFORMAT colorFormat, DATATYPE type, int width, int height, int depth, void* data)
     32void vrTexture3D::setPixels(COLORFORMAT colorFormat, DATATYPE type,
     33                            int width, int height, int depth, void *data)
    3334{
    34     setPixels(TT_TEXTURE_3D, colorFormat,  colorFormat, type, width, height, depth, data);
     35    setPixels(TT_TEXTURE_3D, colorFormat, colorFormat, type, width, height, depth, data);
    3536}
    3637
    37 void vrTexture3D::setPixels(TEXTARGET target,  COLORFORMAT internalColorFormat, COLORFORMAT colorFormat, DATATYPE type, int width, int height, int depth, void* data)
     38void vrTexture3D::setPixels(TEXTARGET target,
     39                            COLORFORMAT internalColorFormat,
     40                            COLORFORMAT colorFormat,
     41                            DATATYPE type,
     42                            int width, int height, int depth, void *data)
    3843{
    3944    _target = target;
    40         _width = width;
    41         _height = height;
    42         _depth = depth;
    43         _type = type;
     45    _width = width;
     46    _height = height;
     47    _depth = depth;
     48    _type = type;
    4449    _internalColorFormat = internalColorFormat;
    45         _colorFormat = colorFormat;
    46         _compCount = GetNumComponent(_colorFormat);
     50    _colorFormat = colorFormat;
     51    _compCount = GetNumComponent(_colorFormat);
    4752
    48         if (_objectID)
    49         {
    50                 glDeleteTextures(1, &_objectID);
    51         }
     53    if (_objectID) {
     54        glDeleteTextures(1, &_objectID);
     55    }
    5256
    53         //glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    54         glGenTextures(1, &_objectID);
    55         glBindTexture(_target, _objectID);
    56         glTexImage3D(_target, 0, _internalColorFormat, _width, _height, _depth, 0, _colorFormat, _type, data) ;
     57    //glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     58    glGenTextures(1, &_objectID);
     59    glBindTexture(_target, _objectID);
     60    glTexImage3D(_target, 0, _internalColorFormat, _width, _height, _depth, 0, _colorFormat, _type, data) ;
    5761    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    58         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     62    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    5963       
    60         //TBD..
    61         glTexParameterf(_target, GL_TEXTURE_WRAP_S, _wrapS);
     64    //TBD..
     65    glTexParameterf(_target, GL_TEXTURE_WRAP_S, _wrapS);
    6266    glTexParameterf(_target, GL_TEXTURE_WRAP_T, _wrapT);
    63 
    64        
    6567}
    6668
    6769void vrTexture3D::updatePixels(void* data)
    6870{
    69         glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    70         glBindTexture(_target, _objectID);
    71         glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
    72         glTexParameteri(_target, GL_TEXTURE_WRAP_T, _wrapT);
    73         glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
    74         glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
    75         glTexImage3D(_target, 0, _internalColorFormat, _width, _height, _depth, 0, _colorFormat, _type, data);
    76         /*
    77         glBindTexture(_target, _objectID);
    78         glTexSubImage3D(_target,
    79                                                 0,
    80                                                 0,
    81                                                 0,
    82                                                 0,
    83                                                 _width,
    84                                                 _height,
    85                                                 _depth,
    86                                                 _colorFormat,
    87                                                 _type,
    88                                                 data);
    89                                                 */
     71    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     72    glBindTexture(_target, _objectID);
     73    glTexParameteri(_target, GL_TEXTURE_WRAP_S, _wrapS);
     74    glTexParameteri(_target, GL_TEXTURE_WRAP_T, _wrapT);
     75    glTexParameteri(_target, GL_TEXTURE_MAG_FILTER, _magFilter);
     76    glTexParameteri(_target, GL_TEXTURE_MIN_FILTER, _minFilter);
     77    glTexImage3D(_target, 0, _internalColorFormat, _width, _height, _depth, 0, _colorFormat, _type, data);
    9078}
    91 
    92 #endif
Note: See TracChangeset for help on using the changeset viewer.