source: trunk/packages/vizservers/nanovis/vr3d/include/vr3d/vrTexture2D.h @ 2824

Last change on this file since 2824 was 2824, checked in by ldelgass, 12 years ago

Remove cruft from vr3d lib

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#ifndef VRTEXTURE2D_H
3#define VRTEXTURE2D_H
4
5#include <vr3d/vrEnums.h>
6#include <vr3d/vrTexture.h>
7
8class Vr3DExport vrTexture2D : public vrTexture
9{
10    /**
11     * @brief Two-dimensional texture width.
12     * @brief Default value is 0
13     */
14    int _width;
15
16    /**
17     * @brief Two-dimensional texture height.
18     * @brief Default value is 0
19     */
20    int _height;
21
22    /**
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)
101     * @param internalFormat internal colorformat
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);
109
110    /**
111     * @brief update pixel data
112     * @param data pixel data
113     */
114    virtual void updatePixels(void *data);
115};
116
117inline int vrTexture2D::getWidth() const
118{
119    return _width;
120}
121
122inline int vrTexture2D::getHeight() const
123{
124    return _height;
125}
126
127inline void vrTexture2D::setWrapS(TEXWRAP wrap)
128{
129    _wrapS = wrap;
130}
131
132inline void vrTexture2D::setWrapT(TEXWRAP wrap)
133{
134    _wrapT = wrap;
135}
136
137inline TEXWRAP vrTexture2D::getWrapS() const
138{
139    return _wrapS;
140}
141
142inline TEXWRAP vrTexture2D::getWrapT() const
143{
144    return _wrapT;
145}
146
147#endif
Note: See TracBrowser for help on using the repository browser.