~ubuntu-branches/ubuntu/oneiric/nux/oneiric

« back to all changes in this revision

Viewing changes to NuxGraphics/IOpenGLVertexDeclaration.h

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-11-18 19:17:32 UTC
  • Revision ID: james.westby@ubuntu.com-20101118191732-rn35790vekj6o4my
Tags: upstream-0.9.4
ImportĀ upstreamĀ versionĀ 0.9.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2010 Inalogic Inc.
 
3
 *
 
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.
 
7
 *
 
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.
 
13
 *
 
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/>
 
17
 *
 
18
 * Authored by: Jay Taoko <jay.taoko_AT_gmail_DOT_com>
 
19
 *
 
20
 */
 
21
 
 
22
 
 
23
#ifndef IOPENGLVERTEXDECLARATION_H
 
24
#define IOPENGLVERTEXDECLARATION_H
 
25
 
 
26
namespace nux
 
27
{
 
28
 
 
29
  class IOpenGLResource;
 
30
  class IOpenGLVertexDeclaration: public IOpenGLResource
 
31
  {
 
32
    NUX_DECLARE_OBJECT_TYPE (IOpenGLVertexDeclaration, IOpenGLResource);
 
33
 
 
34
  public:
 
35
    virtual ~IOpenGLVertexDeclaration();
 
36
 
 
37
    int GetDeclaration (
 
38
      VERTEXELEMENT *pDecl,
 
39
      unsigned int *pNumElements);
 
40
 
 
41
    VERTEXELEMENT GetUsage (ATTRIB_USAGE_DECL usage);
 
42
    bool IsUsingMoreThanStreamZero();
 
43
 
 
44
  private:
 
45
    IOpenGLVertexDeclaration (const VERTEXELEMENT *pVertexElements);
 
46
 
 
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;
 
51
  };
 
52
 
 
53
}
 
54
 
 
55
#endif // IOPENGLVERTEXDECLARATION_H
 
 
b'\\ No newline at end of file'