source: trunk/vizservers/nanovis/PointShader.h @ 821

Last change on this file since 821 was 821, checked in by vrinside, 16 years ago

added Point rendering for volume data

File size: 807 bytes
Line 
1#ifndef __POINTSHADER_H__
2#define __POINTSHADER_H__
3
4#include "Nv.h"
5#include "NvShader.h"
6#include "Texture3D.h"
7
8class PointShader : public NvShader {
9        CGparameter _modelviewVP;
10        CGparameter _projectionVP;
11
12        CGparameter _attenVP;
13        CGparameter _posoffsetVP;
14        CGparameter _baseposVP;
15        CGparameter _scaleVP;
16        CGparameter _normalParam;
17
18        Texture3D* _normal;
19public :
20        PointShader();
21        ~PointShader();
22protected :
23        virtual void setParameters();
24        virtual void resetParameters();
25
26public :
27        void setScale(float scale);
28        void setNormalTexture(Texture3D* n);
29};
30
31inline void PointShader::setNormalTexture(Texture3D* n)
32{
33        _normal = n;
34}
35
36inline void PointShader::setScale(float scale)
37{
38        cgGLSetParameter4f(_scaleVP, scale, 1.0f, 1.0f, 1.0f);
39}
40
41#endif // __POINTSHADER_H__
Note: See TracBrowser for help on using the repository browser.