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

Last change on this file since 2798 was 2798, checked in by ldelgass, 13 years ago

Add emacs mode magic line in preparation for indentation cleanup

  • Property svn:eol-style set to native
File size: 2.6 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#pragma once
3
4#include <vr3d/vrEnums.h>
5#include <vr3d/vrTexture.h>
6
7class 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;
34public :
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);
85
86    /**
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);
95
96    /**
97         * @brief set texture data (NV)
98     * @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);
105
106        /**
107         * @brief update pixel data
108         * @param data pixel data
109         */
110        virtual void updatePixels(void* data);
111};
112
113inline int vrTexture2D::getWidth() const
114{
115        return _width;
116}
117
118inline int vrTexture2D::getHeight() const
119{
120        return _height;
121}
122
123inline void vrTexture2D::setWrapS(TEXWRAP wrap)
124{
125        _wrapS = wrap;
126}
127
128inline void vrTexture2D::setWrapT(TEXWRAP wrap)
129{
130        _wrapT = wrap;
131}
132
133inline TEXWRAP vrTexture2D::getWrapS() const
134{
135        return _wrapS;
136}
137
138inline TEXWRAP vrTexture2D::getWrapT() const
139{
140        return _wrapT;
141}
Note: See TracBrowser for help on using the repository browser.