source: trunk/packages/vizservers/nanovis/NvStdVertexShader.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: 887 bytes
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2#include <stdio.h>
3
4#include <GL/glew.h>
5#include <Cg/cgGL.h>
6
7#include "NvStdVertexShader.h"
8
9NvStdVertexShader::NvStdVertexShader()
10{
11    init();
12}
13
14NvStdVertexShader::~NvStdVertexShader()
15{
16}
17
18void NvStdVertexShader::init()
19{
20    loadVertexProgram("vertex_std.cg", "main");
21    _mvp_vert_std_param = cgGetNamedParameter(_cgVP, "modelViewProjMatrix");
22    _mvi_vert_std_param = cgGetNamedParameter(_cgVP, "modelViewInv");
23}
24
25void NvStdVertexShader::bind()
26{
27    cgGLSetStateMatrixParameter(_mvp_vert_std_param, CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
28    cgGLSetStateMatrixParameter(_mvi_vert_std_param, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_INVERSE);
29    cgGLBindProgram(_cgVP);
30    cgGLEnableProfile(CG_PROFILE_VP30);
31}
32
33void NvStdVertexShader::unbind()
34{
35    cgGLDisableProfile(CG_PROFILE_VP30);
36}
Note: See TracBrowser for help on using the repository browser.