source: trunk/packages/vizservers/nanovis/NvParticleAdvectionShader.cpp @ 2218

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

Normalize line endings, set eol-style to native on *.cpp, *.h files

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1#include <R2/R2FilePath.h>
2#include <Trace.h>
3#include "NvParticleAdvectionShader.h"
4#include <global.h>
5
6NvParticleAdvectionShader::NvParticleAdvectionShader() :
7    _velocityVolumeID(0),
8    _scale(1.0f, 1.0f, 1.0f),
9    _max(1.0f),
10    _timeStep(0.005f)
11{
12    _mode = 1;
13    init();
14}
15
16NvParticleAdvectionShader::~NvParticleAdvectionShader()
17{
18}
19
20void NvParticleAdvectionShader::init()
21{
22    _cgFP = LoadCgSourceProgram(g_context, "update_pos.cg", CG_PROFILE_FP30,
23        "main");
24    _posTimestepParam  = cgGetNamedParameter(_cgFP, "timestep");
25    _maxParam          = cgGetNamedParameter(_cgFP, "max");
26    _velTexParam       = cgGetNamedParameter(_cgFP, "vel_tex");
27    _posTexParam       = cgGetNamedParameter(_cgFP, "pos_tex");
28    //_tfTexParam      = cgGetNamedParameter(_cgFP, "tf_tex");
29    _initPosTexParam   = cgGetNamedParameter(_cgFP, "init_pos_tex");
30    _scaleParam        = cgGetNamedParameter(_cgFP, "scale");
31    _modeParam         = cgGetNamedParameter(_cgFP, "mode");
32}
33
34//void NvParticleAdvectionShader::bind(unsigned int texID, unsigned int tfTexID, unsigned int initPosTexID)
35
36void
37NvParticleAdvectionShader::bind(unsigned int texID, unsigned int initPosTexID)
38{
39    cgGLBindProgram(_cgFP);
40    cgGLSetParameter1f(_posTimestepParam, _timeStep);
41    cgGLSetParameter1f(_maxParam, _max);
42    cgGLSetParameter1f(_modeParam, _mode);
43    cgGLSetParameter3f(_scaleParam, _scale.x, _scale.y, _scale.z);
44    cgGLSetTextureParameter(_velTexParam, _velocityVolumeID);
45    cgGLEnableTextureParameter(_velTexParam);
46
47    //cgGLSetTextureParameter(_tfTexParam, tfTexID);
48    //cgGLEnableTextureParameter(_tfTexParam);
49
50    cgGLSetTextureParameter(_posTexParam, texID);
51    cgGLEnableTextureParameter(_posTexParam);
52
53    cgGLSetTextureParameter(_initPosTexParam, initPosTexID);
54    cgGLEnableTextureParameter(_initPosTexParam);
55
56    cgGLEnableProfile(CG_PROFILE_FP30);
57}
Note: See TracBrowser for help on using the repository browser.