1
#ifndef COIN_SOGLARBSHADERPARAMETER_H
2
#define COIN_SOGLARBSHADERPARAMETER_H
4
/**************************************************************************\
6
* This file is part of the Coin 3D visualization library.
7
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
9
* This library is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License
11
* ("GPL") version 2 as published by the Free Software Foundation.
12
* See the file LICENSE.GPL at the root directory of this source
13
* distribution for additional information about the GNU GPL.
15
* For using Coin with software that can not be combined with the GNU
16
* GPL, and for taking advantage of the additional benefits of our
17
* support services, please contact Systems in Motion about acquiring
18
* a Coin Professional Edition License.
20
* See http://www.coin3d.org/ for more information.
22
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
25
\**************************************************************************/
28
#error this is a private header file
31
// *************************************************************************
33
#include "SoGLShaderParameter.h"
35
// *************************************************************************
37
class SoGLARBShaderParameter : public SoGLShaderParameter
39
public: // satisfy SoGLShaderParameter protocol interface
40
virtual SoShader::Type shaderType(void) const;
42
virtual void set1f(const SoGLShaderObject * shader, const float value, const char * name, const int id);
43
virtual void set2f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
44
virtual void set3f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
45
virtual void set4f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
47
virtual void set1fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
48
virtual void set2fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
49
virtual void set3fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
50
virtual void set4fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
52
virtual void setMatrix(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
53
virtual void setMatrixArray(const SoGLShaderObject * shader, const int num, const float * value, const char * name, const int id);
55
virtual void set1i(const SoGLShaderObject * shader, const int32_t value, const char * name, const int id);
56
virtual void set2i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
57
virtual void set3i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
58
virtual void set4i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
60
virtual void set1iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
61
virtual void set2iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
62
virtual void set3iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
63
virtual void set4iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
66
SoGLARBShaderParameter(void);
67
virtual ~SoGLARBShaderParameter();
73
SbBool isValid(const SoGLShaderObject * shader, const int idx);
76
#endif /* ! COIN_SOGLARBSHADERPARAMETER_H */