source: trunk/packages/vizservers/nanovis/Texture3D.h @ 2825

Last change on this file since 2825 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: 1.2 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * ----------------------------------------------------------------------
4 * texture3d.h: 3d texture class
5 *
6 * ======================================================================
7 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
8 *           Purdue Rendering and Perceptualization Lab (PURPL)
9 *
10 *  Copyright (c) 2004-2006  Purdue Research Foundation
11 *
12 *  See the file "license.terms" for information on usage and
13 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 * ======================================================================
15 */
16#ifndef _TEXTURE_3D_H_
17#define _TEXTURE_3D_H_
18
19#include <GL/glew.h>
20#include "config.h"
21
22class Texture3D{
23       
24
25public:
26        int width;
27        int height;
28        int depth;
29
30        double aspect_ratio_width;
31        double aspect_ratio_height;
32        double aspect_ratio_depth;
33
34        GLuint type;
35        GLuint interp_type;
36        int n_components;
37        bool gl_resource_allocated;
38
39        GLuint id;
40        GLuint tex_unit;
41
42        Texture3D();
43        Texture3D(int width, int height, int depth, GLuint type, GLuint interp, int n);
44        ~Texture3D();
45       
46        void activate();
47        void deactivate();
48        GLuint initialize(float* data);
49        static void check_max_size();
50        static void check_max_unit();
51
52    void update(float* data);
53
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.