OgreShaderParameter.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4 (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 Permission is hereby granted, free of charge, to any person obtaining a copy
9 of this software and associated documentation files (the "Software"), to deal
10 in the Software without restriction, including without limitation the rights
11 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 copies of the Software, and to permit persons to whom the Software is
13 furnished to do so, subject to the following conditions:
14 
15 The above copyright notice and this permission notice shall be included in
16 all copies or substantial portions of the Software.
17 
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 THE SOFTWARE.
25 -----------------------------------------------------------------------------
26 */
27 #ifndef _ShaderParameter_
28 #define _ShaderParameter_
29 
31 #include "OgreGpuProgram.h"
32 #include "OgreVector2.h"
33 #include "OgreVector3.h"
34 #include "OgreVector4.h"
35 #include "OgreMatrix4.h"
36 
37 namespace Ogre {
38 namespace RTShader {
39 
50 {
51 public:
52  // Shader parameter semantic.
53  enum Semantic
54  {
56  SPS_UNKNOWN = 0,
58  SPS_POSITION = 1,
60  SPS_BLEND_WEIGHTS = 2,
62  SPS_BLEND_INDICES = 3,
64  SPS_NORMAL = 4,
66  SPS_COLOR = 5,
68  SPS_TEXTURE_COORDINATES = 7,
70  SPS_BINORMAL = 8,
72  SPS_TANGENT = 9
73  };
74 
75  // Shader parameter content.
76  enum Content
77  {
80 
83 
86 
89 
92 
102 
105 
108 
111 
114 
117 
120 
123 
126 
136 
146 
156 
166 
176 
186 
196 
206 
216 
226 
236 
239 
242 
245 
248 
251 
254 
257 
260 
263 
266 
269 
272 
275 
278 
281 
284 
287 
297 
299  SPC_CUSTOM_CONTENT_BEGIN = 1000,
300  SPC_CUSTOM_CONTENT_END = 2000
301  };
302 
303 // Interface.
304 public:
307 
315  Parameter(GpuConstantType type, const String& name,
316  const Semantic& semantic, int index,
317  const Content& content, size_t size = 0);
318 
320  virtual ~Parameter() {};
321 
323  const String& getName() const { return mName; }
324 
326  GpuConstantType getType() const { return mType; }
327 
329  const Semantic& getSemantic() const { return mSemantic; }
330 
332  int getIndex() const { return mIndex; }
333 
335  Content getContent() const { return mContent; }
336 
338  virtual bool isConstParameter() const { return false; }
339 
341  virtual String toString() const { return mName; }
342 
344  bool isArray() const { return mSize > 0; }
345 
347  size_t getSize() const { return mSize; }
348 
350  void setSize(size_t size) { mSize = size; }
351 
352 // Attributes.
353 protected:
354  // Name of this parameter.
356  // Type of this parameter.
358  // Semantic of this parameter.
360  // Index of this parameter.
361  int mIndex;
362  // The content of this parameter.
364  // Number of elements in the parameter (for arrays)
365  size_t mSize;
366 
367 };
368 
371 typedef ShaderParameterList::iterator ShaderParameterIterator;
372 typedef ShaderParameterList::const_iterator ShaderParameterConstIterator;
373 
377 {
378 public:
379 
390  const Semantic& semantic, int index,
391  const Content& content,
392  uint16 variability, size_t size);
393 
399  UniformParameter(GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size);
400 
407  UniformParameter(GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size, GpuConstantType type);
408 
414  UniformParameter(GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size);
415 
422  UniformParameter(GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size, GpuConstantType type);
423 
424 
426  size_t getAutoConstantIntData() const { return mAutoConstantIntData; }
427 
429  Real getAutoConstantRealData() const { return mAutoConstantRealData; }
430 
432  bool isFloat() const;
433 
435  bool isSampler() const;
436 
438  bool isAutoConstantParameter() const { return mIsAutoConstantReal || mIsAutoConstantInt; }
439 
441  bool isAutoConstantIntParameter() const { return mIsAutoConstantInt; }
442 
444  bool isAutoConstantRealParameter() const { return mIsAutoConstantReal; }
445 
447  GpuProgramParameters::AutoConstantType getAutoConstantType () const { return mAutoConstantType; }
448 
450  uint16 getVariability() const { return mVariability; }
451 
454 
455 public:
456 
458  void setGpuParameter(int val)
459  {
460  if (mParamsPtr != NULL)
461  {
462  mParamsPtr->_writeRawConstant(mPhysicalIndex, val);
463  }
464  }
465 
468  {
469  if (mParamsPtr != NULL)
470  {
471  mParamsPtr->_writeRawConstant(mPhysicalIndex, val);
472  }
473  }
474 
476  void setGpuParameter(const ColourValue& val)
477  {
478  if (mParamsPtr != NULL)
479  {
480  mParamsPtr->_writeRawConstant(mPhysicalIndex, val);
481  }
482  }
483 
485  void setGpuParameter(const Vector2& val)
486  {
487  if (mParamsPtr != NULL)
488  {
489  mParamsPtr->_writeRawConstants(mPhysicalIndex, val.ptr(), 2);
490  }
491  }
492 
494  void setGpuParameter(const Vector3& val)
495  {
496  if (mParamsPtr != NULL)
497  {
498  mParamsPtr->_writeRawConstant(mPhysicalIndex, val);
499  }
500  }
501 
503  void setGpuParameter(const Vector4& val)
504  {
505  if (mParamsPtr != NULL)
506  {
507  mParamsPtr->_writeRawConstant(mPhysicalIndex, val);
508  }
509  }
510 
512  void setGpuParameter(const Matrix4& val)
513  {
514  if (mParamsPtr != NULL)
515  {
516  mParamsPtr->_writeRawConstant(mPhysicalIndex, val, 16);
517  }
518  }
519 
521  void setGpuParameter(const float *val, size_t count, size_t multiple = 4)
522  {
523  if (mParamsPtr != NULL)
524  {
525  mParamsPtr->_writeRawConstants(mPhysicalIndex, val, count * multiple);
526  }
527  }
528 
530  void setGpuParameter(const double *val, size_t count, size_t multiple = 4)
531  {
532  if (mParamsPtr != NULL)
533  {
534  mParamsPtr->_writeRawConstants(mPhysicalIndex, val, count * multiple);
535  }
536  }
537 
539  void setGpuParameter(const int *val, size_t count, size_t multiple = 4)
540  {
541  if (mParamsPtr != NULL)
542  {
543  mParamsPtr->_writeRawConstants(mPhysicalIndex, val, count * multiple);
544  }
545  }
546 
547 protected:
548  // Is it auto constant real based parameter.
550  // Is it auto constant int based parameter.
552  GpuProgramParameters::AutoConstantType mAutoConstantType; // The auto constant type of this parameter.
553  union
554  {
555  // Auto constant int data.
557  // Auto constant real data.
559  };
560  // How this parameter varies (bitwise combination of GpuProgramVariability).
562  // The actual GPU parameters pointer.
564  // The physical index of this parameter in the GPU program.
566 };
567 
570 typedef UniformParameterList::iterator UniformParameterIterator;
571 typedef UniformParameterList::const_iterator UniformParameterConstIterator;
572 
575 template <class valueType>
576 class ConstParameter : public Parameter
577 {
578 public:
579 
580  ConstParameter( valueType val,
581  GpuConstantType type,
582  const Semantic& semantic,
583  const Content& content)
584  : Parameter(type, "Constant", semantic, 0, content)
585  {
586  mValue = val;
587  }
588 
589  virtual ~ConstParameter () {}
590 
592  const valueType& getValue() const { return mValue; }
593 
597  virtual bool isConstParameter() const { return true; }
598 
602  virtual String toString() const = 0;
603 
604 protected:
605  valueType mValue;
606 };
607 
611 {
612 
613  // Interface.
614 public:
615 
616  static ParameterPtr createInPosition(int index);
617  static ParameterPtr createOutPosition(int index);
618 
619  static ParameterPtr createInNormal(int index);
620  static ParameterPtr createInWeights(int index);
621  static ParameterPtr createInIndices(int index);
622  static ParameterPtr createOutNormal(int index);
623  static ParameterPtr createInBiNormal(int index);
624  static ParameterPtr createOutBiNormal(int index);
625  static ParameterPtr createInTangent(int index);
626  static ParameterPtr createOutTangent(int index);
627  static ParameterPtr createInColor(int index);
628  static ParameterPtr createOutColor(int index);
629 
638  static ParameterPtr createInTexcoord4(int index, Parameter::Content content);
640 
645 
652 
653  static UniformParameterPtr createUniform(GpuConstantType type, int index, uint16 variability, const String& suggestedName, size_t size);
654 };
655 
656 
657 
661 }
662 }
663 
664 #endif
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE5
@ SPC_LIGHTDIRECTION_VIEW_SPACE5
Definition: OgreShaderParameter.h:193
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE0
@ SPC_POSITION_LIGHT_SPACE0
Position in light space index 0-7.
Definition: OgreShaderParameter.h:94
Ogre::RTShader::Parameter::SPC_TANGENT_VIEW_SPACE
@ SPC_TANGENT_VIEW_SPACE
Tangent in view space.
Definition: OgreShaderParameter.h:253
Ogre::RTShader::Parameter::getSemantic
const Semantic & getSemantic() const
Get the semantic of this parameter.
Definition: OgreShaderParameter.h:329
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE4
@ SPC_LIGHTPOSITION_WORLD_SPACE4
Definition: OgreShaderParameter.h:222
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE7
@ SPC_POSTOLIGHT_WORLD_SPACE7
Definition: OgreShaderParameter.h:145
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE0
@ SPC_POSTOLIGHT_VIEW_SPACE0
Light vector in view space index 0-7.
Definition: OgreShaderParameter.h:148
OgreVector4.h
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE3
@ SPC_POSTOLIGHT_TANGENT_SPACE3
Definition: OgreShaderParameter.h:161
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE5
@ SPC_TEXTURE_COORDINATE5
Definition: OgreShaderParameter.h:294
Ogre::RTShader::Parameter::SPC_NORMAL_TANGENT_SPACE
@ SPC_NORMAL_TANGENT_SPACE
Normal in tangent space.
Definition: OgreShaderParameter.h:113
Ogre::RTShader::Parameter::getType
GpuConstantType getType() const
Get the type of this parameter.
Definition: OgreShaderParameter.h:326
Ogre::RTShader::Parameter::SPC_POSTOCAMERA_VIEW_SPACE
@ SPC_POSTOCAMERA_VIEW_SPACE
View vector in view space.
Definition: OgreShaderParameter.h:122
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE1
@ SPC_LIGHTDIRECTION_OBJECT_SPACE1
Definition: OgreShaderParameter.h:169
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE6
@ SPC_LIGHTPOSITIONVIEW_SPACE6
Definition: OgreShaderParameter.h:234
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:59
Ogre
Definition: OgreAndroidLogListener.h:35
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE2
@ SPC_LIGHTDIRECTION_OBJECT_SPACE2
Definition: OgreShaderParameter.h:170
Ogre::RTShader::Parameter::SPC_POSITION_WORLD_SPACE
@ SPC_POSITION_WORLD_SPACE
Position in world space.
Definition: OgreShaderParameter.h:85
Ogre::RTShader::Parameter::SPC_DEPTH_VIEW_SPACE
@ SPC_DEPTH_VIEW_SPACE
Depth in view space.
Definition: OgreShaderParameter.h:283
Ogre::RTShader::ParameterFactory::createInTexcoord1
static ParameterPtr createInTexcoord1(int index, Parameter::Content content)
Ogre::RTShader::UniformParameter::isFloat
bool isFloat() const
Return true if this parameter is a floating point type, false otherwise.
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE6
@ SPC_LIGHTDIRECTION_OBJECT_SPACE6
Definition: OgreShaderParameter.h:174
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE4
@ SPC_LIGHTPOSITIONVIEW_SPACE4
Definition: OgreShaderParameter.h:232
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE7
@ SPC_POSTOLIGHT_OBJECT_SPACE7
Definition: OgreShaderParameter.h:135
Ogre::RTShader::Parameter::SPC_BLEND_WEIGHTS
@ SPC_BLEND_WEIGHTS
Blending weights.
Definition: OgreShaderParameter.h:241
Ogre::RTShader::ParameterFactory::createInColor
static ParameterPtr createInColor(int index)
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE0
@ SPC_LIGHTPOSITION_WORLD_SPACE0
Light position in world space index 0-7.
Definition: OgreShaderParameter.h:218
Ogre::RTShader::UniformParameter::getAutoConstantRealData
Real getAutoConstantRealData() const
Get auto constant real data of this parameter, in case it is auto constant parameter.
Definition: OgreShaderParameter.h:429
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE3
@ SPC_LIGHTPOSITIONVIEW_SPACE3
Definition: OgreShaderParameter.h:231
Ogre::RTShader::UniformParameter::mPhysicalIndex
size_t mPhysicalIndex
Definition: OgreShaderParameter.h:565
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const double *val, size_t count, size_t multiple=4)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:530
Ogre::RTShader::ParameterFactory::createInWeights
static ParameterPtr createInWeights(int index)
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE4
@ SPC_POSTOLIGHT_TANGENT_SPACE4
Definition: OgreShaderParameter.h:162
Ogre::RTShader::UniformParameterConstIterator
UniformParameterList::const_iterator UniformParameterConstIterator
Definition: OgreShaderParameter.h:571
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const Matrix4 &val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:512
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE2
@ SPC_POSTOLIGHT_TANGENT_SPACE2
Definition: OgreShaderParameter.h:160
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE5
@ SPC_LIGHTPOSITIONVIEW_SPACE5
Definition: OgreShaderParameter.h:233
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const int *val, size_t count, size_t multiple=4)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:539
Ogre::RTShader::ConstParameter::toString
virtual String toString() const =0
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE3
@ SPC_POSTOLIGHT_VIEW_SPACE3
Definition: OgreShaderParameter.h:151
Ogre::RTShader::UniformParameter::UniformParameter
UniformParameter(GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size)
Class constructor.
Ogre::RTShader::ParameterFactory::createInTexcoord4
static ParameterPtr createInTexcoord4(int index, Parameter::Content content)
Ogre::RTShader::ParameterFactory::createOutTexcoord
static ParameterPtr createOutTexcoord(GpuConstantType type, int index, Parameter::Content content)
Ogre::RTShader::Parameter::mType
GpuConstantType mType
Definition: OgreShaderParameter.h:357
Ogre::RTShader::ParameterFactory::createSampler3D
static UniformParameterPtr createSampler3D(int index)
Ogre::RTShader::ShaderParameterConstIterator
ShaderParameterList::const_iterator ShaderParameterConstIterator
Definition: OgreShaderParameter.h:372
Ogre::RTShader::ParameterFactory::createOutBiNormal
static ParameterPtr createOutBiNormal(int index)
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE5
@ SPC_POSTOLIGHT_WORLD_SPACE5
Definition: OgreShaderParameter.h:143
Ogre::RTShader::Parameter::SPC_COLOR_DIFFUSE
@ SPC_COLOR_DIFFUSE
Diffuse color.
Definition: OgreShaderParameter.h:271
Ogre::RTShader::ConstParameter::getValue
const valueType & getValue() const
Returns the native value of this parameter.
Definition: OgreShaderParameter.h:592
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE7
@ SPC_POSTOLIGHT_VIEW_SPACE7
Definition: OgreShaderParameter.h:155
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE0
@ SPC_TEXTURE_COORDINATE0
Texture coordinate set index 0-7.
Definition: OgreShaderParameter.h:289
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE0
@ SPC_LIGHTDIRECTION_VIEW_SPACE0
Light direction in view space index 0-7.
Definition: OgreShaderParameter.h:188
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE1
@ SPC_POSTOLIGHT_VIEW_SPACE1
Definition: OgreShaderParameter.h:149
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE7
@ SPC_LIGHTDIRECTION_VIEW_SPACE7
Definition: OgreShaderParameter.h:195
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE5
@ SPC_LIGHTDIRECTION_TANGENT_SPACE5
Definition: OgreShaderParameter.h:203
Ogre::Vector2::ptr
Real * ptr()
Pointer accessor for direct copying.
Definition: OgreVector2.h:115
Ogre::uint16
unsigned short uint16
Definition: OgrePlatform.h:360
Ogre::RTShader::ParameterFactory::createSampler2D
static UniformParameterPtr createSampler2D(int index)
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const Vector2 &val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:485
Ogre::RTShader::Parameter::~Parameter
virtual ~Parameter()
Class destructor.
Definition: OgreShaderParameter.h:320
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE3
@ SPC_POSITION_LIGHT_SPACE3
Definition: OgreShaderParameter.h:97
Ogre::RTShader::ParameterFactory::createConstParamVector3
static ParameterPtr createConstParamVector3(Vector3 val)
Ogre::RTShader::UniformParameter::isAutoConstantParameter
bool isAutoConstantParameter() const
Return true if this parameter is an auto constant parameter, false otherwise.
Definition: OgreShaderParameter.h:438
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE2
@ SPC_POSTOLIGHT_OBJECT_SPACE2
Definition: OgreShaderParameter.h:130
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE3
@ SPC_LIGHTDIRECTION_VIEW_SPACE3
Definition: OgreShaderParameter.h:191
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE2
@ SPC_POSTOLIGHT_WORLD_SPACE2
Definition: OgreShaderParameter.h:140
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE1
@ SPC_POSTOLIGHT_TANGENT_SPACE1
Definition: OgreShaderParameter.h:159
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE5
@ SPC_LIGHTDIRECTION_OBJECT_SPACE5
Definition: OgreShaderParameter.h:173
Ogre::RTShader::Parameter::SPC_BINORMAL_WORLD_SPACE
@ SPC_BINORMAL_WORLD_SPACE
Binormal in world space.
Definition: OgreShaderParameter.h:262
Ogre::RTShader::ConstParameter::~ConstParameter
virtual ~ConstParameter()
Definition: OgreShaderParameter.h:589
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE2
@ SPC_LIGHTDIRECTION_TANGENT_SPACE2
Definition: OgreShaderParameter.h:200
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE2
@ SPC_LIGHTDIRECTION_WORLD_SPACE2
Definition: OgreShaderParameter.h:180
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(int val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:458
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE0
@ SPC_LIGHTDIRECTION_WORLD_SPACE0
Light direction in world space index 0-7.
Definition: OgreShaderParameter.h:178
Ogre::RTShader::Parameter::mIndex
int mIndex
Definition: OgreShaderParameter.h:361
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const ColourValue &val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:476
Ogre::RTShader::UniformParameter::UniformParameter
UniformParameter(GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size, GpuConstantType type)
Class constructor.
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE1
@ SPC_TEXTURE_COORDINATE1
Definition: OgreShaderParameter.h:290
Ogre::RTShader::UniformParameterList
vector< UniformParameterPtr >::type UniformParameterList
Definition: OgreShaderParameter.h:569
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE0
@ SPC_LIGHTPOSITIONVIEW_SPACE0
Light position in view space index 0-7.
Definition: OgreShaderParameter.h:228
Ogre::RTShader::ParameterPtr
SharedPtr< Parameter > ParameterPtr
Definition: OgreShaderParameter.h:369
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE4
@ SPC_LIGHTDIRECTION_VIEW_SPACE4
Definition: OgreShaderParameter.h:192
Ogre::RTShader::Parameter::SPC_BINORMAL_TANGENT_SPACE
@ SPC_BINORMAL_TANGENT_SPACE
Binormal in tangent space.
Definition: OgreShaderParameter.h:268
Ogre::RTShader::Parameter::setSize
void setSize(size_t size)
Sets the number of elements in the parameter (for arrays).
Definition: OgreShaderParameter.h:350
Ogre::RTShader::UniformParameter::mAutoConstantRealData
Real mAutoConstantRealData
Definition: OgreShaderParameter.h:558
Ogre::RTShader::UniformParameter::isAutoConstantIntParameter
bool isAutoConstantIntParameter() const
Return true if this parameter an auto constant with int data type, false otherwise.
Definition: OgreShaderParameter.h:441
Ogre::RTShader::Parameter::SPC_NORMAL_WORLD_SPACE
@ SPC_NORMAL_WORLD_SPACE
Normal in world space.
Definition: OgreShaderParameter.h:107
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE4
@ SPC_POSTOLIGHT_VIEW_SPACE4
Definition: OgreShaderParameter.h:152
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE3
@ SPC_LIGHTDIRECTION_TANGENT_SPACE3
Definition: OgreShaderParameter.h:201
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE4
@ SPC_LIGHTDIRECTION_WORLD_SPACE4
Definition: OgreShaderParameter.h:182
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE2
@ SPC_TEXTURE_COORDINATE2
Definition: OgreShaderParameter.h:291
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE2
@ SPC_LIGHTPOSITIONVIEW_SPACE2
Definition: OgreShaderParameter.h:230
Ogre::RTShader::Parameter::SPC_TANGENT_TANGENT_SPACE
@ SPC_TANGENT_TANGENT_SPACE
Tangent in tangent space.
Definition: OgreShaderParameter.h:256
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(Real val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:467
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE5
@ SPC_POSTOLIGHT_TANGENT_SPACE5
Definition: OgreShaderParameter.h:163
Ogre::RTShader::ParameterFactory::createOutPosition
static ParameterPtr createOutPosition(int index)
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE6
@ SPC_LIGHTDIRECTION_WORLD_SPACE6
Definition: OgreShaderParameter.h:184
OgreShaderPrerequisites.h
Ogre::RTShader::ParameterFactory::createConstParamFloat
static ParameterPtr createConstParamFloat(float val)
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE6
@ SPC_POSTOLIGHT_OBJECT_SPACE6
Definition: OgreShaderParameter.h:134
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE2
@ SPC_POSITION_LIGHT_SPACE2
Definition: OgreShaderParameter.h:96
Ogre::RTShader::Parameter::isArray
bool isArray() const
Returns Whether this parameter is an array.
Definition: OgreShaderParameter.h:344
Ogre::RTShader::ParameterFactory::createInBiNormal
static ParameterPtr createInBiNormal(int index)
Ogre::RTShader::Parameter::SPC_POSITION_PROJECTIVE_SPACE
@ SPC_POSITION_PROJECTIVE_SPACE
Position in projective space.
Definition: OgreShaderParameter.h:91
Ogre::RTShader::Parameter::Semantic
Semantic
Definition: OgreShaderParameter.h:54
Ogre::RTShader::Parameter::SPC_TANGENT_WORLD_SPACE
@ SPC_TANGENT_WORLD_SPACE
Tangent in world space.
Definition: OgreShaderParameter.h:250
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE5
@ SPC_POSTOLIGHT_OBJECT_SPACE5
Definition: OgreShaderParameter.h:133
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE0
@ SPC_POSTOLIGHT_OBJECT_SPACE0
Light vector in object space index 0-7.
Definition: OgreShaderParameter.h:128
Ogre::RTShader::UniformParameter::mIsAutoConstantReal
bool mIsAutoConstantReal
Definition: OgreShaderParameter.h:549
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE3
@ SPC_POSTOLIGHT_OBJECT_SPACE3
Definition: OgreShaderParameter.h:131
Ogre::RTShader::Parameter::getContent
Content getContent() const
Return the content of this parameter.
Definition: OgreShaderParameter.h:335
Ogre::RTShader::ParameterFactory
Helper utility class that creates common parameters.
Definition: OgreShaderParameter.h:611
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE4
@ SPC_LIGHTDIRECTION_TANGENT_SPACE4
Definition: OgreShaderParameter.h:202
Ogre::RTShader::ShaderParameterList
vector< ParameterPtr >::type ShaderParameterList
Definition: OgreShaderParameter.h:370
Ogre::RTShader::UniformParameter::mParamsPtr
GpuProgramParameters * mParamsPtr
Definition: OgreShaderParameter.h:563
Ogre::RTShader::UniformParameter::getAutoConstantType
GpuProgramParameters::AutoConstantType getAutoConstantType() const
Return the auto constant type of this parameter.
Definition: OgreShaderParameter.h:447
Ogre::Matrix4
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: OgreMatrix4.h:79
Ogre::RTShader::ParameterFactory::createInNormal
static ParameterPtr createInNormal(int index)
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE5
@ SPC_POSITION_LIGHT_SPACE5
Definition: OgreShaderParameter.h:99
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE7
@ SPC_LIGHTDIRECTION_WORLD_SPACE7
Definition: OgreShaderParameter.h:185
Ogre::RTShader::Parameter::SPC_COLOR_SPECULAR
@ SPC_COLOR_SPECULAR
Specular color.
Definition: OgreShaderParameter.h:274
Ogre::RTShader::Parameter::getName
const String & getName() const
Get the name of this parameter.
Definition: OgreShaderParameter.h:323
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE6
@ SPC_LIGHTPOSITION_WORLD_SPACE6
Definition: OgreShaderParameter.h:224
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE4
@ SPC_LIGHTPOSITION_OBJECT_SPACE4
Definition: OgreShaderParameter.h:212
Ogre::RTShader::UniformParameterIterator
UniformParameterList::iterator UniformParameterIterator
Definition: OgreShaderParameter.h:570
Ogre::RTShader::Parameter::toString
virtual String toString() const
Returns the string representation of this parameter.
Definition: OgreShaderParameter.h:341
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE4
@ SPC_LIGHTDIRECTION_OBJECT_SPACE4
Definition: OgreShaderParameter.h:172
Ogre::RTShader::UniformParameter
Uniform parameter class.
Definition: OgreShaderParameter.h:377
Ogre::RTShader::UniformParameter::isSampler
bool isSampler() const
Return true if this parameter is a texture sampler type, false otherwise.
Ogre::RTShader::Parameter::SPC_NORMAL_VIEW_SPACE
@ SPC_NORMAL_VIEW_SPACE
Normal in view space.
Definition: OgreShaderParameter.h:110
Ogre::RTShader::Parameter::mContent
Content mContent
Definition: OgreShaderParameter.h:363
Ogre::RTShader::Parameter::getIndex
int getIndex() const
Get the index of this parameter.
Definition: OgreShaderParameter.h:332
Ogre::RTShader::UniformParameter::mIsAutoConstantInt
bool mIsAutoConstantInt
Definition: OgreShaderParameter.h:551
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE3
@ SPC_POSTOLIGHT_WORLD_SPACE3
Definition: OgreShaderParameter.h:141
Ogre::RTShader::ParameterFactory::createSampler
static UniformParameterPtr createSampler(GpuConstantType type, int index)
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE3
@ SPC_LIGHTPOSITION_WORLD_SPACE3
Definition: OgreShaderParameter.h:221
Ogre::RTShader::UniformParameter::mAutoConstantIntData
size_t mAutoConstantIntData
Definition: OgreShaderParameter.h:556
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE1
@ SPC_POSTOLIGHT_WORLD_SPACE1
Definition: OgreShaderParameter.h:139
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE6
@ SPC_TEXTURE_COORDINATE6
Definition: OgreShaderParameter.h:295
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE3
@ SPC_LIGHTPOSITION_OBJECT_SPACE3
Definition: OgreShaderParameter.h:211
Ogre::RTShader::UniformParameter::bind
void bind(GpuProgramParametersSharedPtr paramsPtr)
Bind this parameter to the corresponding GPU parameter.
Ogre::RTShader::ParameterFactory::createOutTangent
static ParameterPtr createOutTangent(int index)
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE6
@ SPC_LIGHTDIRECTION_TANGENT_SPACE6
Definition: OgreShaderParameter.h:204
Ogre::RTShader::Parameter::SPC_UNKNOWN
@ SPC_UNKNOWN
Unknown content.
Definition: OgreShaderParameter.h:79
Ogre::RTShader::ParameterFactory::createInTexcoord3
static ParameterPtr createInTexcoord3(int index, Parameter::Content content)
Ogre::RTShader::UniformParameter::mVariability
uint16 mVariability
Definition: OgreShaderParameter.h:561
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE1
@ SPC_LIGHTDIRECTION_VIEW_SPACE1
Definition: OgreShaderParameter.h:189
Ogre::GpuProgramParameters
Collects together the program parameters used for a GpuProgram.
Definition: OgreGpuProgramParams.h:703
Ogre::RTShader::Parameter::SPC_DEPTH_PROJECTIVE_SPACE
@ SPC_DEPTH_PROJECTIVE_SPACE
Depth in projective space.
Definition: OgreShaderParameter.h:286
Ogre::RTShader::UniformParameter::UniformParameter
UniformParameter(GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size, GpuConstantType type)
Class constructor.
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE1
@ SPC_POSTOLIGHT_OBJECT_SPACE1
Definition: OgreShaderParameter.h:129
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE3
@ SPC_LIGHTDIRECTION_WORLD_SPACE3
Definition: OgreShaderParameter.h:181
Ogre::RTShader::Parameter::isConstParameter
virtual bool isConstParameter() const
Returns true if this instance is a ConstParameter otherwise false.
Definition: OgreShaderParameter.h:338
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE1
@ SPC_LIGHTPOSITION_WORLD_SPACE1
Definition: OgreShaderParameter.h:219
Ogre::RTShader::ParameterFactory::createConstParamVector4
static ParameterPtr createConstParamVector4(Vector4 val)
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE5
@ SPC_LIGHTPOSITION_OBJECT_SPACE5
Definition: OgreShaderParameter.h:213
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE6
@ SPC_POSITION_LIGHT_SPACE6
Definition: OgreShaderParameter.h:100
Ogre::RTShader::Parameter::getSize
size_t getSize() const
Returns the number of elements in the parameter (for arrays).
Definition: OgreShaderParameter.h:347
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE2
@ SPC_LIGHTPOSITION_WORLD_SPACE2
Definition: OgreShaderParameter.h:220
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_OBJECT_SPACE4
@ SPC_POSTOLIGHT_OBJECT_SPACE4
Definition: OgreShaderParameter.h:132
Ogre::RTShader::Parameter::mSize
size_t mSize
Definition: OgreShaderParameter.h:365
Ogre::RTShader::UniformParameter::isAutoConstantRealParameter
bool isAutoConstantRealParameter() const
Return true if this parameter an auto constant with real data type, false otherwise.
Definition: OgreShaderParameter.h:444
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE7
@ SPC_LIGHTPOSITION_OBJECT_SPACE7
Definition: OgreShaderParameter.h:215
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE0
@ SPC_POSTOLIGHT_TANGENT_SPACE0
Light vector in tangent space index 0-7.
Definition: OgreShaderParameter.h:158
Ogre::RTShader::ParameterFactory::createSampler1D
static UniformParameterPtr createSampler1D(int index)
Ogre::RTShader::ParameterFactory::createInPosition
static ParameterPtr createInPosition(int index)
Ogre::SharedPtr< Parameter >
Ogre::RTShader::UniformParameter::getAutoConstantIntData
size_t getAutoConstantIntData() const
Get auto constant int data of this parameter, in case it is auto constant parameter.
Definition: OgreShaderParameter.h:426
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE2
@ SPC_POSTOLIGHT_VIEW_SPACE2
Definition: OgreShaderParameter.h:150
Ogre::RTShader::Parameter::Parameter
Parameter()
Ogre::RTShader::ConstParameter
Helper template which is the base for our ConstParameters.
Definition: OgreShaderParameter.h:577
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE6
@ SPC_LIGHTPOSITION_OBJECT_SPACE6
Definition: OgreShaderParameter.h:214
Ogre::GpuConstantType
GpuConstantType
Enumeration of the types of constant we may encounter in programs.
Definition: OgreGpuProgramParams.h:55
Ogre::RTShader::ParameterFactory::createSampler2DArray
static UniformParameterPtr createSampler2DArray(int index)
Ogre::RTShader::ParameterFactory::createInTexcoord
static ParameterPtr createInTexcoord(GpuConstantType type, int index, Parameter::Content content)
Ogre::RTShader::ParameterFactory::createConstParamVector2
static ParameterPtr createConstParamVector2(Vector2 val)
Ogre::RTShader::Parameter::SPC_POSTOCAMERA_OBJECT_SPACE
@ SPC_POSTOCAMERA_OBJECT_SPACE
View vector in object space.
Definition: OgreShaderParameter.h:116
Ogre::RTShader::Parameter::SPC_DEPTH_WORLD_SPACE
@ SPC_DEPTH_WORLD_SPACE
Depth in world space.
Definition: OgreShaderParameter.h:280
Ogre::RTShader::ParameterFactory::createOutTexcoord2
static ParameterPtr createOutTexcoord2(int index, Parameter::Content content)
Ogre::ColourValue
Class representing colour.
Definition: OgreColourValue.h:58
Ogre::RTShader::Parameter::SPC_BINORMAL_OBJECT_SPACE
@ SPC_BINORMAL_OBJECT_SPACE
Binormal in object space.
Definition: OgreShaderParameter.h:259
Ogre::Vector4
4-dimensional homogeneous vector.
Definition: OgreVector4.h:46
Ogre::RTShader::ConstParameter::isConstParameter
virtual bool isConstParameter() const
Definition: OgreShaderParameter.h:597
OgreMatrix4.h
Ogre::RTShader::ParameterFactory::createOutNormal
static ParameterPtr createOutNormal(int index)
OgreGpuProgram.h
Ogre::GpuProgramParameters::AutoConstantType
AutoConstantType
Defines the types of automatically updated values that may be bound to GpuProgram parameters,...
Definition: OgreGpuProgramParams.h:709
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE6
@ SPC_POSTOLIGHT_TANGENT_SPACE6
Definition: OgreShaderParameter.h:164
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const Vector4 &val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:503
Ogre::Vector2
Standard 2-dimensional vector.
Definition: OgreVector2.h:52
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE7
@ SPC_LIGHTPOSITIONVIEW_SPACE7
Definition: OgreShaderParameter.h:235
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE0
@ SPC_LIGHTDIRECTION_OBJECT_SPACE0
Light direction in object space index 0-7.
Definition: OgreShaderParameter.h:168
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_TANGENT_SPACE
@ SPC_LIGHTPOSITION_TANGENT_SPACE
Light position in tangent space index 0-7.
Definition: OgreShaderParameter.h:238
Ogre::RTShader::ParameterFactory::createOutTexcoord3
static ParameterPtr createOutTexcoord3(int index, Parameter::Content content)
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE7
@ SPC_LIGHTDIRECTION_TANGENT_SPACE7
Definition: OgreShaderParameter.h:205
Ogre::RTShader::Parameter::SPC_TANGENT_OBJECT_SPACE
@ SPC_TANGENT_OBJECT_SPACE
Tangent in object space.
Definition: OgreShaderParameter.h:247
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE6
@ SPC_POSTOLIGHT_WORLD_SPACE6
Definition: OgreShaderParameter.h:144
Ogre::RTShader::ParameterFactory::createOutTexcoord1
static ParameterPtr createOutTexcoord1(int index, Parameter::Content content)
Ogre::RTShader::ParameterFactory::createOutColor
static ParameterPtr createOutColor(int index)
Ogre::RTShader::Parameter::Parameter
Parameter(GpuConstantType type, const String &name, const Semantic &semantic, int index, const Content &content, size_t size=0)
Class constructor.
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE0
@ SPC_LIGHTDIRECTION_TANGENT_SPACE0
Light direction in tangent space index 0-7.
Definition: OgreShaderParameter.h:198
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE1
@ SPC_LIGHTDIRECTION_WORLD_SPACE1
Definition: OgreShaderParameter.h:179
Ogre::RTShader::Parameter::SPC_DEPTH_OBJECT_SPACE
@ SPC_DEPTH_OBJECT_SPACE
Depth in object space.
Definition: OgreShaderParameter.h:277
OgreVector2.h
Ogre::RTShader::ConstParameter::ConstParameter
ConstParameter(valueType val, GpuConstantType type, const Semantic &semantic, const Content &content)
Definition: OgreShaderParameter.h:580
Ogre::RTShader::UniformParameter::UniformParameter
UniformParameter(GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size)
Class constructor.
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE2
@ SPC_LIGHTPOSITION_OBJECT_SPACE2
Definition: OgreShaderParameter.h:210
Ogre::RTShader::Parameter::SPC_BLEND_INDICES
@ SPC_BLEND_INDICES
Blending indices.
Definition: OgreShaderParameter.h:244
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE6
@ SPC_POSTOLIGHT_VIEW_SPACE6
Definition: OgreShaderParameter.h:154
Ogre::RTShader::Parameter::mSemantic
Semantic mSemantic
Definition: OgreShaderParameter.h:359
Ogre::RTShader::ConstParameter::mValue
valueType mValue
Definition: OgreShaderParameter.h:605
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const float *val, size_t count, size_t multiple=4)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:521
Ogre::RTShader::Parameter::SPC_POSTOCAMERA_TANGENT_SPACE
@ SPC_POSTOCAMERA_TANGENT_SPACE
View vector in tangent space.
Definition: OgreShaderParameter.h:125
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_VIEW_SPACE5
@ SPC_POSTOLIGHT_VIEW_SPACE5
Definition: OgreShaderParameter.h:153
Ogre::RTShader::ShaderParameterIterator
ShaderParameterList::iterator ShaderParameterIterator
Definition: OgreShaderParameter.h:371
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_TANGENT_SPACE1
@ SPC_LIGHTDIRECTION_TANGENT_SPACE1
Definition: OgreShaderParameter.h:199
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE6
@ SPC_LIGHTDIRECTION_VIEW_SPACE6
Definition: OgreShaderParameter.h:194
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE4
@ SPC_TEXTURE_COORDINATE4
Definition: OgreShaderParameter.h:293
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE7
@ SPC_POSITION_LIGHT_SPACE7
Definition: OgreShaderParameter.h:101
Ogre::RTShader::Parameter
A class that represents a shader based program parameter.
Definition: OgreShaderParameter.h:50
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE3
@ SPC_LIGHTDIRECTION_OBJECT_SPACE3
Definition: OgreShaderParameter.h:171
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE4
@ SPC_POSITION_LIGHT_SPACE4
Definition: OgreShaderParameter.h:98
Ogre::RTShader::UniformParameter::getVariability
uint16 getVariability() const
Return the variability of this parameter.
Definition: OgreShaderParameter.h:450
Ogre::RTShader::ParameterFactory::createInTangent
static ParameterPtr createInTangent(int index)
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE1
@ SPC_LIGHTPOSITION_OBJECT_SPACE1
Definition: OgreShaderParameter.h:209
Ogre::RTShader::Parameter::mName
String mName
Definition: OgreShaderParameter.h:355
Ogre::RTShader::ParameterFactory::createInIndices
static ParameterPtr createInIndices(int index)
Ogre::RTShader::Parameter::SPC_NORMAL_OBJECT_SPACE
@ SPC_NORMAL_OBJECT_SPACE
Normal in object space.
Definition: OgreShaderParameter.h:104
Ogre::RTShader::Parameter::SPC_POSITION_VIEW_SPACE
@ SPC_POSITION_VIEW_SPACE
Position in view space.
Definition: OgreShaderParameter.h:88
Ogre::RTShader::Parameter::Content
Content
Definition: OgreShaderParameter.h:77
Ogre::vector
Definition: OgrePrerequisites.h:492
Ogre::RTShader::UniformParameter::setGpuParameter
void setGpuParameter(const Vector3 &val)
Update the GPU parameter with the given value.
Definition: OgreShaderParameter.h:494
Ogre::RTShader::Parameter::SPC_POSTOCAMERA_WORLD_SPACE
@ SPC_POSTOCAMERA_WORLD_SPACE
View vector in world space.
Definition: OgreShaderParameter.h:119
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE3
@ SPC_TEXTURE_COORDINATE3
Definition: OgreShaderParameter.h:292
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE7
@ SPC_LIGHTPOSITION_WORLD_SPACE7
Definition: OgreShaderParameter.h:225
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_TANGENT_SPACE7
@ SPC_POSTOLIGHT_TANGENT_SPACE7
Definition: OgreShaderParameter.h:165
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_VIEW_SPACE2
@ SPC_LIGHTDIRECTION_VIEW_SPACE2
Definition: OgreShaderParameter.h:190
OgreVector3.h
Ogre::RTShader::ParameterFactory::createOutTexcoord4
static ParameterPtr createOutTexcoord4(int index, Parameter::Content content)
Ogre::RTShader::ParameterFactory::createUniform
static UniformParameterPtr createUniform(GpuConstantType type, int index, uint16 variability, const String &suggestedName, size_t size)
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_WORLD_SPACE5
@ SPC_LIGHTPOSITION_WORLD_SPACE5
Definition: OgreShaderParameter.h:223
Ogre::Vector3
Standard 3-dimensional vector.
Definition: OgreVector3.h:52
Ogre::RTShader::UniformParameter::mAutoConstantType
GpuProgramParameters::AutoConstantType mAutoConstantType
Definition: OgreShaderParameter.h:552
Ogre::RTShader::Parameter::SPC_POSITION_OBJECT_SPACE
@ SPC_POSITION_OBJECT_SPACE
Position in object space.
Definition: OgreShaderParameter.h:82
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_WORLD_SPACE5
@ SPC_LIGHTDIRECTION_WORLD_SPACE5
Definition: OgreShaderParameter.h:183
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE4
@ SPC_POSTOLIGHT_WORLD_SPACE4
Definition: OgreShaderParameter.h:142
Ogre::RTShader::Parameter::SPC_LIGHTDIRECTION_OBJECT_SPACE7
@ SPC_LIGHTDIRECTION_OBJECT_SPACE7
Definition: OgreShaderParameter.h:175
Ogre::RTShader::UniformParameterPtr
SharedPtr< UniformParameter > UniformParameterPtr
Definition: OgreShaderParameter.h:568
Ogre::RTShader::Parameter::SPC_LIGHTPOSITIONVIEW_SPACE1
@ SPC_LIGHTPOSITIONVIEW_SPACE1
Definition: OgreShaderParameter.h:229
Ogre::RTShader::Parameter::SPC_LIGHTPOSITION_OBJECT_SPACE0
@ SPC_LIGHTPOSITION_OBJECT_SPACE0
Light position in object space index 0-7.
Definition: OgreShaderParameter.h:208
Ogre::RTShader::Parameter::SPC_POSITION_LIGHT_SPACE1
@ SPC_POSITION_LIGHT_SPACE1
Definition: OgreShaderParameter.h:95
Ogre::RTShader::ParameterFactory::createInTexcoord2
static ParameterPtr createInTexcoord2(int index, Parameter::Content content)
Ogre::RTShader::Parameter::SPC_TEXTURE_COORDINATE7
@ SPC_TEXTURE_COORDINATE7
Definition: OgreShaderParameter.h:296
Ogre::RTShader::UniformParameter::UniformParameter
UniformParameter(GpuConstantType type, const String &name, const Semantic &semantic, int index, const Content &content, uint16 variability, size_t size)
Class constructor.
Ogre::RTShader::Parameter::SPC_BINORMAL_VIEW_SPACE
@ SPC_BINORMAL_VIEW_SPACE
Binormal in view space.
Definition: OgreShaderParameter.h:265
_OgreRTSSExport
#define _OgreRTSSExport
Definition: OgreShaderPrerequisites.h:108
Ogre::RTShader::ParameterFactory::createSamplerCUBE
static UniformParameterPtr createSamplerCUBE(int index)
Ogre::RTShader::Parameter::SPC_POSTOLIGHT_WORLD_SPACE0
@ SPC_POSTOLIGHT_WORLD_SPACE0
Light vector in world space index 0-7.
Definition: OgreShaderParameter.h:138

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.