Changeset 2833


Ignore:
Timestamp:
Mar 9, 2012, 12:52:09 PM (12 years ago)
Author:
ldelgass
Message:

Formatting and fix loadVertexProgram in NvShader?

Location:
trunk/packages/vizservers/nanovis
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanovis/NvFlowVisRenderer.h

    r2832 r2833  
    33#define NVFLOWVISRENDERER_H
    44
    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>
    711
    812#include "define.h"
     
    1317#include "RenderVertexArray.h"
    1418#include "Vector3.h"
    15 
    16 #include <vector>
    17 #include <map>
    18 #include <string>
    19 
    2019#include "NvParticleAdvectionShader.h"
    2120#include "NvVectorField.h"
  • trunk/packages/vizservers/nanovis/NvShader.cpp

    r2798 r2833  
    11/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
    22#include <stdio.h>
     3
    34#include "global.h"
    45#include "NvShader.h"
     
    1112}
    1213
    13 NvShader::NvShader()
    14 
    15 : _cgVP(0), _cgFP(0)
     14NvShader::NvShader():
     15    _cgVP(0),
     16    _cgFP(0)
    1617{
    1718}
     
    2223}
    2324
    24 void NvShader::loadVertexProgram(const char* fileName, const char* entryPoint)
     25void NvShader::loadVertexProgram(const char *fileName, const char *entryPoint)
    2526{
    2627    resetPrograms();
    2728
    28     _cgFP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_VP30, entryPoint);
     29    _cgVP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_VP30, entryPoint);
    2930}
    3031
    31 void NvShader::loadFragmentProgram(const char* fileName, const char* entryPoint)
     32void NvShader::loadFragmentProgram(const char *fileName, const char *entryPoint)
    3233{
    3334    _cgFP = LoadCgSourceProgram(g_context, fileName, CG_PROFILE_FP30, entryPoint);
     
    3637void NvShader::resetPrograms()
    3738{
    38     if (_cgVP > 0)
    39     {
     39    if (_cgVP > 0) {
    4040        cgDestroyProgram(_cgVP);
    4141    }
    4242
    43     if (_cgFP > 0)
    44     {
     43    if (_cgFP > 0) {
    4544        cgDestroyProgram(_cgFP);
    4645    }
     
    5251    cgSetErrorCallback(callback);
    5352}
    54 
    55 
  • trunk/packages/vizservers/nanovis/NvShader.h

    r2798 r2833  
    11/* -*- 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
    44
    55#include <Cg/cg.h>
     
    88typedef void NvCgCallbackFunction(void);
    99
    10 class NvShader {
    11 protected :
    12     CGprogram _cgVP;
    13     CGprogram _cgFP;
     10extern CGcontext g_context;
    1411
    15 public :
     12class NvShader
     13{
     14public:
    1615    NvShader();
    1716
    18 public :
    1917    virtual ~NvShader();
    2018
    21 protected :
    22     void resetPrograms();
    23 
    24 public :
    25     static void setErrorCallback(NvCgCallbackFunction callback);
    26 public :
    2719    /**
    2820     * @brief create a Cg vertex program and load it
     
    3022     * @param entryPoint a entry point of the Cg program
    3123     */
    32     void loadVertexProgram(const char* fileName, const char* entryPoint);
     24    void loadVertexProgram(const char *fileName, const char *entryPoint);
    3325
    3426    /**
     
    3729     * @param entryPoint a entry point of the Cg program
    3830     */
    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);
    4332
    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
     63protected:
     64    CGprogram _cgVP;
     65    CGprogram _cgFP;
     66
     67    void resetPrograms();
    4668};
    4769
    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  
    33#include <stdlib.h>
    44#include <assert.h>
     5
    56#include <R2/R2FilePath.h>
    67#include <R2/R2string.h>
     8
    79#include "PointShader.h"
    810
     
    2931    cgGLSetStateMatrixParameter(_modelviewVP, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_IDENTITY);
    3032    cgGLSetStateMatrixParameter(_projectionVP, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
    31        
     33
    3234    cgGLSetParameter1f(_attenVP, 1.0f);
    3335    cgGLSetParameter4f(_posoffsetVP, 1.0f, 1.0f, 1.0f, 1.0f);
    3436    cgGLSetParameter4f(_baseposVP, 1.0f, 1.0f, 1.0f, 1.0f);
    3537    cgGLSetParameter4f(_scaleVP, 1.0f, 1.0f, 1.0f, 1.0f);
    36    
     38
    3739    //cgGLSetTextureParameter(_normalParam,_normal->getGraphicsObjectID());
    3840    //cgGLEnableTextureParameter(_normalParam);
    39    
    4041}
    4142
  • trunk/packages/vizservers/nanovis/PointShader.h

    r2822 r2833  
    11/* -*- 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
    44
    55#include "NvShader.h"
    66#include "Texture3D.h"
    77
    8 class PointShader : public NvShader {
    9         CGparameter _modelviewVP;
    10         CGparameter _projectionVP;
     8class PointShader : public NvShader
     9{
     10public:
     11    PointShader();
    1112
    12         CGparameter _attenVP;
    13         CGparameter _posoffsetVP;
    14         CGparameter _baseposVP;
    15         CGparameter _scaleVP;
    16         CGparameter _normalParam;
     13    ~PointShader();
    1714
    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    }
    2519
    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
     51protected:
     52    virtual void setParameters();
     53    virtual void resetParameters();
     54
     55private:
     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;
    3166};
    3267
    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.