Changeset 2833 for trunk/packages/vizservers
- Timestamp:
- Mar 9, 2012, 12:52:09 PM (13 years ago)
- Location:
- trunk/packages/vizservers/nanovis
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/NvFlowVisRenderer.h
r2832 r2833 3 3 #define NVFLOWVISRENDERER_H 4 4 5 #include "GL/glew.h" 6 #include "Cg/cgGL.h" 5 #include <vector> 6 #include <map> 7 #include <string> 8 9 #include <GL/glew.h> 10 #include <Cg/cgGL.h> 7 11 8 12 #include "define.h" … … 13 17 #include "RenderVertexArray.h" 14 18 #include "Vector3.h" 15 16 #include <vector>17 #include <map>18 #include <string>19 20 19 #include "NvParticleAdvectionShader.h" 21 20 #include "NvVectorField.h" -
trunk/packages/vizservers/nanovis/NvShader.cpp
r2798 r2833 1 1 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2 2 #include <stdio.h> 3 3 4 #include "global.h" 4 5 #include "NvShader.h" … … 11 12 } 12 13 13 NvShader::NvShader() 14 15 : _cgVP(0),_cgFP(0)14 NvShader::NvShader(): 15 _cgVP(0), 16 _cgFP(0) 16 17 { 17 18 } … … 22 23 } 23 24 24 void NvShader::loadVertexProgram(const char * fileName, const char*entryPoint)25 void NvShader::loadVertexProgram(const char *fileName, const char *entryPoint) 25 26 { 26 27 resetPrograms(); 27 28 28 _cg FP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_VP30, entryPoint);29 _cgVP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_VP30, entryPoint); 29 30 } 30 31 31 void NvShader::loadFragmentProgram(const char * fileName, const char*entryPoint)32 void NvShader::loadFragmentProgram(const char *fileName, const char *entryPoint) 32 33 { 33 34 _cgFP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_FP30, entryPoint); … … 36 37 void NvShader::resetPrograms() 37 38 { 38 if (_cgVP > 0) 39 { 39 if (_cgVP > 0) { 40 40 cgDestroyProgram(_cgVP); 41 41 } 42 42 43 if (_cgFP > 0) 44 { 43 if (_cgFP > 0) { 45 44 cgDestroyProgram(_cgFP); 46 45 } … … 52 51 cgSetErrorCallback(callback); 53 52 } 54 55 -
trunk/packages/vizservers/nanovis/NvShader.h
r2798 r2833 1 1 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2 #ifndef __NV_SHADER_H__3 #define __NV_SHADER_H__2 #ifndef NV_SHADER_H 3 #define NV_SHADER_H 4 4 5 5 #include <Cg/cg.h> … … 8 8 typedef void NvCgCallbackFunction(void); 9 9 10 class NvShader { 11 protected : 12 CGprogram _cgVP; 13 CGprogram _cgFP; 10 extern CGcontext g_context; 14 11 15 public : 12 class NvShader 13 { 14 public: 16 15 NvShader(); 17 16 18 public :19 17 virtual ~NvShader(); 20 18 21 protected :22 void resetPrograms();23 24 public :25 static void setErrorCallback(NvCgCallbackFunction callback);26 public :27 19 /** 28 20 * @brief create a Cg vertex program and load it … … 30 22 * @param entryPoint a entry point of the Cg program 31 23 */ 32 void loadVertexProgram(const char * fileName, const char*entryPoint);24 void loadVertexProgram(const char *fileName, const char *entryPoint); 33 25 34 26 /** … … 37 29 * @param entryPoint a entry point of the Cg program 38 30 */ 39 void loadFragmentProgram(const char* fileName, const char* entryPoint); 40 41 CGparameter getNamedParameterFromFP(const char* paramName); 42 CGparameter getNamedParameterFromVP(const char* paramName); 31 void loadFragmentProgram(const char *fileName, const char *entryPoint); 43 32 44 CGprogram getVP() const; 45 CGprogram getFP() const; 33 CGparameter getNamedParameterFromFP(const char *paramName) 34 { 35 if (_cgFP) { 36 return cgGetNamedParameter(_cgFP, paramName); 37 } 38 39 return 0; 40 } 41 42 CGparameter getNamedParameterFromVP(const char *paramName) 43 { 44 if (_cgVP) { 45 return cgGetNamedParameter(_cgVP, paramName); 46 } 47 48 return 0; 49 } 50 51 CGprogram getVP() const 52 { 53 return _cgVP; 54 } 55 56 CGprogram getFP() const 57 { 58 return _cgFP; 59 } 60 61 static void setErrorCallback(NvCgCallbackFunction callback); 62 63 protected: 64 CGprogram _cgVP; 65 CGprogram _cgFP; 66 67 void resetPrograms(); 46 68 }; 47 69 48 extern CGcontext g_context; 49 50 inline CGparameter NvShader::getNamedParameterFromFP(const char* paramName) 51 { 52 if (_cgFP) 53 { 54 return cgGetNamedParameter(_cgFP, paramName); 55 } 56 57 return 0; 58 } 59 60 inline CGparameter NvShader::getNamedParameterFromVP(const char* paramName) 61 { 62 if (_cgVP) 63 { 64 return cgGetNamedParameter(_cgVP, paramName); 65 } 66 67 return 0; 68 } 69 70 inline CGprogram NvShader::getVP() const 71 { 72 return _cgVP; 73 } 74 75 inline CGprogram NvShader::getFP() const 76 { 77 return _cgFP; 78 } 79 80 #endif // 81 70 #endif -
trunk/packages/vizservers/nanovis/PointShader.cpp
r2798 r2833 3 3 #include <stdlib.h> 4 4 #include <assert.h> 5 5 6 #include <R2/R2FilePath.h> 6 7 #include <R2/R2string.h> 8 7 9 #include "PointShader.h" 8 10 … … 29 31 cgGLSetStateMatrixParameter(_modelviewVP, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_IDENTITY); 30 32 cgGLSetStateMatrixParameter(_projectionVP, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY); 31 33 32 34 cgGLSetParameter1f(_attenVP, 1.0f); 33 35 cgGLSetParameter4f(_posoffsetVP, 1.0f, 1.0f, 1.0f, 1.0f); 34 36 cgGLSetParameter4f(_baseposVP, 1.0f, 1.0f, 1.0f, 1.0f); 35 37 cgGLSetParameter4f(_scaleVP, 1.0f, 1.0f, 1.0f, 1.0f); 36 38 37 39 //cgGLSetTextureParameter(_normalParam,_normal->getGraphicsObjectID()); 38 40 //cgGLEnableTextureParameter(_normalParam); 39 40 41 } 41 42 -
trunk/packages/vizservers/nanovis/PointShader.h
r2822 r2833 1 1 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2 #ifndef __POINTSHADER_H__3 #define __POINTSHADER_H__2 #ifndef POINTSHADER_H 3 #define POINTSHADER_H 4 4 5 5 #include "NvShader.h" 6 6 #include "Texture3D.h" 7 7 8 class PointShader : public NvShader { 9 CGparameter _modelviewVP; 10 CGparameter _projectionVP; 8 class PointShader : public NvShader 9 { 10 public: 11 PointShader(); 11 12 12 CGparameter _attenVP; 13 CGparameter _posoffsetVP; 14 CGparameter _baseposVP; 15 CGparameter _scaleVP; 16 CGparameter _normalParam; 13 ~PointShader(); 17 14 18 Texture3D* _normal; 19 public : 20 PointShader(); 21 ~PointShader(); 22 protected : 23 virtual void setParameters(); 24 virtual void resetParameters(); 15 void setScale(float scale) 16 { 17 cgGLSetParameter4f(_scaleVP, scale, 1.0f, 1.0f, 1.0f); 18 } 25 19 26 public : 27 void setScale(float scale); 28 void setNormalTexture(Texture3D* n); 29 void bind(); 30 void unbind(); 20 void setNormalTexture(Texture3D *n) 21 { 22 _normal = n; 23 } 24 25 void bind() 26 { 27 setParameters(); 28 29 if (_cgVP) { 30 cgGLBindProgram(_cgVP); 31 cgGLEnableProfile((CGprofile) CG_PROFILE_VP30); 32 } 33 if (_cgFP) { 34 cgGLBindProgram(_cgFP); 35 cgGLEnableProfile((CGprofile) CG_PROFILE_FP30); 36 } 37 } 38 39 void unbind() 40 { 41 if (_cgVP) { 42 cgGLDisableProfile((CGprofile)CG_PROFILE_VP30); 43 } 44 if (_cgFP) { 45 cgGLDisableProfile((CGprofile)CG_PROFILE_FP30); 46 } 47 48 resetParameters(); 49 } 50 51 protected: 52 virtual void setParameters(); 53 virtual void resetParameters(); 54 55 private: 56 CGparameter _modelviewVP; 57 CGparameter _projectionVP; 58 59 CGparameter _attenVP; 60 CGparameter _posoffsetVP; 61 CGparameter _baseposVP; 62 CGparameter _scaleVP; 63 CGparameter _normalParam; 64 65 Texture3D *_normal; 31 66 }; 32 67 33 inline void PointShader::setNormalTexture(Texture3D* n) 34 { 35 _normal = n; 36 } 37 38 inline void PointShader::setScale(float scale) 39 { 40 cgGLSetParameter4f(_scaleVP, scale, 1.0f, 1.0f, 1.0f); 41 } 42 43 inline void PointShader::bind() 44 { 45 setParameters(); 46 47 if (_cgVP) 48 { 49 cgGLBindProgram(_cgVP); 50 cgGLEnableProfile((CGprofile) CG_PROFILE_VP30); 51 } 52 if (_cgFP) 53 { 54 cgGLBindProgram(_cgFP); 55 cgGLEnableProfile((CGprofile) CG_PROFILE_FP30); 56 } 57 } 58 59 inline void PointShader::unbind() 60 { 61 if (_cgVP) 62 { 63 cgGLDisableProfile((CGprofile)CG_PROFILE_VP30 ); 64 } 65 66 if (_cgFP) 67 { 68 cgGLDisableProfile((CGprofile)CG_PROFILE_FP30 ); 69 } 70 71 resetParameters(); 72 } 73 74 #endif // __POINTSHADER_H__ 68 #endif
Note: See TracChangeset
for help on using the changeset viewer.