source: trunk/packages/vizservers/nanovis/NvColorTableShader.cpp @ 2914

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

Start converting shader subclasses to use NvShader::bind/unbind, loader methods

  • Property svn:eol-style set to native
File size: 1.0 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#include <R2/R2FilePath.h>
3
4#include <GL/glew.h>
5#include <Cg/cgGL.h>
6
7#include "NvColorTableShader.h"
8#include "Trace.h"
9
10NvColorTableShader::NvColorTableShader()
11{
12    init();
13}
14
15NvColorTableShader::~NvColorTableShader()
16{
17}
18
19void NvColorTableShader::init()
20{
21    loadFragmentProgram("one_plane.cg", "main");
22    _dataParam = getNamedParameterFromFP("data");
23    _tfParam = getNamedParameterFromFP("tf");
24    _renderParam = getNamedParameterFromFP("render_param");
25}
26
27void NvColorTableShader::bind(Texture2D *plane, TransferFunction *tf)
28{
29    cgGLSetTextureParameter(_dataParam, plane->id());
30    cgGLSetTextureParameter(_tfParam, tf->id());
31    cgGLEnableTextureParameter(_dataParam);
32    cgGLEnableTextureParameter(_tfParam);
33    cgGLSetParameter4f(_renderParam, 0., 0., 0., 0.);
34
35    NvShader::bind();
36}
37
38void NvColorTableShader::unbind()
39{
40    cgGLDisableTextureParameter(_dataParam);
41    cgGLDisableTextureParameter(_tfParam);
42
43    NvShader::unbind();
44}
Note: See TracBrowser for help on using the repository browser.