2
* Copyright 2010 Inalogic Inc.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3, as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranties of
10
* MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11
* PURPOSE. See the applicable version of the GNU Lesser General Public
12
* License for more details.
14
* You should have received a copy of both the GNU Lesser General Public
15
* License version 3 along with this program. If not, see
16
* <http://www.gnu.org/licenses/>
18
* Authored by: Jay Taoko <jay.taoko_AT_gmail_DOT_com>
23
#ifndef IOPENGLVERTEXDECLARATION_H
24
#define IOPENGLVERTEXDECLARATION_H
29
class IOpenGLResource;
30
class IOpenGLVertexDeclaration: public IOpenGLResource
32
NUX_DECLARE_OBJECT_TYPE (IOpenGLVertexDeclaration, IOpenGLResource);
35
virtual ~IOpenGLVertexDeclaration();
39
unsigned int *pNumElements);
41
VERTEXELEMENT GetUsage (ATTRIB_USAGE_DECL usage);
42
bool IsUsingMoreThanStreamZero();
45
IOpenGLVertexDeclaration (const VERTEXELEMENT *pVertexElements);
47
int Stride[8]; // Stride for each stream
48
int ValideVertexInput[16]; // Vertex Input valid for this vertex declaration
49
std::vector<VERTEXELEMENT *> _DeclarationsArray;
50
friend class GpuDevice;
55
#endif // IOPENGLVERTEXDECLARATION_H
b'\\ No newline at end of file'