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

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

remove global.h header. Move global Cg context handle into NvShader? as a
static member. Move LoadCgSourceProgram? to NvShader?.cpp, but make shader
classes use the methods NvShader::loadVertex/FragmentProgram instead.
There are still some users of LoadCgSourceProgram? left that need the context
handle.

  • 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#include <stdio.h>
3#include <stdlib.h>
4#include <assert.h>
5
6#include <R2/R2FilePath.h>
7#include <R2/R2string.h>
8
9#include "PointShader.h"
10
11PointShader::PointShader() :
12    NvShader(),
13    _normal(NULL)
14{
15    loadVertexProgram("pointsvp.cg", "main");
16    _modelviewVP  = getNamedParameterFromVP("modelview");
17    _projectionVP = getNamedParameterFromVP("projection");
18    _attenVP      = getNamedParameterFromVP("atten");
19    _posoffsetVP  = getNamedParameterFromVP("posoffset");
20    _baseposVP    = getNamedParameterFromVP("basepos");
21    _scaleVP      = getNamedParameterFromVP("scale");
22    _normalParam  = getNamedParameterFromVP("normal");
23}
24
25PointShader::~PointShader()
26{
27}
28
29void PointShader::setParameters()
30{
31    cgGLSetStateMatrixParameter(_modelviewVP, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_IDENTITY);
32    cgGLSetStateMatrixParameter(_projectionVP, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
33
34    cgGLSetParameter1f(_attenVP, 1.0f);
35    cgGLSetParameter4f(_posoffsetVP, 1.0f, 1.0f, 1.0f, 1.0f);
36    cgGLSetParameter4f(_baseposVP, 1.0f, 1.0f, 1.0f, 1.0f);
37    cgGLSetParameter4f(_scaleVP, 1.0f, 1.0f, 1.0f, 1.0f);
38
39    //cgGLSetTextureParameter(_normalParam,_normal->getGraphicsObjectID());
40    //cgGLEnableTextureParameter(_normalParam);
41}
42
43void PointShader::resetParameters()
44{
45    //cgGLDisableTextureParameter(_normalParam);
46}
Note: See TracBrowser for help on using the repository browser.