source: trunk/packages/vizservers/nanovis/PointShader.cpp @ 2953

Last change on this file since 2953 was 2953, checked in by ldelgass, 12 years ago

Remove unused global origin, make default transfer function a bit more
sensible (used to have full opacity at 0). Fix HeightMap? dtor to use delete[]
instead of free() on array allocated with new[]. Document data response in
protocol.

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
3#include <GL/glew.h>
4#include <Cg/cgGL.h>
5
6#include "PointShader.h"
7
8PointShader::PointShader() :
9    NvShader(),
10    _scale(1.0f),
11    _normal(NULL)
12{
13    loadVertexProgram("pointsvp.cg", "main");
14    _modelviewVP  = getNamedParameterFromVP("modelview");
15    _projectionVP = getNamedParameterFromVP("projection");
16    _attenVP      = getNamedParameterFromVP("atten");
17    _posoffsetVP  = getNamedParameterFromVP("posoffset");
18    _baseposVP    = getNamedParameterFromVP("basepos");
19    _scaleVP      = getNamedParameterFromVP("scale");
20    _normalParam  = getNamedParameterFromVP("normal");
21}
22
23PointShader::~PointShader()
24{
25}
26
27void PointShader::bind()
28{
29    cgGLSetStateMatrixParameter(_modelviewVP, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_IDENTITY);
30    cgGLSetStateMatrixParameter(_projectionVP, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
31
32    cgGLSetParameter1f(_attenVP, 1.0f);
33    cgGLSetParameter4f(_posoffsetVP, 1.0f, 1.0f, 1.0f, 1.0f);
34    cgGLSetParameter4f(_baseposVP, 1.0f, 1.0f, 1.0f, 1.0f);
35    cgGLSetParameter4f(_scaleVP, _scale, 1.0f, 1.0f, 1.0f);
36
37    //cgGLSetTextureParameter(_normalParam, _normal->getGraphicsObjectID());
38    //cgGLEnableTextureParameter(_normalParam);
39
40    NvShader::bind();
41}
42
43void PointShader::unbind()
44{
45    //cgGLDisableTextureParameter(_normalParam);
46
47    NvShader::unbind();
48}
Note: See TracBrowser for help on using the repository browser.