~ubuntu-branches/debian/sid/coin2/sid

« back to all changes in this revision

Viewing changes to src/shaders/SoGLSLShaderParameter.h

  • Committer: Bazaar Package Importer
  • Author(s): Steve M. Robbins
  • Date: 2008-06-28 02:38:17 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20080628023817-lgrh0u677j1gcqgf
Tags: 2.5.0-2
* debian/control: Change suggests from libopenal0 to libopenal0a.
  Closes: #488001.  Change ${Source-Version} to ${binary:Version}.
  Update to standards version 3.8.0.

* debian/rules: Do not ignore errors in clean rule.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef COIN_SOGLSLSHADERPARAMETER_H
 
2
#define COIN_SOGLSLSHADERPARAMETER_H
 
3
 
 
4
/**************************************************************************\
 
5
 *
 
6
 *  This file is part of the Coin 3D visualization library.
 
7
 *  Copyright (C) 1998-2007 by Systems in Motion.  All rights reserved.
 
8
 *
 
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.
 
14
 *
 
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.
 
19
 *
 
20
 *  See http://www.coin3d.org/ for more information.
 
21
 *
 
22
 *  Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
 
23
 *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
 
24
 *
 
25
\**************************************************************************/
 
26
 
 
27
#ifndef COIN_INTERNAL
 
28
#error this is a private header file
 
29
#endif
 
30
 
 
31
// *************************************************************************
 
32
 
 
33
#include <Inventor/SbString.h>
 
34
#include <Inventor/C/glue/glp.h>
 
35
#include <stddef.h> // NULL
 
36
#include "SoGLShaderParameter.h"
 
37
 
 
38
// *************************************************************************
 
39
 
 
40
class SoGLSLShaderParameter : public SoGLShaderParameter
 
41
{
 
42
public: // satisfy SoGLShaderParameter protocol interface
 
43
  virtual SoShader::Type shaderType(void) const;
 
44
 
 
45
  virtual void set1f(const SoGLShaderObject * shader, const float value, const char * name, const int id);
 
46
  virtual void set2f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
 
47
  virtual void set3f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
 
48
  virtual void set4f(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
 
49
 
 
50
  virtual void set1fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
 
51
  virtual void set2fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
 
52
  virtual void set3fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
 
53
  virtual void set4fv(const SoGLShaderObject * shader, const int num, const float* value, const char* name, const int id);
 
54
 
 
55
  virtual void setMatrix(const SoGLShaderObject * shader, const float * value, const char * name, const int id);
 
56
  virtual void setMatrixArray(const SoGLShaderObject * shader, const int num, const float * value, const char * name, const int id);
 
57
 
 
58
  virtual void set1i(const SoGLShaderObject * shader, const int32_t value, const char * name, const int id);
 
59
  virtual void set2i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
 
60
  virtual void set3i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
 
61
  virtual void set4i(const SoGLShaderObject * shader, const int32_t * value, const char * name, const int id);
 
62
 
 
63
  virtual void set1iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
 
64
  virtual void set2iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
 
65
  virtual void set3iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
 
66
  virtual void set4iv(const SoGLShaderObject * shader, const int num, const int32_t * value, const char * name, const int id);
 
67
 
 
68
public:
 
69
  SoGLSLShaderParameter(void);
 
70
  virtual ~SoGLSLShaderParameter();
 
71
 
 
72
private:
 
73
  GLint location;
 
74
  SbString cacheName;
 
75
  GLsizei cacheSize;
 
76
  GLenum cacheType;
 
77
  SbBool isActive;
 
78
  int32_t programid;
 
79
 
 
80
  SbBool isValid(const SoGLShaderObject * shader, const char * name,
 
81
                 GLenum type, int * num = NULL);
 
82
};
 
83
 
 
84
#endif /* ! COIN_SOGLSLSHADERPARAMETER_H */